]> granicus.if.org Git - libvpx/commitdiff
vp9: Tune qp_thresh to disable cyclic refresh for screen
authorMarco Paniconi <marpan@google.com>
Thu, 31 Jan 2019 23:19:45 +0000 (15:19 -0800)
committerMarco Paniconi <marpan@google.com>
Thu, 31 Jan 2019 23:26:53 +0000 (15:26 -0800)
For screen-content mode, with aq-mode=3: increase the
qp thresh for disabling the cyclic refresh.
Improves bitrate convergence for content that has been
static for long period.

Change-Id: Ica63a741402923a611ab1b86c0900f75d2d5f941

vp9/encoder/vp9_aq_cyclicrefresh.c

index a2a742493bc1bcafbd629ede6c55659d34598d79..ef8cd46b4857f5e3215a6bb67ec0b36b4c38ad63 100644 (file)
@@ -479,7 +479,8 @@ void vp9_cyclic_refresh_update_parameters(VP9_COMP *const cpi) {
   double weight_segment_target = 0;
   double weight_segment = 0;
   int thresh_low_motion = (cm->width < 720) ? 55 : 20;
-  int qp_thresh = VPXMIN(20, rc->best_quality << 1);
+  int qp_thresh = VPXMIN((cpi->oxcf.content == VP9E_CONTENT_SCREEN) ? 35 : 20,
+                         rc->best_quality << 1);
   cr->apply_cyclic_refresh = 1;
   if (frame_is_intra_only(cm) || cpi->svc.temporal_layer_id > 0 ||
       is_lossless_requested(&cpi->oxcf) ||