shithub: libvpx

Download patch

ref: 48b21ac01fed647cdb22a7cca9f54ea04be7e7b8
parent: 76bf681338ee60fa90eb64f5832161686aa6c792
parent: 701d907f3aae0cad58916e0413f3f74ea3be8d09
author: Deb Mukherjee <debargha@google.com>
date: Thu May 22 12:29:29 EDT 2014

Merge "Fix for missing initialization of ratectrl vars"

--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -213,6 +213,7 @@
   rc->long_rolling_actual_bits = rc->avg_frame_bandwidth;
 
   rc->total_actual_bits = 0;
+  rc->total_target_bits = 0;
   rc->total_target_vs_actual = 0;
 
   rc->baseline_gf_interval = DEFAULT_GF_INTERVAL;
@@ -611,7 +612,8 @@
                                const VP9EncoderConfig *const oxcf) {
   static const double cq_adjust_threshold = 0.5;
   int active_cq_level = oxcf->cq_level;
-  if (oxcf->rc_mode == RC_MODE_CONSTRAINED_QUALITY) {
+  if (oxcf->rc_mode == RC_MODE_CONSTRAINED_QUALITY &&
+      rc->total_target_bits > 0) {
     const double x = (double)rc->total_actual_bits / rc->total_target_bits;
     if (x < cq_adjust_threshold) {
       active_cq_level = (int)(active_cq_level * x / cq_adjust_threshold);