]> granicus.if.org Git - libvpx/commitdiff
Corpus VBR tweak for undershoot.
authorpaulwilkins <paulwilkins@google.com>
Wed, 11 Oct 2017 09:12:20 +0000 (10:12 +0100)
committerpaulwilkins <paulwilkins@google.com>
Fri, 13 Oct 2017 09:27:15 +0000 (10:27 +0100)
In cases of strong undershoot adjust Q range down faster.

Change-Id: I84982beceb3c9b6dc50e52e4a6e891c7dd395d03

vp9/encoder/vp9_encoder.c

index 765c0578b04b303f8166f59f8521e9ff340d0d31..20901d21de95fdad023d58325e6c39790fcb9963 100644 (file)
@@ -3956,6 +3956,11 @@ static void encode_with_recode_loop(VP9_COMP *cpi, size_t *size,
     // rate miss. If so adjust the active maxQ for the subsequent frames.
     if (q > cpi->twopass.active_worst_quality) {
       cpi->twopass.active_worst_quality = q;
+#ifdef CORPUS_VBR_EXPERIMENT
+    } else if (q == q_low && rc->projected_frame_size < rc->this_frame_target) {
+      cpi->twopass.active_worst_quality =
+          VPXMAX(q, cpi->twopass.active_worst_quality - 1);
+#endif
     }
   }