From 7eb185e0a3451b67cf798206bf3581ec96647da1 Mon Sep 17 00:00:00 2001 From: James Zern Date: Thu, 22 Jul 2010 12:35:32 +0000 Subject: Map settings for 2-pass libvpx encoding. Patch by James Zern, jzern at google Originally committed as revision 24430 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/libvpxenc.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libavcodec/libvpxenc.c') diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index c83ab936d4..66d184f91e 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -241,6 +241,14 @@ static av_cold int vp8_init(AVCodecContext *avctx) enccfg.rc_max_quantizer = avctx->qmax; enccfg.rc_dropframe_thresh = avctx->frame_skip_threshold; + //0-100 (0 => CBR, 100 => VBR) + enccfg.rc_2pass_vbr_bias_pct = round(avctx->qcompress * 100); + enccfg.rc_2pass_vbr_minsection_pct = + avctx->rc_min_rate * 100 / avctx->bit_rate; + if (avctx->rc_max_rate) + enccfg.rc_2pass_vbr_maxsection_pct = + avctx->rc_max_rate * 100 / avctx->bit_rate; + //_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; -- cgit v1.2.3