rtc: Enable the use of golden ref for speed < 7
The golden ref was disabled to avoid encoder speed decrease in
https://aomedia-review.googlesource.com/c/aom/+/142041
This was re-evaluated for rt speed 5 and 6. The coding gain was
significant and outweighed the speed drop. Thus it was enabled.
Here were borg test results.
avg_psnr: ovr_psnr: ssim: encoder speed:
speed 5:
rtc_derf: -3.041 -3.112 -3.377 -11.518
rtc: -2.539 -2.295 -2.519 -9.124
speed 6:
rtc_derf: -2.993 -3.097 -3.363 -9.622
rtc: -2.459 -2.251 -2.471 -8.235
STATS_CHANGED for rt speed < 7
Change-Id: Icaa3135ab3922e32f0b4d09caf0c5571d4c8e22b
diff --git a/av1/encoder/ratectrl.c b/av1/encoder/ratectrl.c
index 6026f14..f34cb3b 100644
--- a/av1/encoder/ratectrl.c
+++ b/av1/encoder/ratectrl.c
@@ -2423,8 +2423,7 @@
// Set the reference frame flags.
ext_flags->ref_frame_flags ^= AOM_LAST_FLAG;
ext_flags->ref_frame_flags ^= AOM_ALT_FLAG;
- if (cpi->sf.rt_sf.use_golden_frame)
- ext_flags->ref_frame_flags ^= AOM_GOLD_FLAG;
+ ext_flags->ref_frame_flags ^= AOM_GOLD_FLAG;
if (cpi->sf.rt_sf.ref_frame_comp_nonrd[1])
ext_flags->ref_frame_flags ^= AOM_LAST2_FLAG;
const int sh = 7 - gld_fixed_slot;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 3648363..31f5974 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1435,7 +1435,6 @@
if (cpi->oxcf.kf_cfg.key_freq_max != 0 &&
cm->width * cm->height > 640 * 480)
sf->rt_sf.use_temporal_noise_estimate = 1;
- sf->rt_sf.use_golden_frame = 0;
sf->rt_sf.skip_tx_no_split_var_based_partition = 1;
}
@@ -1448,7 +1447,6 @@
}
if (speed >= 7) {
- sf->rt_sf.use_golden_frame = 1;
sf->part_sf.default_max_partition_size = BLOCK_128X128;
sf->part_sf.default_min_partition_size = BLOCK_8X8;
sf->part_sf.partition_search_type = VAR_BASED_PARTITION;
@@ -1828,7 +1826,6 @@
rt_sf->nonrd_prune_ref_frame_search = 0;
rt_sf->use_nonrd_pick_mode = 0;
rt_sf->use_nonrd_altref_frame = 0;
- rt_sf->use_golden_frame = 0;
rt_sf->use_comp_ref_nonrd = 0;
rt_sf->use_real_time_ref_set = 0;
rt_sf->short_circuit_low_temp_var = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index c1861d7..9e1fe39 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -1233,9 +1233,6 @@
// Use ALTREF frame in non-RD mode decision.
int use_nonrd_altref_frame;
- // Use GOLDEN frame in pickmode decision.
- int use_golden_frame;
-
// Use compound reference for non-RD mode.
int use_comp_ref_nonrd;