AV1 RT: Clean up rate calculation in interp filter
0.2% BDRate improvement on rtc_derf speed7 due to bug in best rate
calculation
Change-Id: I2c699369d7968a476e99c2473f3585ed57d5766d
diff --git a/av1/encoder/nonrd_pickmode.c b/av1/encoder/nonrd_pickmode.c
index df2f149..6c8c2d9 100644
--- a/av1/encoder/nonrd_pickmode.c
+++ b/av1/encoder/nonrd_pickmode.c
@@ -1227,7 +1227,6 @@
int is_skippable;
int pf_rate[FILTER_SEARCH_SIZE] = { 0 };
int64_t pf_dist[FILTER_SEARCH_SIZE] = { 0 };
- int curr_rate[FILTER_SEARCH_SIZE] = { 0 };
unsigned int pf_var[FILTER_SEARCH_SIZE] = { 0 };
unsigned int pf_sse[FILTER_SEARCH_SIZE] = { 0 };
int64_t pf_sse_block_yrd[FILTER_SEARCH_SIZE] = { 0 };
@@ -1270,7 +1269,6 @@
skip_txfm[i] = this_rdc_fil.skip;
*block_yrd_computed = 1;
}
- curr_rate[i] = pf_rate[i];
pf_rate[i] += av1_get_switchable_rate(cm, x, xd);
cost = RDCOST(x->rdmult, pf_rate[i], pf_dist[i]);
pf_tx_size[i] = mi->tx_size;
@@ -1296,7 +1294,7 @@
mi->interp_filters = av1_broadcast_interp_filter(filters[best_filter_index]);
mi->tx_size = pf_tx_size[best_filter_index];
- this_rdc->rate = curr_rate[best_filter_index];
+ this_rdc->rate = pf_rate[best_filter_index];
this_rdc->dist = pf_dist[best_filter_index];
*var_y = pf_var[best_filter_index];
*sse_y = pf_sse[best_filter_index];