vp9: 1 pass vbr: Limit qpdelta on high_source_sad.
authorMarco <marpan@google.com>
Fri, 29 Sep 2017 18:34:00 +0000 (11:34 -0700)
committerMarco <marpan@google.com>
Tue, 3 Oct 2017 23:27:17 +0000 (16:27 -0700)
For 1 pass vbr: when significant content/scene change is detected
(high_source_sad = 1) reduce/turnoff the additional qdelta on the
active_worst_quality. This helps somewhat to reduce the occurrence
of large frame sizes and large encode times.
Allow it only when use_altef_onepass is enabled.

Neutral/no change on metrics.

Change-Id: I1dd97dd2ab892d65f707b841b27a5de300b714ea

vp9/encoder/vp9_ratectrl.c

index 716eb1b..e796b66 100644 (file)
@@ -1004,6 +1004,7 @@ static int rc_pick_q_and_bounds_one_pass_vbr(const VP9_COMP *cpi,
       qdelta = vp9_compute_qdelta_by_rate(
           &cpi->rc, cm->frame_type, active_worst_quality, 1.75, cm->bit_depth);
     }
+    if (rc->high_source_sad && cpi->sf.use_altref_onepass) qdelta = 0;
     *top_index = active_worst_quality + qdelta;
     *top_index = (*top_index > *bottom_index) ? *top_index : *bottom_index;
   }