Disable first pass partition search on speed >= 4
On speed 4 and above, use_square_only_threshold is set to BLOCK_4X4 on
non-boosted frames, so the behavior of first partition search and second
partition search are almost identical. Disabling
first_partition_search_pass thus gives significant speed up.
Performance:
AVG_PSNR | OVR_PSNR | SSIM | AVG_SPD_UP | SPD_UP:AVG_PSNR
+0.1401% | +0.1385% | +0.3294% | +16.259% | 116:1
STATS_CHANGED
Change-Id: I5368356627f7b9ed0b4f4abf9379d15cab8b1df2
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 614f329..5e9eda3 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -241,7 +241,8 @@
sf->inter_tx_size_search_init_depth_sqr = 1;
sf->intra_tx_size_search_init_depth_rect = 1;
sf->tx_size_search_lgr_block = 1;
- if (speed >= CONFIG_2PASS_PARTITION_SEARCH_LVL) {
+ if (speed >= CONFIG_2PASS_PARTITION_SEARCH_LVL_START &&
+ speed < CONFIG_2PASS_PARTITION_SEARCH_LVL_END) {
sf->two_pass_partition_search = 1;
sf->mode_pruning_based_on_two_pass_partition_search = 1;
}
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 47aba55..b1c835c 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -123,7 +123,9 @@
set_aom_config_var(CONFIG_FP_MB_STATS 0 NUMBER "AV1 experiment flag.")
set_aom_config_var(CONFIG_INTER_STATS_ONLY 0 NUMBER "AV1 experiment flag.")
set_aom_config_var(CONFIG_RD_DEBUG 0 NUMBER "AV1 experiment flag.")
-set_aom_config_var(CONFIG_2PASS_PARTITION_SEARCH_LVL 1 NUMBER
+set_aom_config_var(CONFIG_2PASS_PARTITION_SEARCH_LVL_START 1 NUMBER
+ "AV1 experiment flag.")
+set_aom_config_var(CONFIG_2PASS_PARTITION_SEARCH_LVL_END 4 NUMBER
"AV1 experiment flag.")
set_aom_config_var(CONFIG_SHARP_SETTINGS 0 NUMBER "AV1 experiment flag.")
set_aom_config_var(CONFIG_ONE_PASS_SVM 0 NUMBER "AV1 experiment flag.")