Revert "Use interp_rd_facade for non dual interp filter"
This reverts commit cece1aed472253e144077b721a3dc2caa428bab1.
Reason for revert: commit cece1aed472253e144077b721a3dc2caa428bab1
is dependent on Cl which is reverted in commit
79b924e5c67e4c1f2864c820dbde0e7f479e0836, hence needs
to be reverted.
BUG=aomedia:2442
STATS_CHANGED
Change-Id: I0c719502e9a5540bce7a9412cb71441a53efcc4c
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 87a0045..25db10c 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8483,19 +8483,21 @@
skip_ver == cpi->default_interp_skip_flags) ||
(block_size_high[bsize] == 4 &&
skip_hor == cpi->default_interp_skip_flags)) {
- 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);
+ 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 &&
+ (cpi->sf.interp_filter_search_mask & (1 << (i >> 2)))) {
+ 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);
+ }
} else {
int skip_pred = (skip_hor & skip_ver);
for (i = (SWITCHABLE_FILTERS + 1); i < filter_set_size;