ref: d9fc28c0a15f6731b93796c5686af339c91c7401
parent: b46243d7ff0f0d02d66010fb7830bb767046508b
author: Marco <[email protected]>
date: Mon Sep 26 05:57:49 EDT 2016
vp9: Reduce frame loopfilter-level for 1 pass cbr. Reduce the filt_guess for 1 pass cbr on inter-frames. This reduces visual artifact seen in rtc clip (jimred.vga), and improves metrics on rtc set. Metrics on rtc set for cbr mode overall positive, most clips are up: Speed 7 rtc: avgPSNR/SSIM up by: ~2.6/3.9% Speed 8 rtc: avgPSNR/SSIM up by: ~1.3/2.5% Change-Id: Ia4eccea1c19d65b583516df28823cd756c49464f
--- a/vp9/encoder/vp9_picklpf.c
+++ b/vp9/encoder/vp9_picklpf.c
@@ -180,6 +180,10 @@
}
#else
int filt_guess = ROUND_POWER_OF_TWO(q * 20723 + 1015158, 18);
+ if (cpi->oxcf.pass == 0 && cpi->oxcf.rc_mode == VPX_CBR &&
+ cpi->oxcf.content != VP9E_CONTENT_SCREEN && cm->frame_type != KEY_FRAME)
+ filt_guess = 5 * filt_guess >> 3;
+
#endif // CONFIG_VP9_HIGHBITDEPTH
if (cm->frame_type == KEY_FRAME) filt_guess -= 4;
lf->filter_level = clamp(filt_guess, min_filter_level, max_filter_level);