Use interp_rd_facade for non dual interp filter

Use find_best_interp_rd_facade() in non dual
interpolation filter search.

Change-Id: I30c2cbd3ac0a4f8398cdd8a2ae2b46f534ecb421
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 908bdab..0b4890c 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8484,22 +8484,19 @@
        skip_ver == cpi->default_interp_skip_flags) ||
       (block_size_high[bsize] == 4 &&
        skip_hor == cpi->default_interp_skip_flags)) {
-    int skip_pred = cpi->default_interp_skip_flags;
-    for (i = filter_set_size - 1; i > 0; i -= (SWITCHABLE_FILTERS + 1)) {
-      // This assert tells that (filter_x == filter_y) for non-dual filter case
-      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)) {
-        skip_pred = (skip_hor & skip_ver);
-        continue;
-      }
-      interpolation_filter_rd(
-          x, cpi, tile_data, bsize, mi_row, mi_col, orig_dst, rd, rd_stats_y,
-          rd_stats, switchable_rate, dst_bufs, i, switchable_ctx, skip_pred);
-      skip_pred = (skip_hor & skip_ver);
-    }
+    int skip_pred = skip_hor & skip_ver;
+    uint16_t allowed_interp_mask = 0;
+
+    // REG_REG filter type is evaluated beforehand, hence skip it
+    set_interp_filter_allowed_mask(&allowed_interp_mask, SHARP_SHARP);
+    set_interp_filter_allowed_mask(&allowed_interp_mask, SMOOTH_SMOOTH);
+    if (cpi->sf.adaptive_interp_filter_search)
+      allowed_interp_mask &= cpi->sf.interp_filter_search_mask;
+
+    find_best_interp_rd_facade(x, cpi, tile_data, bsize, mi_row, mi_col,
+                               orig_dst, rd, rd_stats_y, rd_stats,
+                               switchable_rate, dst_bufs, switchable_ctx,
+                               skip_pred, allowed_interp_mask, 1);
   } else {
     int skip_pred = (skip_hor & skip_ver);
     for (i = (SWITCHABLE_FILTERS + 1); i < filter_set_size;
@@ -8522,8 +8519,7 @@
       // accounting switchable filter rate)
       if (cpi->sf.skip_sharp_interp_filter_search &&
           skip_pred != cpi->default_interp_skip_flags) {
-        if (mbmi->interp_filters.as_int ==
-            filter_sets[(SWITCHABLE_FILTERS + 1)].as_int)
+        if (mbmi->interp_filters.as_int == filter_sets[SMOOTH_SMOOTH].as_int)
           break;
       }
     }