Adjust tx_type_search.prune_tx_type_using_stats feature
This feature works better for >=480p resolutions. Change the feature
to be a frame size dependent feature.
Besides midres result given in previous CL, here is hdres borg result.
avg_psnr: ovr_psnr: ssim:
0.044 0.031 -0.020
Average speedup over whole hdres set is 2.8%.
Change-Id: I5bc3a951967253b7d517893d5ce2a5cbd7fb086c
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index be937ef..766b1aa 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -4963,7 +4963,8 @@
q_low = bottom_index;
q_high = top_index;
- if (cm->current_frame.frame_type == KEY_FRAME) {
+ if (cpi->sf.tx_type_search.prune_tx_type_using_stats &&
+ cm->current_frame.frame_type == KEY_FRAME) {
av1_copy(cpi->tx_type_probs, default_tx_type_probs);
for (int f = 0; f < FRAME_UPDATE_TYPES; f++) {
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index d60b2cb..af963c8 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -207,6 +207,8 @@
} else {
sf->partition_search_breakout_dist_thr = (1 << 24);
}
+
+ if (is_480p_or_larger) sf->tx_type_search.prune_tx_type_using_stats = 1;
}
}
@@ -391,7 +393,6 @@
sf->perform_coeff_opt = is_boosted_arf2_bwd_type ? 2 : 4;
sf->adaptive_txb_search_level = boosted ? 2 : 3;
sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED_MORE;
- sf->tx_type_search.prune_tx_type_using_stats = 1;
}
if (speed >= 5) {