diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index c5c522add2..3808ac02ec 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -245,11 +245,16 @@ static av_cold int vp8_init(AVCodecContext *avctx) else enccfg.g_pass = VPX_RC_ONE_PASS; + if (!avctx->bit_rate) + avctx->bit_rate = enccfg.rc_target_bitrate * 1000; + else + enccfg.rc_target_bitrate = av_rescale_rnd(avctx->bit_rate, 1, 1000, + AV_ROUND_NEAR_INF); + if (avctx->rc_min_rate == avctx->rc_max_rate && avctx->rc_min_rate == avctx->bit_rate) enccfg.rc_end_usage = VPX_CBR; - enccfg.rc_target_bitrate = av_rescale_rnd(avctx->bit_rate, 1, 1000, - AV_ROUND_NEAR_INF); + if (avctx->qmin > 0) enccfg.rc_min_quantizer = avctx->qmin; if (avctx->qmax > 0)