vp9: Adjust some thresholds for noise estimation.
Adjust thresholds for noise estimation, for resolutions above VGA. Tends to push cleaner/low noise clips to LowLow state. No change in RTC metrics. Change-Id: I739ca6b797d0a60ccd1c6c6a2775269b1f007e5e
This commit is contained in:
parent
af69ed20c4
commit
34cce144d8
@ -32,7 +32,7 @@ void vp9_noise_estimate_init(NOISE_ESTIMATE *const ne, int width, int height) {
|
||||
if (width * height >= 1920 * 1080) {
|
||||
ne->thresh = 200;
|
||||
} else if (width * height >= 1280 * 720) {
|
||||
ne->thresh = 140;
|
||||
ne->thresh = 150;
|
||||
} else if (width * height >= 640 * 360) {
|
||||
ne->thresh = 100;
|
||||
}
|
||||
@ -114,6 +114,13 @@ void vp9_update_noise_estimate(VP9_COMP *const cpi) {
|
||||
if (cpi->oxcf.noise_sensitivity > 0 && denoise_svc(cpi))
|
||||
last_source = &cpi->denoiser.last_source;
|
||||
#endif
|
||||
// Tune these thresholds for different resolutions.
|
||||
if (cm->width > 640 && cm->width < 1920) {
|
||||
thresh_consec_zeromv = 5;
|
||||
thresh_sum_diff = 200;
|
||||
thresh_sum_spatial = (120 * 120) << 8;
|
||||
thresh_spatial_var = (48 * 48) << 8;
|
||||
}
|
||||
ne->enabled = enable_noise_estimation(cpi);
|
||||
if (cpi->svc.number_spatial_layers > 1)
|
||||
frame_counter = cpi->svc.current_superframe;
|
||||
@ -130,7 +137,8 @@ void vp9_update_noise_estimate(VP9_COMP *const cpi) {
|
||||
ne->last_h = cm->height;
|
||||
}
|
||||
return;
|
||||
} else if (cpi->rc.avg_frame_low_motion < (low_res ? 70 : 50)) {
|
||||
} else if (cm->current_video_frame > 60 &&
|
||||
cpi->rc.avg_frame_low_motion < (low_res ? 70 : 50)) {
|
||||
// Force noise estimation to 0 and denoiser off if content has high motion.
|
||||
ne->level = kLowLow;
|
||||
#if CONFIG_VP9_TEMPORAL_DENOISING
|
||||
|
Loading…
x
Reference in New Issue
Block a user