]> granicus.if.org Git - libvpx/commitdiff
vp9: Speed 8: Turn off 4x4avg for low-res non-key frames.
authorJerome Jiang <jianj@google.com>
Mon, 14 Nov 2016 18:22:00 +0000 (10:22 -0800)
committerJerome Jiang <jianj@google.com>
Mon, 14 Nov 2016 19:17:14 +0000 (11:17 -0800)
Changes only affects speed = 8 for low resolutions.

Metrics for avgPSNR/SSIM on rtc_derf (low resolutions) show loss of
0.5/0.6%.
On Nexus 6, the encoding time is reduced by ~5.9% on average across all
low-res clips.
Visually little/no change on rtc_derf clips.

Change-Id: I68dd50e558d72dcc1af8317d224bfae5e3bd872d

vp9/encoder/vp9_encodeframe.c

index 3ab05375ff74e20ec4750b268275a747ba5d6e5c..7cf7b90dbbfd20b2e193cc34fa92d6b3fdb017b2 100644 (file)
@@ -834,8 +834,8 @@ static int choose_partitioning(VP9_COMP *cpi, const TileInfo *const tile,
     }
   }
 
-  threshold_4x4avg =
-      (cpi->oxcf.speed < 8) ? thresholds[1] << 1 : thresholds[2] >> 1;
+  // For non keyframes, disable 4x4 average for low resolution when speed = 8
+  threshold_4x4avg = (cpi->oxcf.speed < 8) ? thresholds[1] << 1 : INT64_MAX;
 
   memset(x->variance_low, 0, sizeof(x->variance_low));