shithub: libvpx

Download patch

ref: fc5ab625b5f8daa7f9f10667ca022fd404a71f61
parent: 264a7ecfd8ed4938378928deb4233c187562dbe5
author: Marco Paniconi <marpan@google.com>
date: Thu Apr 9 07:35:55 EDT 2020

vp9-rtc: Fix to disable_16x16part speed feature

Condition on current_video_frame count, as the
avg_frame_qindex needs some time to settle.

Fixes psnr test failures.

Change-Id: I462c45250becb55b72b6ffe2b7087094d6d58a01

--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -791,10 +791,12 @@
   }
 
   // Disable split to 8x8 for low-resolution at very high Q.
-  // For variance partition (speed >= 6).
+  // For variance partition (speed >= 6). Ignore the first few frames
+  // as avg_frame_qindex starts at max_q (worst_quality).
   if (cm->frame_type != KEY_FRAME && cm->width * cm->height <= 320 * 240 &&
       sf->partition_search_type == VAR_BASED_PARTITION &&
-      cpi->rc.avg_frame_qindex[INTER_FRAME] > 208)
+      cpi->rc.avg_frame_qindex[INTER_FRAME] > 208 &&
+      cpi->common.current_video_frame > 8)
     sf->disable_16x16part_nonkey = 1;
 
   if (sf->nonrd_use_ml_partition)