shithub: libvpx

Download patch

ref: 791bf5657f330cbbd48668bf3924b990e9a820a0
parent: 1ff15fbffe35e45251089e86ef258baaa076f2cd
parent: 0308e2ee6dbefa7558374b0470d2c3ea17786a04
author: Deb Mukherjee <[email protected]>
date: Thu Mar 12 07:10:59 EDT 2015

Merge "Some rate control adjustments to control overshoot"

--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -756,7 +756,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) {
@@ -1689,7 +1689,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);
 }