shithub: libvpx

Download patch

ref: 76d77aa013de48ebdaa3b9e58e2756188e39982a
parent: 6843e7c7f35ca2c63fe5a9a4f4663c463fd480a7
author: paulwilkins <paulwilkins@google.com>
date: Tue Aug 1 13:06:29 EDT 2017

Enable emergency fast Q adaptation for VBR test case.

Enable fast adaptation of Q when there is a large overshoot
for the  #ifdef AGGRESSIVE_VBR test case.

AGGRESSIVE_VBR  is not currently enabled by default.

Change-Id: I7240bb6589795964b6b0b66df4468e4f21504e0f

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -3907,9 +3907,10 @@
   if (two_pass_first_group_inter(cpi)) {
     cpi->twopass.active_worst_quality =
         VPXMIN(q + qrange_adj, cpi->oxcf.worst_allowed_q);
-  }
+  } else if (!frame_is_kf_gf_arf(cpi)) {
 #else
   if (!frame_is_kf_gf_arf(cpi)) {
+#endif
     // Have we been forced to adapt Q outside the expected range by an extreme
     // rate miss. If so adjust the active maxQ for the subsequent frames.
     if (q > cpi->twopass.active_worst_quality) {
@@ -3916,7 +3917,6 @@
       cpi->twopass.active_worst_quality = q;
     }
   }
-#endif
 
   if (enable_acl) {
     // Skip recoding, if model diff is below threshold