vp9: Set short circuit to level 3 for VGA for speed 8.
authorJerome Jiang <jianj@google.com>
Wed, 4 Jan 2017 19:22:51 +0000 (11:22 -0800)
committerJerome Jiang <jianj@google.com>
Wed, 4 Jan 2017 19:28:31 +0000 (11:28 -0800)
vp9: Set short circuit to level 3 for VGA for speed 8. Also change the
threshold_32x32 to 5/8*thresholds[1] to improve quality regression
caused to VGA clips.

Change-Id: Ia1590e91e7cb22be78d5b85013387bb1be4272e3

vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_speed_features.c

index e622f2c..323c053 100644 (file)
@@ -745,7 +745,7 @@ static void set_low_temp_var_flag(VP9_COMP *cpi, MACROBLOCK *x, MACROBLOCKD *xd,
         if ((*this_mi)->sb_type == BLOCK_32X32) {
           int64_t threshold_32x32 = (cpi->sf.short_circuit_low_temp_var == 1 ||
                                      cpi->sf.short_circuit_low_temp_var == 3)
-                                        ? ((3 * thresholds[1]) >> 2)
+                                        ? ((5 * thresholds[1]) >> 3)
                                         : (thresholds[1] >> 1);
           if (vt->split[i].part_variances.none.variance < threshold_32x32)
             x->variance_low[i + 5] = 1;
index f0d3bf2..1db22ee 100644 (file)
@@ -522,7 +522,7 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, int speed,
       // More aggressive short circuit for speed 8.
       sf->short_circuit_low_temp_var = 2;
       // More aggressive short circuit for low resolution
-      if (cm->width <= 352 && cm->height <= 288) {
+      if (cm->width <= 640 && cm->height <= 480) {
         sf->short_circuit_low_temp_var = 3;
       }
     }