Disable two pass partition search on lowres and midres
Currently two pass partition search has an average slow down of 2.3% on
lowres and 4% on midres when the PSNR are limited to 35dB to 45B. There
is however a 9% average speed up on hdres. This patch enables it only on
hdres speed 1 and speed 2.
STATS_CHANGED
Change-Id: I8055a1a108879d4be47b073578206dae5e2a486b
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index eef3a2c..5dfc585 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -116,6 +116,11 @@
sf->ml_partition_search_breakout_thresh[4] = -1; // BLOCK_128X128
}
+ if (is_720p_or_larger && speed >= CONFIG_2PASS_PARTITION_SEARCH_LVL_START &&
+ speed < CONFIG_2PASS_PARTITION_SEARCH_LVL_END) {
+ sf->two_pass_partition_search = 1;
+ }
+
if (speed >= 1) {
if (is_720p_or_larger) {
sf->use_square_partition_only_threshold = BLOCK_128X128;
@@ -168,6 +173,8 @@
sf->partition_search_breakout_dist_thr = (1 << 23);
sf->partition_search_breakout_rate_thr = 120;
}
+ sf->use_first_partition_pass_interintra_stats =
+ sf->two_pass_partition_search;
}
if (speed >= 4) {
@@ -227,9 +234,6 @@
sf->intra_tx_size_search_init_depth_rect = 1;
sf->tx_size_search_lgr_block = 1;
- if (speed >= CONFIG_2PASS_PARTITION_SEARCH_LVL_START &&
- speed < CONFIG_2PASS_PARTITION_SEARCH_LVL_END)
- sf->two_pass_partition_search = 1;
sf->prune_ext_partition_types_search_level = 2;
sf->skip_repeat_interpolation_filter_search = 1;
@@ -316,8 +320,6 @@
sf->tx_type_search.prune_mode = PRUNE_2D_FAST;
sf->gm_search_type = GM_DISABLE_SEARCH;
sf->prune_comp_search_by_single_result = 2;
- sf->use_first_partition_pass_interintra_stats =
- sf->two_pass_partition_search;
sf->prune_motion_mode_level = boosted ? 2 : 3;
sf->prune_warp_using_wmtype = 1;
// TODO(yunqing): evaluate this speed feature for speed 1 & 2, and combine