Extend RTC temporal filtering to speed 9
This was enabled for >=360p. Most clips got gains.
Almost no impact on encoder speed.
Speed 9 borg result on rtc set:
avg_psnr: ovr_psnr: ssim: encoding_spdup:
-0.695 -0.472 -0.399 -0.129
STATS_CHANGED
Change-Id: Ib07eaf4f5d5c1d67462d926d88c8b79ee4bfc927
diff --git a/av1/encoder/encodeframe_utils.c b/av1/encoder/encodeframe_utils.c
index e011b11..3846b78 100644
--- a/av1/encoder/encodeframe_utils.c
+++ b/av1/encoder/encodeframe_utils.c
@@ -1358,7 +1358,7 @@
if (cpi->last_source->y_width != cpi->source->y_width ||
cpi->last_source->y_height != cpi->source->y_height)
return;
- if (!cpi->sf.rt_sf.use_rtc_tf) return;
+ if (!cpi->sf.rt_sf.use_rtc_tf || tmp_sse == 0) return;
// In-place temporal filter. If psnr calculation is enabled, we store the
// source for that.
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 13112ab..f2e0bd3 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1309,11 +1309,11 @@
sf->rt_sf.gf_length_lvl = 1;
sf->rt_sf.skip_cdef_sb = 1;
sf->rt_sf.sad_based_adp_altref_lag = 2;
+ // TODO(yunqing): extend this sf to other speeds and/or other resolutions.
+ sf->rt_sf.use_rtc_tf = 1;
}
if (speed >= 10) {
- // TODO(yunqing): extend this sf to other speeds and/or other resolutions.
- sf->rt_sf.use_rtc_tf = 1;
sf->rt_sf.hybrid_intra_pickmode = 2;
sf->rt_sf.sad_based_adp_altref_lag = 4;
sf->rt_sf.tx_size_level_based_on_qstep = 0;