From 53cf47829a1b77cd71f31a52a80349f72a972bc0 Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 28 Jul 2010 08:02:35 +0000 Subject: [PATCH] Map rc_buffer_size to and c_initial_buffer_occupancy to their libvpx counterparts. Patch by James Zern, jzern at google Originally committed as revision 24566 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/libvpxenc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 66d184f91e..1115ec22d7 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -249,6 +249,14 @@ static av_cold int vp8_init(AVCodecContext *avctx) enccfg.rc_2pass_vbr_maxsection_pct = avctx->rc_max_rate * 100 / avctx->bit_rate; + if (avctx->rc_buffer_size) + enccfg.rc_buf_sz = + avctx->rc_buffer_size * 1000 / avctx->bit_rate; + if (avctx->rc_initial_buffer_occupancy) + enccfg.rc_buf_initial_sz = + avctx->rc_initial_buffer_occupancy * 1000 / avctx->bit_rate; + enccfg.rc_buf_optimal_sz = enccfg.rc_buf_sz * 5 / 6; + //_enc_init() will balk if kf_min_dist differs from max w/VPX_KF_AUTO if (avctx->keyint_min == avctx->gop_size) enccfg.kf_min_dist = avctx->keyint_min;