vp9: SVC: Modify mv search condition in speed features.
authorMarco <marpan@google.com>
Fri, 25 Aug 2017 16:59:57 +0000 (09:59 -0700)
committerMarco <marpan@google.com>
Fri, 25 Aug 2017 17:12:38 +0000 (10:12 -0700)
For SVC at speed >= 7: only use the improved mv search
on base spatial layer, if top layer resolution is above 640x360.

~2.3% speedup
Small/negligible loss in avgPSNR metrics on rtc set.

Change-Id: Iaef75a57ebf1c248931bc1aa28d20b7fecac1851

vp9/encoder/vp9_speed_features.c

index 43ef425..02ce2de 100644 (file)
@@ -560,8 +560,12 @@ static void set_rt_speed_feature_framesize_independent(
     sf->adaptive_rd_thresh = 3;
     sf->mv.search_method = FAST_DIAMOND;
     sf->mv.fullpel_search_step_param = 10;
+    // For SVC: use better mv search on base temporal layer, and only
+    // on base spatial layer if highest resolution is above 640x360.
     if (cpi->svc.number_temporal_layers > 2 &&
-        cpi->svc.temporal_layer_id == 0) {
+        cpi->svc.temporal_layer_id == 0 &&
+        (cpi->svc.spatial_layer_id == 0 ||
+         cpi->oxcf.width * cpi->oxcf.height <= 640 * 360)) {
       sf->mv.search_method = NSTEP;
       sf->mv.fullpel_search_step_param = 6;
     }