Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2013-01-14 08:32:38 +0400
committerLuca Barbato <lu_zero@gentoo.org>2013-01-15 12:12:41 +0400
commite44d56b18d46957fceaefe7f8840263c5cd12d37 (patch)
tree03dd8c9810abe3ff7bc46c3d1c7ca73e64e83cda
parent71e00caeab89d9beeef9c947673f72e992bd109c (diff)
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 bff3607547fdbb6e32b3830a351e6a33280c1e0d) Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r--avconv_opt.c2
-rw-r--r--libavcodec/utils.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/avconv_opt.c b/avconv_opt.c
index ce32df6b6b..e67abefd77 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -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 */
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 23f2ac481a..19c8a99ff5 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -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)) {