AV1 RT: Further refine when we can skip memset
Change-Id: I6c5eb9cdd6dfbe6929b544e59ff9e6b13fabb925
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index ac6a171..67156b7 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -4127,7 +4127,7 @@
// Code each SB in the row
for (int mi_col = tile_info->mi_col_start, sb_col_in_tile = 0;
mi_col < tile_info->mi_col_end; mi_col += mib_size, sb_col_in_tile++) {
- if (!cpi->sf.use_fast_nonrd_pick_mode)
+ if (!cpi->sf.use_real_time_ref_set)
memset(x->mbmi_ext, 0, sb_mi_size * sizeof(*x->mbmi_ext));
(*(cpi->row_mt_sync_read_ptr))(&tile_data->row_mt_sync, sb_row,
sb_col_in_tile);
@@ -4198,15 +4198,15 @@
x->color_sensitivity[0] = 0;
x->color_sensitivity[1] = 0;
- if (!use_nonrd_mode) {
+ if (cpi->sf.use_inter_txb_hash) {
av1_zero(x->txb_rd_record_8X8);
av1_zero(x->txb_rd_record_16X16);
av1_zero(x->txb_rd_record_32X32);
av1_zero(x->txb_rd_record_64X64);
av1_zero(x->txb_rd_record_intra);
-
+ }
+ if (!use_nonrd_mode) {
av1_zero(x->picked_ref_frames_mask);
-
av1_zero(x->pred_mv);
}
PC_TREE *const pc_root = td->pc_root[mib_size_log2 - MIN_MIB_SIZE_LOG2];
@@ -4456,8 +4456,7 @@
td->mb.m_search_count_ptr = &this_tile->m_search_count;
td->mb.ex_search_count_ptr = &this_tile->ex_search_count;
- if (!cpi->sf.use_fast_nonrd_pick_mode)
- cfl_init(&td->mb.e_mbd.cfl, &cm->seq_params);
+ if (cpi->oxcf.enable_cfl_intra) cfl_init(&td->mb.e_mbd.cfl, &cm->seq_params);
av1_crc32c_calculator_init(&td->mb.mb_rd_record.crc_calculator);
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 196a29b..21af226 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -635,6 +635,8 @@
sf->partition_search_type = VAR_BASED_PARTITION;
sf->mode_search_skip_flags |= FLAG_SKIP_INTRA_DIRMISMATCH;
sf->use_real_time_ref_set = 1;
+ sf->tx_type_search.prune_mode = PRUNE_2D_MORE;
+
// Can't use LARGEST TX mode with pre-calculated partition
// and disabled TX64
if (!cpi->oxcf.enable_tx64) sf->tx_size_search_level = 1;
@@ -642,6 +644,7 @@
sf->inter_mode_rd_model_estimation = 2;
sf->cdef_pick_method = CDEF_PICK_FROM_Q;
sf->max_intra_bsize = BLOCK_16X16;
+ sf->use_inter_txb_hash = 0;
}
if (speed >= 7) {
sf->lpf_pick = LPF_PICK_FROM_Q;