OSDN Git Service

libx264: handle closed GOP codec flag
authorJindrich Makovicka <jindrich.makovicka@nangu.tv>
Tue, 10 May 2011 13:11:45 +0000 (15:11 +0200)
committerAnton Khirnov <anton@khirnov.net>
Tue, 17 May 2011 21:01:42 +0000 (23:01 +0200)
Also update libx264 presets to keep closed gop as default.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
28 files changed:
configure
ffpresets/libx264-fast.ffpreset
ffpresets/libx264-fast_firstpass.ffpreset
ffpresets/libx264-faster.ffpreset
ffpresets/libx264-faster_firstpass.ffpreset
ffpresets/libx264-lossless_fast.ffpreset
ffpresets/libx264-lossless_max.ffpreset
ffpresets/libx264-lossless_medium.ffpreset
ffpresets/libx264-lossless_slow.ffpreset
ffpresets/libx264-lossless_slower.ffpreset
ffpresets/libx264-lossless_ultrafast.ffpreset
ffpresets/libx264-medium.ffpreset
ffpresets/libx264-medium_firstpass.ffpreset
ffpresets/libx264-placebo.ffpreset
ffpresets/libx264-placebo_firstpass.ffpreset
ffpresets/libx264-slow.ffpreset
ffpresets/libx264-slow_firstpass.ffpreset
ffpresets/libx264-slower.ffpreset
ffpresets/libx264-slower_firstpass.ffpreset
ffpresets/libx264-superfast.ffpreset
ffpresets/libx264-superfast_firstpass.ffpreset
ffpresets/libx264-ultrafast.ffpreset
ffpresets/libx264-ultrafast_firstpass.ffpreset
ffpresets/libx264-veryfast.ffpreset
ffpresets/libx264-veryfast_firstpass.ffpreset
ffpresets/libx264-veryslow.ffpreset
ffpresets/libx264-veryslow_firstpass.ffpreset
libavcodec/libx264.c

index d6a5d69..5b81e0b 100755 (executable)
--- a/configure
+++ b/configure
@@ -2891,8 +2891,8 @@ enabled libvpx     && {
     enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx ||
                                 die "ERROR: libvpx encoder version must be >=0.9.1"; } }
 enabled libx264    && require  libx264 x264.h x264_encoder_encode -lx264 &&
-                      { check_cpp_condition x264.h "X264_BUILD >= 99" ||
-                        die "ERROR: libx264 version must be >= 0.99."; }
+                      { check_cpp_condition x264.h "X264_BUILD >= 115" ||
+                        die "ERROR: libx264 version must be >= 0.115."; }
 enabled libxavs    && require  libxavs xavs.h xavs_encoder_encode -lxavs
 enabled libxvid    && require  libxvid xvid.h xvid_global -lxvidcore
 enabled mlib       && require  mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
index 0fc1f22..6520133 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partb8x8
 me_method=hex
index cdcbbbf..6fdb4b9 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index 3156cd8..52efc1a 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partb8x8
 me_method=hex
index 9bcf18a..41a87fb 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index b7696b5..49b9ed1 100644 (file)
@@ -1,5 +1,5 @@
 coder=0
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8+parti4x4+partp8x8-partp4x4-partb8x8
 me_method=hex
index 75c387f..f32d7b4 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
 me_method=esa
index 116e334..0b84612 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
 me_method=hex
index 0d496f6..857d3d1 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
 me_method=umh
index 672e0cd..ef0609f 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
 me_method=umh
index a2eda65..4cc84f1 100644 (file)
@@ -1,5 +1,5 @@
 coder=0
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partp4x4-partb8x8
 me_method=dia
index 3c90ec5..6859952 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partb8x8
 me_method=hex
index 2ad0a9c..ca304ee 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index 9f4719f..7923a76 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
 me_method=tesa
index 9f4719f..7923a76 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
 me_method=tesa
index dabe0ae..fcbef4b 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partb8x8
 me_method=umh
index 4af64db..74f87b0 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index 239ee68..741d21f 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
 me_method=umh
index 4b5b420..0be886a 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index fb2ab8c..7f0f50b 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4-partp8x8-partb8x8
 me_method=dia
index 55ff9a2..87b4f29 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index 28dc0eb..561191e 100644 (file)
@@ -1,5 +1,5 @@
 coder=0
-flags=-loop
+flags=-loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index 28dc0eb..561191e 100644 (file)
@@ -1,5 +1,5 @@
 coder=0
-flags=-loop
+flags=-loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index bfa3d8f..d8c7f7a 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partb8x8
 me_method=hex
index ac2332d..7b2a1e9 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index e07aeb8..8233365 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
 me_method=umh
index e17c04b..2bbf473 100644 (file)
@@ -1,5 +1,5 @@
 coder=1
-flags=+loop
+flags=+loop+cgop
 cmp=+chroma
 partitions=-parti8x8-parti4x4-partp8x8-partb8x8
 me_method=dia
index bf5cbc5..e5fac00 100644 (file)
@@ -298,6 +298,8 @@ static av_cold int X264_init(AVCodecContext *avctx)
 
     x4->params.b_interlaced   = avctx->flags & CODEC_FLAG_INTERLACED_DCT;
 
+    x4->params.b_open_gop     = !(avctx->flags & CODEC_FLAG_CLOSED_GOP);
+
     x4->params.i_slice_count  = avctx->slices;
 
     x4->params.vui.b_fullrange = avctx->pix_fmt == PIX_FMT_YUVJ420P;