aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/libx264.c
diff options
context:
space:
mode:
authorJason Garrett-Glaser <jason@x264.com>2011-02-06 05:10:15 -0800
committerMichael Niedermayer <michaelni@gmx.at>2011-02-09 03:33:55 +0100
commit2c855cea85f5e43afa2365dbba76e1917fa239b3 (patch)
treea5b2f11a3f984507007d5816a3d21605857a2efa /libavcodec/libx264.c
parenta1b0a3c8bd111237658a8670c4373ed062e23c85 (diff)
downloadffmpeg-2c855cea85f5e43afa2365dbba76e1917fa239b3.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. (cherry picked from commit f7f8120fb9a06b5d7fbf5add48a0d8464319a332)
Diffstat (limited to 'libavcodec/libx264.c')
-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);