shithub: libvpx

Download patch

ref: 03a401c4d9c17b1bbf2462e751758daa0a3daa6c
parent: fd38ef4b99845d7168555787e22fae96ac99631c
parent: 45a26dd9c8de9113d691df38730fd1302312b90a
author: Paul Wilkins <paulwilkins@google.com>
date: Fri Jun 3 13:14:12 EDT 2016

Merge "Slightly more damped  VBR adjustment."

--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -1277,7 +1277,7 @@
         DOUBLE_DIVIDE_CHECK((double)twopass->rolling_arf_group_target_bits);
     last_group_rate_err =
         VPXMAX(0.25, VPXMIN(4.0, last_group_rate_err));
-    twopass->bpm_factor *= (1.0 + last_group_rate_err) / 2.0;
+    twopass->bpm_factor *= (3.0 + last_group_rate_err) / 4.0;
     twopass->bpm_factor =
         VPXMAX(0.25, VPXMIN(4.0, twopass->bpm_factor));
 
@@ -2174,13 +2174,12 @@
     const double group_av_inactive_zone =
       ((gf_group_inactive_zone_rows * 2) /
        (rc->baseline_gf_interval * (double)cm->mb_rows));
-
     int tmp_q =
         get_twopass_worst_quality(cpi, group_av_err,
                                   (group_av_skip_pct + group_av_inactive_zone),
                                   vbr_group_bits_per_frame);
     twopass->active_worst_quality =
-        VPXMAX(tmp_q, twopass->active_worst_quality >> 1);
+        (tmp_q + (twopass->active_worst_quality * 3)) >> 2;
   }
 #endif