Module: libav
Branch: release/0.8
Commit: 2da49df19e115becdddf60f8704889868ca2f56b

Author:    Luca Barbato <[email protected]>
Committer: Luca Barbato <[email protected]>
Date:      Mon Jan 14 05:32:38 2013 +0100

lavc: set the default rc_initial_buffer_occupancy

rc_buffer_size is not set before.

Solve the initial the rate control underflow issue reported in
bug 222.

CC: [email protected]

Signed-off-by: Luca Barbato <[email protected]>
(cherry picked from commit bff3607547fdbb6e32b3830a351e6a33280c1e0d)

Signed-off-by: Luca Barbato <[email protected]>

---

 avconv.c           |    2 --
 libavcodec/utils.c |    3 +++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/avconv.c b/avconv.c
index 90b72fd..212d948 100644
--- a/avconv.c
+++ b/avconv.c
@@ -3664,8 +3664,6 @@ static OutputStream *new_video_stream(OptionsContext *o, 
AVFormatContext *oc)
             if (p) p++;
         }
         video_enc->rc_override_count = i;
-        if (!video_enc->rc_initial_buffer_occupancy)
-            video_enc->rc_initial_buffer_occupancy = video_enc->rc_buffer_size 
* 3 / 4;
         video_enc->intra_dc_precision = intra_dc_precision - 8;
 
         /* two pass mode */
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index f64bff8..7902e98 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -810,6 +810,9 @@ int attribute_align_arg avcodec_open2(AVCodecContext 
*avctx, AVCodec *codec, AVD
         } else if (avctx->channel_layout) {
             avctx->channels = 
av_get_channel_layout_nb_channels(avctx->channel_layout);
         }
+
+        if (!avctx->rc_initial_buffer_occupancy)
+            avctx->rc_initial_buffer_occupancy = avctx->rc_buffer_size * 3 / 4;
     }
 
     if(avctx->codec->init && !(avctx->active_thread_type&FF_THREAD_FRAME)){

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to