Clean-up sf to reuse tpl stats by default
Reuse of tpl stats from gop length decision
is enabled for all speed presets and the
relevant speed feature is cleaned-up.
Instruction Count BD-Rate Loss(%)
cpu-used Reduction(%) avg.psnr ovr.psnr ssim
0 0.402 0.0111 0.0183 0.0251
1 0.785 0.0049 0.0022 0.0111
STATS_CHANGED
Change-Id: I6805af62b6298a9d9966a7c9c1852fb3deb40214
diff --git a/av1/encoder/pass2_strategy.c b/av1/encoder/pass2_strategy.c
index de3e8b9..f16b0d2 100644
--- a/av1/encoder/pass2_strategy.c
+++ b/av1/encoder/pass2_strategy.c
@@ -3627,8 +3627,7 @@
}
} else {
// Tpl stats is reused only when the ARF frame is temporally filtered
- if (is_temporal_filter_enabled &&
- cpi->sf.tpl_sf.reuse_tpl_stats_from_gop_length_decision)
+ if (is_temporal_filter_enabled)
cpi->tpl_data.skip_tpl_setup_stats = 1;
}
}
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 5dcc974..9154d0c 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -518,7 +518,6 @@
sf->lpf_sf.prune_sgr_based_on_wiener = 1;
sf->tpl_sf.prune_ref_frames_in_tpl = 1;
- sf->tpl_sf.reuse_tpl_stats_from_gop_length_decision = 1;
}
if (speed >= 3) {
@@ -1055,7 +1054,6 @@
tpl_sf->search_method = NSTEP;
tpl_sf->disable_filtered_key_tpl = 0;
tpl_sf->prune_ref_frames_in_tpl = 0;
- tpl_sf->reuse_tpl_stats_from_gop_length_decision = 0;
}
static AOM_INLINE void init_gm_sf(GLOBAL_MOTION_SPEED_FEATURES *gm_sf) {
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index c493b5e..43408ef 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -368,12 +368,6 @@
// Prune reference frames in TPL.
int prune_ref_frames_in_tpl;
-
- // Reuse tpl stats, generated during gop length decision, for rdmult and q
- // index modulation (whenever gf interval is not shortened based on tpl
- // stats). Tpl stats is reused when ARF is temporally filtered (as tpl stats
- // generation in second stage would use the temporally filtered ARF).
- int reuse_tpl_stats_from_gop_length_decision;
} TPL_SPEED_FEATURES;
typedef struct GLOBAL_MOTION_SPEED_FEATURES {