Remove unused motion mode speed features

Cleaned up the code base and removed unused speed features.

Change-Id: Iab1e943e1a85270e34b41fd57bd2b583fec4d764
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 0009b47..196a34b 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -9743,55 +9743,6 @@
   return is_valid_warp;
 }
 
-struct obmc_check_mv_field_ctxt {
-  MB_MODE_INFO *current_mi;
-  int mv_field_check_result;
-};
-
-static INLINE void obmc_check_identical_mv(MACROBLOCKD *xd, int rel_mi_row,
-                                           int rel_mi_col, uint8_t op_mi_size,
-                                           int dir, MB_MODE_INFO *nb_mi,
-                                           void *fun_ctxt,
-                                           const int num_planes) {
-  (void)xd;
-  (void)rel_mi_row;
-  (void)rel_mi_col;
-  (void)op_mi_size;
-  (void)dir;
-  (void)num_planes;
-  struct obmc_check_mv_field_ctxt *ctxt =
-      (struct obmc_check_mv_field_ctxt *)fun_ctxt;
-  const MB_MODE_INFO *current_mi = ctxt->current_mi;
-
-  if (ctxt->mv_field_check_result == 0) return;
-
-  if (nb_mi->ref_frame[0] != current_mi->ref_frame[0] ||
-      nb_mi->mv[0].as_int != current_mi->mv[0].as_int ||
-      nb_mi->interp_filters.as_int != current_mi->interp_filters.as_int) {
-    ctxt->mv_field_check_result = 0;
-  }
-}
-
-// Check if the neighbors' motions used by obmc have same parameters as for
-// the current block. If all the parameters are identical, obmc will produce
-// the same prediction as from regular bmc, therefore we can skip the
-// overlapping operations for less complexity. The parameters checked include
-// reference frame, motion vector, and interpolation filter.
-static int check_identical_obmc_mv_field(const AV1_COMMON *cm,
-                                         MACROBLOCKD *xd) {
-  const BLOCK_SIZE bsize = xd->mi[0]->sb_type;
-  struct obmc_check_mv_field_ctxt mv_field_check_ctxt = { xd->mi[0], 1 };
-
-  foreach_overlappable_nb_above(cm, xd,
-                                max_neighbor_obmc[mi_size_wide_log2[bsize]],
-                                obmc_check_identical_mv, &mv_field_check_ctxt);
-  foreach_overlappable_nb_left(cm, xd,
-                               max_neighbor_obmc[mi_size_high_log2[bsize]],
-                               obmc_check_identical_mv, &mv_field_check_ctxt);
-
-  return mv_field_check_ctxt.mv_field_check_result;
-}
-
 static INLINE void update_mode_start_end_index(const AV1_COMP *const cpi,
                                                int *mode_index_start,
                                                int *mode_index_end,
@@ -9864,11 +9815,6 @@
       av1_is_interp_needed(xd) ? av1_get_switchable_rate(cm, x, xd) : 0;
   int64_t best_rd = INT64_MAX;
   int best_rate_mv = rate_mv0;
-  const int identical_obmc_mv_field_detected =
-      (cpi->sf.skip_obmc_in_uniform_mv_field ||
-       cpi->sf.skip_wm_in_uniform_mv_field)
-          ? check_identical_obmc_mv_field(cm, xd)
-          : 0;
   const int mi_row = xd->mi_row;
   const int mi_col = xd->mi_col;
   int mode_index_start, mode_index_end;
@@ -9901,15 +9847,6 @@
         mbmi->motion_mode == OBMC_CAUSAL)
       continue;
 
-    if (identical_obmc_mv_field_detected) {
-      if (cpi->sf.skip_obmc_in_uniform_mv_field &&
-          mbmi->motion_mode == OBMC_CAUSAL)
-        continue;
-      if (cpi->sf.skip_wm_in_uniform_mv_field &&
-          mbmi->motion_mode == WARPED_CAUSAL)
-        continue;
-    }
-
     if (mbmi->motion_mode == SIMPLE_TRANSLATION && !is_interintra_mode) {
       // SIMPLE_TRANSLATION mode: no need to recalculate.
       // The prediction is calculated before motion_mode_rd() is called in
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 76bdbae..9f10dc9 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -853,8 +853,6 @@
   sf->use_dist_wtd_comp_flag = DIST_WTD_COMP_ENABLED;
   sf->reuse_inter_intra_mode = 0;
   sf->intra_pruning_with_hog = 0;
-  sf->skip_obmc_in_uniform_mv_field = 0;
-  sf->skip_wm_in_uniform_mv_field = 0;
   sf->adaptive_interp_filter_search = 0;
   sf->src_var_thresh_intra_skip = 1;
   sf->reduce_high_precision_mv_usage = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index e4a7d08..2d6aff7 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -545,11 +545,6 @@
   // Disable one sided compound modes.
   int disable_onesided_comp;
 
-  // Skip obmc or warped motion mode when neighborhood motion field is
-  // identical
-  int skip_obmc_in_uniform_mv_field;
-  int skip_wm_in_uniform_mv_field;
-
   // Prune/gate motion mode evaluation based on token based rd
   // during transform search for inter blocks
   // Values are 0 (not used) , 1 - 3 with progressively increasing