shithub: libvpx

Download patch

ref: 89d23138d2a67a3e518d1026f87cdd5a9e1bee78
parent: 5f914dd902b8414d7d4d8c21d0be96059f2c5103
author: Marco Paniconi <[email protected]>
date: Fri Aug 3 05:20:55 EDT 2018

vp9: Adjust qp_thresh on slide change overshoot detection

For real-time screen-content mode: increase the
qp_thresh for max_Q setting on slide changes.
This will make bitrate spikes less likely on slide changes.

Change-Id: Ie13524a06490214456b1c9c042a864ea0d0750c5

--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -2820,7 +2820,7 @@
   // If this decision is not based on an encoded frame size but just on
   // scene/slide change detection (i.e., re_encode_overshoot_rt = 0), adjust the
   // qp_thresh and skip the (frame_size > thresh_rate) condition in this case.
-  if (!sf->re_encode_overshoot_rt) thresh_qp = rc->worst_quality >> 1;
+  if (!sf->re_encode_overshoot_rt) thresh_qp = 3 * (rc->worst_quality >> 2);
   if ((!sf->re_encode_overshoot_rt || frame_size > thresh_rate) &&
       cm->base_qindex < thresh_qp) {
     double rate_correction_factor =