Allow more flexible recoding options on speed 5
Currently the ALLOW_RECODE_KFMAXBW setting gives a significant quality
loss on some sequences in vbr mode, especially those sequences with scene
changes. For instance, on shields_720p50.y4m, a loss of 72% is observed.
Disabling it also leads to slightly less over/under-shooting. We also
expect a large slow down in the low bitrate regime. A slow down of ~20%
on some clips under low bitrate condition is expected.
Performance on hdres:
AVG_PSNR | OVR_PSNR | SSIM | AVG_SPD | OVR_SPD
-6.371% | -7.201% | -9.338% | -6.264% | -4.516%
Note: there is a large variance in the performance stats due to recoding
being sensitive to bitrate and sequence complexity.
STATS_CHANGED
Change-Id: If28c60cdd2238f157dfbdf224ea409c0851c627c
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index add9421..d612fd0 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -405,9 +405,6 @@
}
if (speed >= 5) {
- // Note(yunqing): This recode feature causes big quality drop in vbr
- // encoding. Need to work on it.
- sf->recode_loop = ALLOW_RECODE_KFMAXBW;
sf->intra_y_mode_mask[TX_64X64] = INTRA_DC_H_V;
sf->intra_uv_mode_mask[TX_64X64] = UV_INTRA_DC_H_V_CFL;
sf->intra_y_mode_mask[TX_32X32] = INTRA_DC_H_V;