]> granicus.if.org Git - libvpx/commitdiff
Speed >=5 real-time: add TM intra mode for high_source_sad.
authorMarco <marpan@google.com>
Thu, 5 Oct 2017 19:58:51 +0000 (12:58 -0700)
committerMarco <marpan@google.com>
Fri, 6 Oct 2017 06:07:03 +0000 (23:07 -0700)
Small/neutral change in metrics or speed for ytlive.
Some improvement in quality on frames with big content change.

Change-Id: Ib3b0703a5f28ea6710e90324436e27598ab7384d

vp9/encoder/vp9_speed_features.c

index 4d4a579e6a6e4cd27b926f02f6ea4058895e626e..6f3806b968a7e4982d04dc2ee7fb70ba3e29b5e5 100644 (file)
@@ -507,12 +507,16 @@ static void set_rt_speed_feature_framesize_independent(
         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) {