Some rate control adjustments to control overshoot Some rate control adjustments to control overshoot in the constrained quality mode. Change-Id: I8907b9a883642d779009d0a138adfa6ba67e7f41
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index c7c5e97..c6273f1 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c
@@ -754,7 +754,7 @@ static int get_active_cq_level(const RATE_CONTROL *rc, const VP9EncoderConfig *const oxcf) { - static const double cq_adjust_threshold = 0.5; + static const double cq_adjust_threshold = 0.1; int active_cq_level = oxcf->cq_level; if (oxcf->rc_mode == VPX_CQ && rc->total_target_bits > 0) { @@ -1687,7 +1687,7 @@ int target_rate = rc->base_frame_target; // Correction to rate target based on prior over or under shoot. - if (cpi->oxcf.rc_mode == VPX_VBR) + if (cpi->oxcf.rc_mode == VPX_VBR || cpi->oxcf.rc_mode == VPX_CQ) vbr_rate_correction(cpi, &target_rate, rc->vbr_bits_off_target); vp9_rc_set_frame_target(cpi, target_rate); }