Permalink
Browse files

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: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit bff3607)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
  • Loading branch information...
lu-zero committed Jan 14, 2013
1 parent 71e00ca commit e44d56b18d46957fceaefe7f8840263c5cd12d37
Showing with 3 additions and 2 deletions.
  1. +0 −2 avconv_opt.c
  2. +3 −0 libavcodec/utils.c
View
@@ -950,8 +950,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 */
View
@@ -824,6 +824,9 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
} 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)) {

0 comments on commit e44d56b

Please sign in to comment.