Change mask of adaptive_interp_filter_search for consistency

Change skip mask used by adaptive_interp_filter_search speed
feature similar to allowed_interp_mask for consistency

Change-Id: If40219e5204b35378cf7ef34da64fc15fb5bb87a
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 707f9ea..8b7cbb1 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -4864,12 +4864,13 @@
   return buf->interp_filter_selected[ifilter];
 }
 
-static int setup_interp_filter_search_mask(AV1_COMP *cpi) {
+static uint16_t 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 0;
+    return mask;
 
   for (MV_REFERENCE_FRAME ref = LAST_FRAME; ref <= ALTREF_FRAME; ++ref) {
     for (InterpFilter ifilter = EIGHTTAP_REGULAR; ifilter <= MULTITAP_SHARP;
@@ -4881,7 +4882,6 @@
                          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,7 +4893,10 @@
           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) mask |= 1 << ifilter;
+      if (filter_score < ref_total_total) {
+        DUAL_FILTER_TYPE filt_type = ifilter + SWITCHABLE_FILTERS * ifilter;
+        reset_interp_filter_allowed_mask(&mask, filt_type);
+      }
     }
   }
   return mask;
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 83c210d..960c668 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) {
-  int16_t i;
+  int8_t i;
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = xd->mi[0];
 
@@ -8456,7 +8456,8 @@
       assert(filter_sets[filter_idx].as_filters.x_filter ==
              filter_sets[filter_idx].as_filters.y_filter);
       if (cpi->sf.adaptive_interp_filter_search &&
-          (cpi->sf.interp_filter_search_mask & (1 << (filter_idx >> 2)))) {
+          !(get_interp_filter_allowed_mask(cpi->sf.interp_filter_search_mask,
+                                           filter_idx))) {
         return;
       }
       if (filter_idx) {
@@ -8489,7 +8490,8 @@
       assert(filter_sets[i].as_filters.x_filter ==
              filter_sets[i].as_filters.y_filter);
       if (cpi->sf.adaptive_interp_filter_search &&
-          (cpi->sf.interp_filter_search_mask & (1 << (i >> 2)))) {
+          !get_interp_filter_allowed_mask(cpi->sf.interp_filter_search_mask,
+                                          i)) {
         skip_pred = (skip_hor & skip_ver);
         continue;
       }
@@ -8506,7 +8508,8 @@
       assert(filter_sets[i].as_filters.x_filter ==
              filter_sets[i].as_filters.y_filter);
       if (cpi->sf.adaptive_interp_filter_search &&
-          (cpi->sf.interp_filter_search_mask & (1 << (i >> 2)))) {
+          !(get_interp_filter_allowed_mask(cpi->sf.interp_filter_search_mask,
+                                           i))) {
         continue;
       }
       interpolation_filter_rd(
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index c449c8d..86dbe80 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -652,9 +652,6 @@
   // 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;
 
@@ -727,6 +724,9 @@
 
   // 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;