AV1 RT: Adjust thrs for var-based partition. Add TX size search
This increases threshold for 32x32->16x16 split and adds tx size search
for speed 6. Overall perf impact is very small, but I see good BDRate
gain (overall 4%, max 9%) for speed 6. For speed7 the speed up is 11%
with BDRate loss of 0.22%.
Change-Id: I70e385fd232765d3e5a5eb4ceecf4ee8ff0b0864
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index ce86f0d..103e053 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -681,9 +681,7 @@
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;
+ sf->tx_size_search_level = 1;
sf->use_comp_ref_nonrd = 0;
sf->inter_mode_rd_model_estimation = 2;
sf->cdef_pick_method = CDEF_PICK_FROM_Q;
@@ -706,7 +704,6 @@
sf->mv.search_method = FAST_DIAMOND;
sf->partition_search_type = VAR_BASED_PARTITION;
sf->mode_search_skip_flags |= FLAG_SKIP_INTRA_DIRMISMATCH;
- sf->tx_size_search_level = 1;
sf->use_nonrd_pick_mode = 1;
sf->use_comp_ref_nonrd = 0;
sf->inter_mode_rd_model_estimation = 2;
diff --git a/av1/encoder/var_based_part.c b/av1/encoder/var_based_part.c
index 39a8d28..59b8c7e 100644
--- a/av1/encoder/var_based_part.c
+++ b/av1/encoder/var_based_part.c
@@ -416,7 +416,7 @@
if (last_qindex >= QINDEX_HIGH_THR) {
threshold_base = (5 * threshold_base) >> 1;
thresholds[1] = threshold_base >> 3;
- thresholds[2] = threshold_base;
+ thresholds[2] = threshold_base << 2;
thresholds[3] = threshold_base << 5;
} else if (last_qindex < QINDEX_LOW_THR) {
thresholds[1] = threshold_base >> 3;