No second MV search for speed >= 3

Turned off second MV search for speed >= 3 to speed up the encoder.
The overall speed/quality tradeoff is good.

Borg test results:
          avg_psnr:  ovr_psnr:  ssim:  speedup:
speed 3:
hdres2     0.077      0.063     0.071   5.3%
midres2    0.184      0.180     0.076   5.1%

speed 5:
hdres2     0.093      0.096     0.096   6.2%
midres2    0.192      0.206     0.143   5.6%

STATS_CHANGED

Change-Id: Ib7e6de8376302506a7821e05b4b5b0c1d39f59b6
diff --git a/av1/encoder/motion_search_facade.c b/av1/encoder/motion_search_facade.c
index bad8e65..14050f2 100644
--- a/av1/encoder/motion_search_facade.c
+++ b/av1/encoder/motion_search_facade.c
@@ -303,7 +303,8 @@
       case SIMPLE_TRANSLATION:
         if (cpi->sf.mv_sf.use_accurate_subpel_search) {
           const int try_second = second_best_mv.as_int != INVALID_MV &&
-                                 second_best_mv.as_int != best_mv->as_int;
+                                 second_best_mv.as_int != best_mv->as_int &&
+                                 !cpi->sf.mv_sf.disable_second_mv;
           mv_search_params->find_fractional_mv_step(
               xd, cm, &ms_params, subpel_start_mv, &best_mv->as_mv, &dis,
               &x->pred_sse[ref], fractional_ms_list);
@@ -757,7 +758,7 @@
                                                  mask_stride, rate_mv, which);
   } else if (which == 2) {
     av1_joint_motion_search(cpi, x, bsize, tmp_mv, mask, mask_stride, rate_mv,
-                            1);
+                            !cpi->sf.mv_sf.disable_second_mv);
   }
 }
 
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index bc71669..d57fb43 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -855,6 +855,7 @@
     sf->mv_sf.full_pixel_search_level = 1;
     sf->mv_sf.subpel_search_method = SUBPEL_TREE_PRUNED;
     sf->mv_sf.search_method = DIAMOND;
+    sf->mv_sf.disable_second_mv = 1;
 
     sf->inter_sf.mv_cost_upd_level = 1;
     sf->inter_sf.disable_onesided_comp = 1;
@@ -1441,6 +1442,7 @@
   mv_sf->use_fullpel_costlist = 0;
   mv_sf->use_downsampled_sad = 0;
   mv_sf->disable_extensive_joint_motion_search = 0;
+  mv_sf->disable_second_mv = 0;
 }
 
 static AOM_INLINE void init_inter_sf(INTER_MODE_SPEED_FEATURES *inter_sf) {
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index ba7c472..1cf3052 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -575,7 +575,7 @@
   int disable_extensive_joint_motion_search;
 
   // Enable second best mv check in joint mv search.
-  int enable_second_mv;
+  int disable_second_mv;
 } MV_SPEED_FEATURES;
 
 typedef struct INTER_MODE_SPEED_FEATURES {
diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 183f3c1..38345b4 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -711,7 +711,8 @@
 
     int_mv tmp_mv[2] = { single_mv[rf_idx0], single_mv[rf_idx1] };
     int rate_mv;
-    av1_joint_motion_search(cpi, x, bsize, tmp_mv, NULL, 0, &rate_mv, 1);
+    av1_joint_motion_search(cpi, x, bsize, tmp_mv, NULL, 0, &rate_mv,
+                            !cpi->sf.mv_sf.disable_second_mv);
 
     for (int ref = 0; ref < 2; ++ref) {
       struct buf_2d ref_buf = { NULL, ref_frame_ptr[ref]->y_buffer,