aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Garrett-Glaser <jason@x264.com>2011-02-06 05:10:15 -0800
committerJason Garrett-Glaser <jason@x264.com>2011-02-08 15:59:27 -0800
commitf7f8120fb9a06b5d7fbf5add48a0d8464319a332 (patch)
treea296919f5a2f81d02c0029f52f34a376995e9b7f
parent62457f9052ea15123688455aad866cb070634f13 (diff)
downloadffmpeg-f7f8120fb9a06b5d7fbf5add48a0d8464319a332.tar.gz
Fix broken vbv_buffer_init handling in libx264.c
Due to being pants-on-head retarded, libavcodec defaults this to zero, which results in broken output. This didn't affect ffmpeg.c, which sets it itself, but caused problems for other calling apps using VBV.
-rw-r--r--libavcodec/libx264.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 84ecb2aecb..185287c1cf 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -277,12 +277,11 @@ static av_cold int X264_init(AVCodecContext *avctx)
if (avctx->level > 0)
x4->params.i_level_idc = avctx->level;
- if ((avctx->rc_buffer_size != 0) &&
+ if (avctx->rc_buffer_size && avctx->rc_initial_buffer_occupancy &&
(avctx->rc_initial_buffer_occupancy <= avctx->rc_buffer_size)) {
x4->params.rc.f_vbv_buffer_init =
(float)avctx->rc_initial_buffer_occupancy / avctx->rc_buffer_size;
- } else
- x4->params.rc.f_vbv_buffer_init = 0.9;
+ }
x4->params.rc.b_mb_tree = !!(avctx->flags2 & CODEC_FLAG2_MBTREE);
x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor);