]> granicus.if.org Git - libvpx/commitdiff
vp9: Set less aggresive short_circuit_low_temp_var for HD at speed 8.
authorJerome Jiang <jianj@google.com>
Mon, 9 Jan 2017 23:04:13 +0000 (15:04 -0800)
committerJerome Jiang <jianj@google.com>
Tue, 10 Jan 2017 00:44:07 +0000 (16:44 -0800)
Quality improved by 1.866 and 0.386 for two noisy clips (dark720p and
marcooffice720p), respectively.

Change-Id: Ib33a7672ae9ca53da156208f7cd13f07b5543e44

vp9/encoder/vp9_speed_features.c

index 81cb431ba586591940096b41fc62afd23b299ab5..6561ce930d1e1a790ac85fe1cdcb6bb8151cce15 100644 (file)
@@ -521,6 +521,14 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, int speed,
         content != VP9E_CONTENT_SCREEN) {
       // More aggressive short circuit for speed 8.
       sf->short_circuit_low_temp_var = 3;
+      // Use level 2 for noisey cases as there is a regression in some
+      // noisy clips with level 3.
+      if (cpi->noise_estimate.enabled && cm->width >= 1280 &&
+          cm->height >= 720) {
+        NOISE_LEVEL noise_level =
+            vp9_noise_estimate_extract_level(&cpi->noise_estimate);
+        if (noise_level >= kMedium) sf->short_circuit_low_temp_var = 2;
+      }
     }
     sf->limit_newmv_early_exit = 0;
   }