[FFmpeg-cvslog] libx264: handle closed GOP codec flag
Jindrich Makovicka
git at videolan.org
Wed May 18 05:59:21 CEST 2011
ffmpeg | branch: master | Jindrich Makovicka <jindrich.makovicka at nangu.tv> | Tue May 10 15:11:45 2011 +0200| [e25c67108a77b2dbf13de1339b5314d07e3ffa02] | committer: Anton Khirnov
libx264: handle closed GOP codec flag
Also update libx264 presets to keep closed gop as default.
Signed-off-by: Jindrich Makovicka <makovick at gmail.com>
Signed-off-by: Anton Khirnov <anton at khirnov.net>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e25c67108a77b2dbf13de1339b5314d07e3ffa02
---
configure | 4 ++--
ffpresets/libx264-fast.ffpreset | 2 +-
ffpresets/libx264-fast_firstpass.ffpreset | 2 +-
ffpresets/libx264-faster.ffpreset | 2 +-
ffpresets/libx264-faster_firstpass.ffpreset | 2 +-
ffpresets/libx264-lossless_fast.ffpreset | 2 +-
ffpresets/libx264-lossless_max.ffpreset | 2 +-
ffpresets/libx264-lossless_medium.ffpreset | 2 +-
ffpresets/libx264-lossless_slow.ffpreset | 2 +-
ffpresets/libx264-lossless_slower.ffpreset | 2 +-
ffpresets/libx264-lossless_ultrafast.ffpreset | 2 +-
ffpresets/libx264-medium.ffpreset | 2 +-
ffpresets/libx264-medium_firstpass.ffpreset | 2 +-
ffpresets/libx264-placebo.ffpreset | 2 +-
ffpresets/libx264-placebo_firstpass.ffpreset | 2 +-
ffpresets/libx264-slow.ffpreset | 2 +-
ffpresets/libx264-slow_firstpass.ffpreset | 2 +-
ffpresets/libx264-slower.ffpreset | 2 +-
ffpresets/libx264-slower_firstpass.ffpreset | 2 +-
ffpresets/libx264-superfast.ffpreset | 2 +-
ffpresets/libx264-superfast_firstpass.ffpreset | 2 +-
ffpresets/libx264-ultrafast.ffpreset | 2 +-
ffpresets/libx264-ultrafast_firstpass.ffpreset | 2 +-
ffpresets/libx264-veryfast.ffpreset | 2 +-
ffpresets/libx264-veryfast_firstpass.ffpreset | 2 +-
ffpresets/libx264-veryslow.ffpreset | 2 +-
ffpresets/libx264-veryslow_firstpass.ffpreset | 2 +-
libavcodec/libx264.c | 2 ++
28 files changed, 30 insertions(+), 28 deletions(-)
diff --git a/configure b/configure
index d6a5d69..5b81e0b 100755
--- 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
diff --git a/ffpresets/libx264-fast.ffpreset b/ffpresets/libx264-fast.ffpreset
index 0fc1f22..6520133 100644
--- a/ffpresets/libx264-fast.ffpreset
+++ b/ffpresets/libx264-fast.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
diff --git a/ffpresets/libx264-fast_firstpass.ffpreset b/ffpresets/libx264-fast_firstpass.ffpreset
index cdcbbbf..6fdb4b9 100644
--- a/ffpresets/libx264-fast_firstpass.ffpreset
+++ b/ffpresets/libx264-fast_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-faster.ffpreset b/ffpresets/libx264-faster.ffpreset
index 3156cd8..52efc1a 100644
--- a/ffpresets/libx264-faster.ffpreset
+++ b/ffpresets/libx264-faster.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
diff --git a/ffpresets/libx264-faster_firstpass.ffpreset b/ffpresets/libx264-faster_firstpass.ffpreset
index 9bcf18a..41a87fb 100644
--- a/ffpresets/libx264-faster_firstpass.ffpreset
+++ b/ffpresets/libx264-faster_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-lossless_fast.ffpreset b/ffpresets/libx264-lossless_fast.ffpreset
index b7696b5..49b9ed1 100644
--- a/ffpresets/libx264-lossless_fast.ffpreset
+++ b/ffpresets/libx264-lossless_fast.ffpreset
@@ -1,5 +1,5 @@
coder=0
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8+parti4x4+partp8x8-partp4x4-partb8x8
me_method=hex
diff --git a/ffpresets/libx264-lossless_max.ffpreset b/ffpresets/libx264-lossless_max.ffpreset
index 75c387f..f32d7b4 100644
--- a/ffpresets/libx264-lossless_max.ffpreset
+++ b/ffpresets/libx264-lossless_max.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
me_method=esa
diff --git a/ffpresets/libx264-lossless_medium.ffpreset b/ffpresets/libx264-lossless_medium.ffpreset
index 116e334..0b84612 100644
--- a/ffpresets/libx264-lossless_medium.ffpreset
+++ b/ffpresets/libx264-lossless_medium.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
me_method=hex
diff --git a/ffpresets/libx264-lossless_slow.ffpreset b/ffpresets/libx264-lossless_slow.ffpreset
index 0d496f6..857d3d1 100644
--- a/ffpresets/libx264-lossless_slow.ffpreset
+++ b/ffpresets/libx264-lossless_slow.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
me_method=umh
diff --git a/ffpresets/libx264-lossless_slower.ffpreset b/ffpresets/libx264-lossless_slower.ffpreset
index 672e0cd..ef0609f 100644
--- a/ffpresets/libx264-lossless_slower.ffpreset
+++ b/ffpresets/libx264-lossless_slower.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4-partb8x8
me_method=umh
diff --git a/ffpresets/libx264-lossless_ultrafast.ffpreset b/ffpresets/libx264-lossless_ultrafast.ffpreset
index a2eda65..4cc84f1 100644
--- a/ffpresets/libx264-lossless_ultrafast.ffpreset
+++ b/ffpresets/libx264-lossless_ultrafast.ffpreset
@@ -1,5 +1,5 @@
coder=0
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partp4x4-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-medium.ffpreset b/ffpresets/libx264-medium.ffpreset
index 3c90ec5..6859952 100644
--- a/ffpresets/libx264-medium.ffpreset
+++ b/ffpresets/libx264-medium.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
diff --git a/ffpresets/libx264-medium_firstpass.ffpreset b/ffpresets/libx264-medium_firstpass.ffpreset
index 2ad0a9c..ca304ee 100644
--- a/ffpresets/libx264-medium_firstpass.ffpreset
+++ b/ffpresets/libx264-medium_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-placebo.ffpreset b/ffpresets/libx264-placebo.ffpreset
index 9f4719f..7923a76 100644
--- a/ffpresets/libx264-placebo.ffpreset
+++ b/ffpresets/libx264-placebo.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=tesa
diff --git a/ffpresets/libx264-placebo_firstpass.ffpreset b/ffpresets/libx264-placebo_firstpass.ffpreset
index 9f4719f..7923a76 100644
--- a/ffpresets/libx264-placebo_firstpass.ffpreset
+++ b/ffpresets/libx264-placebo_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=tesa
diff --git a/ffpresets/libx264-slow.ffpreset b/ffpresets/libx264-slow.ffpreset
index dabe0ae..fcbef4b 100644
--- a/ffpresets/libx264-slow.ffpreset
+++ b/ffpresets/libx264-slow.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=umh
diff --git a/ffpresets/libx264-slow_firstpass.ffpreset b/ffpresets/libx264-slow_firstpass.ffpreset
index 4af64db..74f87b0 100644
--- a/ffpresets/libx264-slow_firstpass.ffpreset
+++ b/ffpresets/libx264-slow_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-slower.ffpreset b/ffpresets/libx264-slower.ffpreset
index 239ee68..741d21f 100644
--- a/ffpresets/libx264-slower.ffpreset
+++ b/ffpresets/libx264-slower.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=umh
diff --git a/ffpresets/libx264-slower_firstpass.ffpreset b/ffpresets/libx264-slower_firstpass.ffpreset
index 4b5b420..0be886a 100644
--- a/ffpresets/libx264-slower_firstpass.ffpreset
+++ b/ffpresets/libx264-slower_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-superfast.ffpreset b/ffpresets/libx264-superfast.ffpreset
index fb2ab8c..7f0f50b 100644
--- a/ffpresets/libx264-superfast.ffpreset
+++ b/ffpresets/libx264-superfast.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-superfast_firstpass.ffpreset b/ffpresets/libx264-superfast_firstpass.ffpreset
index 55ff9a2..87b4f29 100644
--- a/ffpresets/libx264-superfast_firstpass.ffpreset
+++ b/ffpresets/libx264-superfast_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-ultrafast.ffpreset b/ffpresets/libx264-ultrafast.ffpreset
index 28dc0eb..561191e 100644
--- a/ffpresets/libx264-ultrafast.ffpreset
+++ b/ffpresets/libx264-ultrafast.ffpreset
@@ -1,5 +1,5 @@
coder=0
-flags=-loop
+flags=-loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-ultrafast_firstpass.ffpreset b/ffpresets/libx264-ultrafast_firstpass.ffpreset
index 28dc0eb..561191e 100644
--- a/ffpresets/libx264-ultrafast_firstpass.ffpreset
+++ b/ffpresets/libx264-ultrafast_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=0
-flags=-loop
+flags=-loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-veryfast.ffpreset b/ffpresets/libx264-veryfast.ffpreset
index bfa3d8f..d8c7f7a 100644
--- a/ffpresets/libx264-veryfast.ffpreset
+++ b/ffpresets/libx264-veryfast.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
diff --git a/ffpresets/libx264-veryfast_firstpass.ffpreset b/ffpresets/libx264-veryfast_firstpass.ffpreset
index ac2332d..7b2a1e9 100644
--- a/ffpresets/libx264-veryfast_firstpass.ffpreset
+++ b/ffpresets/libx264-veryfast_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/ffpresets/libx264-veryslow.ffpreset b/ffpresets/libx264-veryslow.ffpreset
index e07aeb8..8233365 100644
--- a/ffpresets/libx264-veryslow.ffpreset
+++ b/ffpresets/libx264-veryslow.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=umh
diff --git a/ffpresets/libx264-veryslow_firstpass.ffpreset b/ffpresets/libx264-veryslow_firstpass.ffpreset
index e17c04b..2bbf473 100644
--- a/ffpresets/libx264-veryslow_firstpass.ffpreset
+++ b/ffpresets/libx264-veryslow_firstpass.ffpreset
@@ -1,5 +1,5 @@
coder=1
-flags=+loop
+flags=+loop+cgop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index bf5cbc5..e5fac00 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -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;
More information about the ffmpeg-cvslog
mailing list