[SCM] libav/experimental: Fix broken vbv_buffer_init handling in libx264.c

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:23:24 UTC 2013


The following commit has been merged in the experimental branch:
commit f7f8120fb9a06b5d7fbf5add48a0d8464319a332
Author: Jason Garrett-Glaser <jason at x264.com>
Date:   Sun Feb 6 05:10:15 2011 -0800

    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.

diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 84ecb2a..185287c 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);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list