]> granicus.if.org Git - libvpx/commitdiff
vp9: Adjust 16x16 splot threshold for variance partition
authorMarco <marpan@google.com>
Thu, 24 Aug 2017 17:36:27 +0000 (10:36 -0700)
committerMarco <marpan@google.com>
Thu, 24 Aug 2017 17:44:05 +0000 (10:44 -0700)
For speeds < 7, increase threshold that controls the split
of 16x16->8x8 blocks, for resolutions 720p and higher.

Minor change for speed 5 (since it uses reference partition scheme
which only uses variance partition as first step).
For speed 6: ~0.5% increase in avgPSNR/SSIM metrics on ytlvie set.
No change in speed.

Change-Id: I5126580973201538d8ca26a9256b93c4d11d685b

vp9/encoder/vp9_encodeframe.c

index a0a7ff51d3d607bd933879fd8c2d138fd85e6070..0051361bba3cad49a3bca44c5f0fa58cba89d3bd 100644 (file)
@@ -555,6 +555,8 @@ static void set_vbp_thresholds(VP9_COMP *cpi, int64_t thresholds[], int q,
 #endif
     thresholds[0] = threshold_base;
     thresholds[2] = threshold_base << cpi->oxcf.speed;
+    if (cm->width >= 1280 && cm->height >= 720 && cpi->oxcf.speed < 7)
+      thresholds[2] = thresholds[2] << 1;
     if (cm->width <= 352 && cm->height <= 288) {
       thresholds[0] = threshold_base >> 3;
       thresholds[1] = threshold_base >> 1;