shithub: libvpx

Download patch

ref: 9311ef18b4b4eff0da3adf9d702a34f489a270ff
parent: e095bcce44deb1326446484a391a48c2f20735c9
author: Marco <marpan@google.com>
date: Thu Oct 5 08:58:51 EDT 2017

Speed >=5 real-time: add TM intra mode for high_source_sad.

Small/neutral change in metrics or speed for ytlive.
Some improvement in quality on frames with big content change.

Change-Id: Ib3b0703a5f28ea6710e90324436e27598ab7384d

--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -507,12 +507,16 @@
         for (i = 0; i < BLOCK_SIZES; ++i)
           sf->intra_y_mode_bsize_mask[i] = INTRA_DC_TM_H_V;
       } else {
-        for (i = 0; i < BLOCK_SIZES; ++i)
-          if (i > BLOCK_16X16)
+        for (i = 0; i < BLOCK_SIZES; ++i) {
+          if (i > BLOCK_16X16) {
             sf->intra_y_mode_bsize_mask[i] = INTRA_DC;
-          else
-            // Use H and V intra mode for block sizes <= 16X16.
-            sf->intra_y_mode_bsize_mask[i] = INTRA_DC_H_V;
+          } else {
+            if (cpi->rc.high_source_sad)
+              sf->intra_y_mode_bsize_mask[i] = INTRA_DC_TM_H_V;
+            else
+              sf->intra_y_mode_bsize_mask[i] = INTRA_DC_H_V;
+          }
+        }
       }
     }
     if (content == VP9E_CONTENT_SCREEN) {