Fix issues with population for the sf recode_tolerance
The speed feature recode_tolerance was set to 55 in
set_good_speed_features_framesize_independent() for
speed=6 in the following CL:
https://aomedia-review.googlesource.com/c/aom/+/123883
Later the speed feature was set based on resolution in
set_good_speed_feature_framesize_dependent() for
speed<=5 in the following CL:
https://aomedia-review.googlesource.com/c/aom/+/132361
As set_good_speed_feature_framesize_dependent() is called
after set_good_speed_features_framesize_independent(), the
speed feature value was being overwritten with unintended
values for speed=6, >= 720p resolutions. In this CL, the
speed feature setting is moved to
set_good_speed_feature_framesize_dependent() to avoid above
issue.
For 'good' encoding,
Instruction Count BD-Rate Loss(%)
cpu Resolution Reduction(%) avg.psnr ovr.psnr ssim
6 HDRES2 0.481 0.0708 0.0812 0.0083
STATS_CHANGED for 'good', speed=6, >= 720p resolutions
Change-Id: I10a30535aaad1bddb43faceb7876162d08f5fa02
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 166bb88..4efafdd 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -860,6 +860,7 @@
sf->lpf_sf.cdef_pick_method = CDEF_FAST_SEARCH_LVL4;
+ sf->hl_sf.recode_tolerance = 55;
if (!is_480p_or_larger) sf->hl_sf.num_frames_used_in_tf = 3;
}
}
@@ -1212,7 +1213,6 @@
if (speed >= 6) {
sf->hl_sf.disable_extra_sc_testing = 1;
sf->hl_sf.second_alt_ref_filtering = 0;
- sf->hl_sf.recode_tolerance = 55;
sf->inter_sf.prune_inter_modes_based_on_tpl = boosted ? 0 : 3;
sf->inter_sf.selective_ref_frame = 6;