]> granicus.if.org Git - libvpx/commitdiff
vp9-rtc: Increase qp thresh for overshoot detection
authorMarco Paniconi <marpan@google.com>
Fri, 17 May 2019 17:50:42 +0000 (10:50 -0700)
committerMarco Paniconi <marpan@google.com>
Fri, 17 May 2019 17:55:20 +0000 (10:55 -0700)
For video mode (non-screen) in CBR real-time mode:
increase the qp thresh to trigger setting to active_worst
on scene changes. Avoid big overshoots in content with
scene changes.

Change-Id: I74721b07b0d7b742cbef468ece70cca7da0f89eb

vp9/encoder/vp9_ratectrl.c

index e764124922a07c8d7752e349044989d90a4c43a3..c0d84f7757ed82fda79973407e829c59fb683fda 100644 (file)
@@ -3044,7 +3044,7 @@ int vp9_encodedframe_overshoot(VP9_COMP *cpi, int frame_size, int *q) {
   // Lower thresh_qp for video (more overshoot at lower Q) to be
   // more conservative for video.
   if (cpi->oxcf.content != VP9E_CONTENT_SCREEN)
-    thresh_qp = rc->worst_quality >> 1;
+    thresh_qp = 3 * (rc->worst_quality >> 2);
   // If this decision is not based on an encoded frame size but just on
   // scene/slide change detection (i.e., re_encode_overshoot_cbr_rt ==
   // FAST_DETECTION_MAXQ), for now skip the (frame_size > thresh_rate)