summaryrefslogtreecommitdiff
path: root/libavcodec/libvpxenc.c
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2010-07-28 08:02:35 +0000
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2010-07-28 08:02:35 +0000
commit53cf47829a1b77cd71f31a52a80349f72a972bc0 (patch)
tree3cc94fb42f6c600e38de1c9f027fc95c173f5f31 /libavcodec/libvpxenc.c
parent42c63263d1c0ea0948c11301fbbd2c28997487d5 (diff)
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
Diffstat (limited to 'libavcodec/libvpxenc.c')
-rw-r--r--libavcodec/libvpxenc.c8
1 files changed, 8 insertions, 0 deletions
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;