Use interp_rd_facade for full interp filter

Use find_best_interp_rd_facade() in full
interpolation search of dual filter

Change-Id: Ia47b238a54bc3c38031989f72ffea29bac9de6e4
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index a2b51c1..5a8f601 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8385,6 +8385,8 @@
     const int bh = block_size_high[bsize];
     int best_dual_mode = 0;
     int skip_pred = bw <= 4 ? cpi->default_interp_skip_flags : skip_hor;
+    // TODO(any): Make use of find_best_interp_rd_facade()
+    // if speed impact is negligible
     for (int i = (SWITCHABLE_FILTERS - 1); i >= 1; --i) {
       if (interpolation_filter_rd(x, cpi, tile_data, bsize, mi_row, mi_col,
                                   orig_dst, rd, rd_stats_y, rd_stats,
@@ -8721,7 +8723,6 @@
   MB_MODE_INFO *const mbmi = xd->mi[0];
   const int need_search =
       av1_is_interp_needed(xd) && av1_is_interp_search_needed(xd);
-  int i;
   const int ref_frame = xd->mi[0]->ref_frame[0];
   RD_STATS rd_stats_luma, rd_stats;
 
@@ -8820,14 +8821,14 @@
                                  skip_hor, skip_ver);
     } else {
       // Use full interpolation filter search
+      uint16_t allowed_interp_mask = ALLOW_ALL_INTERP_FILT_MASK;
       // REG_REG filter type is evaluated beforehand, so loop is repeated over
       // REG_SMOOTH to SHARP_SHARP for full interpolation filter search
-      for (i = filter_set_size; i > REG_REG; --i) {
-        interpolation_filter_rd(x, cpi, tile_data, bsize, mi_row, mi_col,
-                                orig_dst, rd, &rd_stats_luma, &rd_stats,
-                                switchable_rate, dst_bufs, i, switchable_ctx,
-                                (skip_hor & skip_ver));
-      }
+      reset_interp_filter_allowed_mask(&allowed_interp_mask, REG_REG);
+      find_best_interp_rd_facade(x, cpi, tile_data, bsize, mi_row, mi_col,
+                                 orig_dst, rd, &rd_stats_luma, &rd_stats,
+                                 switchable_rate, dst_bufs, switchable_ctx,
+                                 (skip_hor & skip_ver), allowed_interp_mask, 0);
     }
   } else {
     // Evaluate non-dual interp filters