Pack real time speed features into their own struct
BUG=aomedia:2562
Change-Id: Ibc90899cf1996c841e1756d7e5ccde10f0eb9368
diff --git a/av1/encoder/nonrd_pickmode.c b/av1/encoder/nonrd_pickmode.c
index 94dc44d..94998d2 100644
--- a/av1/encoder/nonrd_pickmode.c
+++ b/av1/encoder/nonrd_pickmode.c
@@ -1248,15 +1248,15 @@
av1_enc_build_inter_predictor(cm, xd, mi_row, mi_col, NULL, bsize,
AOM_PLANE_Y, AOM_PLANE_Y);
if (use_model_yrd_large)
- model_skip_for_sb_y_large(cpi, bsize, mi_row, mi_col, x, xd, &pf_rate[i],
- &pf_dist[i], &pf_var[i], &pf_sse[i],
- this_early_term,
- !cpi->sf.nonrd_use_blockyrd_interp_filter);
+ model_skip_for_sb_y_large(
+ cpi, bsize, mi_row, mi_col, x, xd, &pf_rate[i], &pf_dist[i],
+ &pf_var[i], &pf_sse[i], this_early_term,
+ !cpi->sf.rt_sf.nonrd_use_blockyrd_interp_filter);
else
model_rd_for_sb_y(cpi, bsize, x, xd, &pf_rate[i], &pf_dist[i],
&skip_txfm[i], NULL, &pf_var[i], &pf_sse[i],
- !cpi->sf.nonrd_use_blockyrd_interp_filter);
- if (cpi->sf.nonrd_use_blockyrd_interp_filter) {
+ !cpi->sf.rt_sf.nonrd_use_blockyrd_interp_filter);
+ if (cpi->sf.rt_sf.nonrd_use_blockyrd_interp_filter) {
int64_t this_sse = (int64_t)pf_sse[i];
block_yrd(cpi, x, mi_row, mi_col, &this_rdc_fil, &is_skippable, &this_sse,
bsize, mi->tx_size);
@@ -1480,7 +1480,7 @@
PRED_BUFFER tmp[4];
DECLARE_ALIGNED(16, uint8_t, pred_buf[3 * 128 * 128]);
PRED_BUFFER *this_mode_pred = NULL;
- const int reuse_inter_pred = cpi->sf.reuse_inter_pred_nonrd;
+ const int reuse_inter_pred = cpi->sf.rt_sf.reuse_inter_pred_nonrd;
const int bh = block_size_high[bsize];
const int bw = block_size_wide[bsize];
const int pixels_in_block = bh * bw;
@@ -1491,7 +1491,7 @@
int intra_cost_penalty = av1_get_intra_cost_penalty(
cm->base_qindex, cm->y_dc_delta_q, cm->seq_params.bit_depth);
int64_t inter_mode_thresh = RDCOST(x->rdmult, intra_cost_penalty, 0);
- const int perform_intra_pred = cpi->sf.check_intra_pred_nonrd;
+ const int perform_intra_pred = cpi->sf.rt_sf.check_intra_pred_nonrd;
(void)best_rd_so_far;
@@ -1517,7 +1517,7 @@
av1_count_overlappable_neighbors(cm, xd);
estimate_single_ref_frame_costs(cm, xd, x, segment_id, ref_costs_single);
- if (cpi->sf.use_comp_ref_nonrd)
+ if (cpi->sf.rt_sf.use_comp_ref_nonrd)
estimate_comp_ref_frame_costs(cm, xd, x, segment_id, ref_costs_comp);
memset(&mode_checked[0][0], 0, MB_MODE_COUNT * REF_FRAMES);
@@ -1549,23 +1549,23 @@
mi->ref_frame[1] = NONE_FRAME;
usable_ref_frame =
- cpi->sf.use_nonrd_altref_frame ? ALTREF_FRAME : GOLDEN_FRAME;
+ cpi->sf.rt_sf.use_nonrd_altref_frame ? ALTREF_FRAME : GOLDEN_FRAME;
if (cpi->rc.frames_since_golden == 0 && gf_temporal_ref) {
skip_ref_find_pred[GOLDEN_FRAME] = 1;
- if (!cpi->sf.use_nonrd_altref_frame) usable_ref_frame = LAST_FRAME;
+ if (!cpi->sf.rt_sf.use_nonrd_altref_frame) usable_ref_frame = LAST_FRAME;
}
const int mi_row = xd->mi_row;
const int mi_col = xd->mi_col;
- if (cpi->sf.short_circuit_low_temp_var &&
+ if (cpi->sf.rt_sf.short_circuit_low_temp_var &&
x->nonrd_reduce_golden_mode_search) {
force_skip_low_temp_var =
get_force_skip_low_temp_var(&x->variance_low[0], mi_row, mi_col, bsize);
// If force_skip_low_temp_var is set, and for short circuit mode = 1 and 3,
// skip golden reference.
- if ((cpi->sf.short_circuit_low_temp_var == 1 ||
- cpi->sf.short_circuit_low_temp_var == 3) &&
+ if ((cpi->sf.rt_sf.short_circuit_low_temp_var == 1 ||
+ cpi->sf.rt_sf.short_circuit_low_temp_var == 3) &&
force_skip_low_temp_var) {
usable_ref_frame = LAST_FRAME;
}
@@ -1800,7 +1800,7 @@
#if COLLECT_PICK_MODE_STAT
ms_stat.num_nonskipped_searches[bsize][this_mode]++;
#endif
- if (cpi->sf.use_nonrd_filter_search &&
+ if (cpi->sf.rt_sf.use_nonrd_filter_search &&
((mi->mv[0].as_mv.row & 0x07) || (mi->mv[0].as_mv.col & 0x07)) &&
(ref_frame == LAST_FRAME || !x->nonrd_reduce_golden_mode_search)) {
search_filter_ref(cpi, x, &this_rdc, mi_row, mi_col, tmp, bsize,
@@ -1813,7 +1813,7 @@
: av1_broadcast_interp_filter(filter_ref);
av1_enc_build_inter_predictor(cm, xd, mi_row, mi_col, NULL, bsize,
AOM_PLANE_Y, AOM_PLANE_Y);
- if (cpi->sf.use_modeled_non_rd_cost) {
+ if (cpi->sf.rt_sf.use_modeled_non_rd_cost) {
model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc.rate, &this_rdc.dist,
&this_rdc.skip, NULL, &var_y, &sse_y, 1);
} else {
@@ -1838,7 +1838,7 @@
const int skip_cost = x->skip_cost[skip_ctx][1];
const int no_skip_cost = x->skip_cost[skip_ctx][0];
if (!this_early_term) {
- if (cpi->sf.use_modeled_non_rd_cost) {
+ if (cpi->sf.rt_sf.use_modeled_non_rd_cost) {
if (this_rdc.skip) {
this_rdc.rate = skip_cost;
} else {