Reduce number of fullpx steps taken by tpl in spd 5

Performance:
   RES  | AVG_PSNR | OVR_PSNR |   SSIM  | AVG_SPD | OVR_SPD
 LOWRES |  +0.009% |  -0.001% | +0.185% | +1.044% | +0.699%
 MIDRES |  +0.026% |  +0.013% | +0.228% | +2.001% | +1.081%
  HDRES |  +0.062% |  +0.051% | +0.216% | +3.969% | +2.617%

STATS_CHANGED

Change-Id: I52854ab356ab01553bda833c8baed80d39b6336a
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index b1c5eae..76ec863 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -494,6 +494,7 @@
     sf->disable_smooth_interintra = 1;
     sf->disable_onesided_comp = 1;
     sf->tpl_sf.prune_intra_modes = 1;
+    sf->tpl_sf.reduce_first_step_size = 6;
   }
 }
 
@@ -924,6 +925,7 @@
   // TODO(any) Cleanup this speed feature
   sf->prune_single_motion_modes_by_simple_trans = 0;
   sf->tpl_sf.prune_intra_modes = 0;
+  sf->tpl_sf.reduce_first_step_size = 0;
 
   // Set decoder side speed feature to use less dual sgr modes
   sf->dual_sgr_penalty_level = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index bbf358f..636a136 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -252,6 +252,9 @@
   // modes from DC_PRED to PAETH_PRED. If set to one, we only search DC_PRED and
   // the direction modes
   int prune_intra_modes;
+
+  // This parameter controls which step in the n-step process we start at.
+  int reduce_first_step_size;
 } TPL_SPEED_FEATURES;
 
 #define MAX_MESH_STEP 4
diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 7c5fabf..95bd703 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -111,6 +111,7 @@
   AV1_COMMON *cm = &cpi->common;
   MACROBLOCKD *const xd = &x->e_mbd;
   MV_SPEED_FEATURES *const mv_sf = &cpi->sf.mv;
+  TPL_SPEED_FEATURES *tpl_sf = &cpi->sf.tpl_sf;
   const SEARCH_METHODS search_method = NSTEP;
   int step_param;
   int sadpb = x->sadperbit16;
@@ -137,7 +138,7 @@
   xd->plane[0].pre[0].buf = ref_frame_buf;
   xd->plane[0].pre[0].stride = stride_ref;
 
-  step_param = mv_sf->reduce_first_step_size;
+  step_param = mv_sf->reduce_first_step_size + tpl_sf->reduce_first_step_size;
   step_param = AOMMIN(step_param, MAX_MVSEARCH_STEPS - 2);
 
   av1_set_mv_search_range(&x->mv_limits, &best_ref_mv1);