Revert "Change mask of adaptive_interp_filter_search for consistency"

This reverts commit 3307d834f4de6b52357510067e7e5444585c148f.

Reason for revert: SEGV in get_inliers_from_indices in 32-bit x86
AddressSanitizer build

Note: The third change in av1/encoder/rdopt.c cannot be reverted
because that get_interp_filter_allowed_mask() was deleted in
commit cece1aed472253e144077b721a3dc2caa428bab1. I am not sure if
anything needs to be done there.

BUG=aomedia:2442

Change-Id: I9536fc039a1265ff9f8a625ef863124163edd39e
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 8b7cbb1..707f9ea 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -4864,13 +4864,12 @@
   return buf->interp_filter_selected[ifilter];
 }
 
-static uint16_t setup_interp_filter_search_mask(AV1_COMP *cpi) {
+static int setup_interp_filter_search_mask(AV1_COMP *cpi) {
   const AV1_COMMON *const cm = &cpi->common;
   int ref_total[REF_FRAMES] = { 0 };
-  uint16_t mask = ALLOW_ALL_INTERP_FILT_MASK;
 
   if (cpi->common.last_frame_type == KEY_FRAME || cpi->refresh_alt_ref_frame)
-    return mask;
+    return 0;
 
   for (MV_REFERENCE_FRAME ref = LAST_FRAME; ref <= ALTREF_FRAME; ++ref) {
     for (InterpFilter ifilter = EIGHTTAP_REGULAR; ifilter <= MULTITAP_SHARP;
@@ -4882,6 +4881,7 @@
                          ref_total[GOLDEN_FRAME] + ref_total[BWDREF_FRAME] +
                          ref_total[ALTREF2_FRAME] + ref_total[ALTREF_FRAME]);
 
+  int mask = 0;
   for (InterpFilter ifilter = EIGHTTAP_REGULAR; ifilter <= MULTITAP_SHARP;
        ++ifilter) {
     int last_score = get_interp_filter_selected(cm, LAST_FRAME, ifilter) * 30;
@@ -4893,10 +4893,7 @@
           get_interp_filter_selected(cm, BWDREF_FRAME, ifilter) * 10 +
           get_interp_filter_selected(cm, ALTREF2_FRAME, ifilter) * 10 +
           get_interp_filter_selected(cm, ALTREF_FRAME, ifilter) * 10;
-      if (filter_score < ref_total_total) {
-        DUAL_FILTER_TYPE filt_type = ifilter + SWITCHABLE_FILTERS * ifilter;
-        reset_interp_filter_allowed_mask(&mask, filt_type);
-      }
+      if (filter_score < ref_total_total) mask |= 1 << ifilter;
     }
   }
   return mask;
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 63a1e82..87a0045 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8434,7 +8434,7 @@
     RD_STATS *rd_stats, int *const switchable_rate,
     const BUFFER_SET *dst_bufs[2], const int switchable_ctx[2],
     const int skip_ver, const int skip_hor, int filter_set_size) {
-  int8_t i;
+  int16_t i;
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = xd->mi[0];
 
@@ -8456,8 +8456,7 @@
       assert(filter_sets[filter_idx].as_filters.x_filter ==
              filter_sets[filter_idx].as_filters.y_filter);
       if (cpi->sf.adaptive_interp_filter_search &&
-          !(get_interp_filter_allowed_mask(cpi->sf.interp_filter_search_mask,
-                                           filter_idx))) {
+          (cpi->sf.interp_filter_search_mask & (1 << (filter_idx >> 2)))) {
         return;
       }
       if (filter_idx) {
@@ -8505,8 +8504,7 @@
       assert(filter_sets[i].as_filters.x_filter ==
              filter_sets[i].as_filters.y_filter);
       if (cpi->sf.adaptive_interp_filter_search &&
-          !(get_interp_filter_allowed_mask(cpi->sf.interp_filter_search_mask,
-                                           i))) {
+          (cpi->sf.interp_filter_search_mask & (1 << (i >> 2)))) {
         continue;
       }
       interpolation_filter_rd(
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 86dbe80..c449c8d 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -652,6 +652,9 @@
   // adaptive interp_filter search to allow skip of certain filter types.
   int adaptive_interp_filter_search;
 
+  // mask for skip evaluation of certain interp_filter type.
+  INTERP_FILTER_MASK interp_filter_search_mask;
+
   // Flag used to control the ref_best_rd based gating for chroma
   int perform_best_rd_based_gating_for_chroma;
 
@@ -724,9 +727,6 @@
 
   // Use modeled (currently CurvFit model) RDCost for fast non-RD mode
   int use_modeled_non_rd_cost;
-
-  // Filter mask to allow certain interp_filter type.
-  uint16_t interp_filter_search_mask;
 } SPEED_FEATURES;
 
 struct AV1_COMP;