Clean up adaptive_pred_interp_filter speed feature
adaptive_pred_interp_filter is not used. This patch
will remove this speed feature.
Change-Id: I76dd24628889113564f5e5611cf0becc86b10f5a
diff --git a/av1/encoder/context_tree.c b/av1/encoder/context_tree.c
index 1ee68ad..55a4e6f 100644
--- a/av1/encoder/context_tree.c
+++ b/av1/encoder/context_tree.c
@@ -230,7 +230,6 @@
dst_ctx->rd_mode_is_ready = src_ctx->rd_mode_is_ready;
memcpy(dst_ctx->pred_mv, src_ctx->pred_mv, sizeof(MV) * REF_FRAMES);
- dst_ctx->pred_interp_filter = src_ctx->pred_interp_filter;
dst_ctx->partition = src_ctx->partition;
}
diff --git a/av1/encoder/context_tree.h b/av1/encoder/context_tree.h
index f53b906..803092b 100644
--- a/av1/encoder/context_tree.h
+++ b/av1/encoder/context_tree.h
@@ -53,7 +53,6 @@
// motion vector cache for adaptive motion search control in partition
// search loop
MV pred_mv[REF_FRAMES];
- InterpFilter pred_interp_filter;
PARTITION_TYPE partition;
} PICK_MODE_CONTEXT;
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 01975da..256916a 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -2792,11 +2792,6 @@
av1_init_rd_stats(&sum_rdc);
subsize = get_partition_subsize(bsize, PARTITION_HORZ);
if (cpi->sf.adaptive_motion_search) load_pred_mv(x, ctx_none);
- if (cpi->sf.adaptive_pred_interp_filter && bsize == BLOCK_8X8 &&
- partition_none_allowed) {
- pc_tree->horizontal[0].pred_interp_filter =
- ctx_none->mic.interp_filters.as_filters.y_filter;
- }
sum_rdc.rate = partition_cost[PARTITION_HORZ];
sum_rdc.rdcost = RDCOST(x->rdmult, sum_rdc.rate, 0);
RD_STATS best_remain_rdcost;
@@ -2837,12 +2832,6 @@
if (cpi->sf.adaptive_motion_search) load_pred_mv(x, ctx_h);
- if (cpi->sf.adaptive_pred_interp_filter && bsize == BLOCK_8X8 &&
- partition_none_allowed) {
- pc_tree->horizontal[1].pred_interp_filter =
- ctx_h->mic.interp_filters.as_filters.y_filter;
- }
-
av1_rd_stats_subtraction(x->rdmult, &best_rdc, &sum_rdc,
&best_remain_rdcost);
@@ -2891,11 +2880,6 @@
if (cpi->sf.adaptive_motion_search) load_pred_mv(x, ctx_none);
- if (cpi->sf.adaptive_pred_interp_filter && bsize == BLOCK_8X8 &&
- partition_none_allowed) {
- pc_tree->vertical[0].pred_interp_filter =
- ctx_none->mic.interp_filters.as_filters.y_filter;
- }
sum_rdc.rate = partition_cost[PARTITION_VERT];
sum_rdc.rdcost = RDCOST(x->rdmult, sum_rdc.rate, 0);
RD_STATS best_remain_rdcost;
@@ -2935,12 +2919,6 @@
if (cpi->sf.adaptive_motion_search) load_pred_mv(x, ctx_none);
- if (cpi->sf.adaptive_pred_interp_filter && bsize == BLOCK_8X8 &&
- partition_none_allowed) {
- pc_tree->vertical[1].pred_interp_filter =
- ctx_none->mic.interp_filters.as_filters.y_filter;
- }
-
av1_rd_stats_subtraction(x->rdmult, &best_rdc, &sum_rdc,
&best_remain_rdcost);
pick_sb_modes(cpi, tile_data, x, mi_row, mi_col + mi_step, &this_rdc,
@@ -3937,7 +3915,6 @@
MACROBLOCK *const x = &td->mb;
MACROBLOCKD *const xd = &x->e_mbd;
const SPEED_FEATURES *const sf = &cpi->sf;
- const int leaf_nodes = 256;
const int sb_cols_in_tile = av1_get_sb_cols_in_tile(cm, tile_data->tile_info);
const BLOCK_SIZE sb_size = cm->seq_params.sb_size;
const int mib_size = cm->seq_params.mib_size;
@@ -4008,15 +3985,6 @@
default: assert(0);
}
- if (sf->adaptive_pred_interp_filter) {
- for (int i = 0; i < leaf_nodes; ++i) {
- td->pc_tree[i].vertical[0].pred_interp_filter = SWITCHABLE;
- td->pc_tree[i].vertical[1].pred_interp_filter = SWITCHABLE;
- td->pc_tree[i].horizontal[0].pred_interp_filter = SWITCHABLE;
- td->pc_tree[i].horizontal[1].pred_interp_filter = SWITCHABLE;
- }
- }
-
x->mb_rd_record.num = x->mb_rd_record.index_start = 0;
if (!use_nonrd_mode) {
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index eb0521c..ff426ae 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -150,7 +150,6 @@
}
if (is_720p_or_larger) {
- sf->adaptive_pred_interp_filter = 0;
sf->partition_search_breakout_dist_thr = (1 << 24);
sf->partition_search_breakout_rate_thr = 120;
} else {
@@ -303,7 +302,6 @@
if (speed >= 3) {
sf->tx_size_search_method = boosted ? USE_FULL_RD : USE_LARGESTALL;
sf->less_rectangular_check_level = 2;
- sf->adaptive_pred_interp_filter = 1;
// adaptive_motion_search breaks encoder multi-thread tests.
// The values in x->pred_mv[] differ for single and multi-thread cases.
// See aomedia:1778.
@@ -336,7 +334,6 @@
(boosted || cm->allow_screen_content_tools) ? 0 : 1;
sf->reduce_wiener_window_size = !boosted;
sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED;
- sf->adaptive_pred_interp_filter = 0;
sf->cb_pred_filter_search = 1;
sf->adaptive_mode_search = 1;
sf->alt_ref_search_fp = 1;
@@ -516,7 +513,6 @@
sf->selective_ref_frame = 4;
sf->tx_size_search_method = boosted ? USE_FULL_RD : USE_LARGESTALL;
sf->less_rectangular_check_level = 2;
- sf->adaptive_pred_interp_filter = 1;
// adaptive_motion_search breaks encoder multi-thread tests.
// The values in x->pred_mv[] differ for single and multi-thread cases.
// See aomedia:1778.
@@ -543,7 +539,6 @@
sf->tx_size_search_method =
frame_is_intra_only(cm) ? USE_FULL_RD : USE_LARGESTALL;
sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED;
- sf->adaptive_pred_interp_filter = 0;
sf->adaptive_mode_search = 1;
sf->alt_ref_search_fp = 1;
sf->skip_sharp_interp_filter_search = 1;
@@ -677,7 +672,6 @@
sf->reduce_inter_modes = 0;
sf->selective_ref_gm = 1;
sf->adaptive_motion_search = 0;
- sf->adaptive_pred_interp_filter = 0;
sf->adaptive_mode_search = 0;
sf->alt_ref_search_fp = 0;
sf->partition_search_type = SEARCH_PARTITION;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 7604d87..4d02d56 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -433,12 +433,6 @@
// Pattern to be used for any exhaustive mesh searches.
MESH_PATTERN mesh_patterns[MAX_MESH_STEP];
- // Allows sub 8x8 modes to use the prediction filter that was determined
- // best for 8x8 mode. If set to 0 we always re check all the filters for
- // sizes less than 8x8, 1 means we check all filter modes if no 8x8 filter
- // was selected, and 2 means we use 8 tap if no 8x8 filter mode was selected.
- int adaptive_pred_interp_filter;
-
// Adaptive prediction mode search
int adaptive_mode_search;