Disable extra screen content checking at speed 6
Disabled the screen content checking that required extra key frame
encoding at speed 6.
Borg test results at speed 6:
avg_psnr: ovr_psnr: ssim: speedup:
hdres2: 0.016 0.014 0.044 1.8%
midres2:-0.032 -0.023 0.019 0.8%
STATS_CHANGED
Change-Id: I54364f27a3833507819cc8a211c1a2d3a40abb6f
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 88fa208..e84a55d 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2374,7 +2374,8 @@
#endif
// Determine whether to use screen content tools using two fast encoding.
- av1_determine_sc_tools_with_encoding(cpi, q);
+ if (!cpi->sf.hl_sf.disable_extra_sc_testing)
+ av1_determine_sc_tools_with_encoding(cpi, q);
#if CONFIG_USE_VMAF_RC
if (oxcf->tune_cfg.tuning == AOM_TUNE_VMAF_NEG_MAX_GAIN) {
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 6bae838..83a4763 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -682,6 +682,8 @@
}
if (speed >= 6) {
+ sf->hl_sf.disable_extra_sc_testing = 1;
+
sf->inter_sf.prune_inter_modes_based_on_tpl = boosted ? 0 : 3;
sf->inter_sf.prune_nearmv_using_neighbors = 1;
@@ -1039,6 +1041,7 @@
hl_sf->recode_tolerance = 25;
hl_sf->high_precision_mv_usage = CURRENT_Q;
hl_sf->superres_auto_search_type = SUPERRES_AUTO_ALL;
+ hl_sf->disable_extra_sc_testing = 0;
}
static AOM_INLINE void init_tpl_sf(TPL_SPEED_FEATURES *tpl_sf) {
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index d647b10..04ff082 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -329,6 +329,11 @@
*/
SUPERRES_AUTO_SEARCH_TYPE superres_auto_search_type;
/*!\endcond */
+
+ /*!
+ * Enable/disable extra screen content test by encoding key frame twice.
+ */
+ int disable_extra_sc_testing;
} HIGH_LEVEL_SPEED_FEATURES;
/*!\cond */