summaryrefslogtreecommitdiff
path: root/vp8/encoder/denoising.c
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2014-10-24 09:31:38 -0700
committerMarco <marpan@google.com>2014-10-24 09:36:18 -0700
commitfe2fd37bb2121cbbb95d826089d88357e70c87a8 (patch)
tree2e1bce4b53090607c9dc715474ad8f747a3fcfe1 /vp8/encoder/denoising.c
parent60d192db04b23b386fe30059b807101867725896 (diff)
downloadlibvpx-fe2fd37bb2121cbbb95d826089d88357e70c87a8.tar
libvpx-fe2fd37bb2121cbbb95d826089d88357e70c87a8.tar.gz
libvpx-fe2fd37bb2121cbbb95d826089d88357e70c87a8.tar.bz2
libvpx-fe2fd37bb2121cbbb95d826089d88357e70c87a8.zip
vp8: Updates to noise level estimate.
-Use full bandwidth (when temporal layers is on) for checking switching. -Normalize metric wrt num_blocks. -Rounding fix to update of average noise level metric. -Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()). -Adjust some thresholds. Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
Diffstat (limited to 'vp8/encoder/denoising.c')
-rw-r--r--vp8/encoder/denoising.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/vp8/encoder/denoising.c b/vp8/encoder/denoising.c
index 75b2a3be4..c0eff4e55 100644
--- a/vp8/encoder/denoising.c
+++ b/vp8/encoder/denoising.c
@@ -374,7 +374,7 @@ void vp8_denoiser_set_parameters(VP8_DENOISER *denoiser, int mode) {
} else if (mode == 3) {
denoiser->denoiser_mode = kDenoiserOnYUVAggressive;
} else {
- denoiser->denoiser_mode = kDenoiserOnAdaptive;
+ denoiser->denoiser_mode = kDenoiserOnYUV;
}
if (denoiser->denoiser_mode != kDenoiserOnYUVAggressive) {
denoiser->denoise_pars.scale_sse_thresh = 1;
@@ -393,7 +393,7 @@ void vp8_denoiser_set_parameters(VP8_DENOISER *denoiser, int mode) {
denoiser->denoise_pars.pickmode_mv_bias = 75;
denoiser->denoise_pars.qp_thresh = 85;
denoiser->denoise_pars.consec_zerolast = 15;
- denoiser->denoise_pars.spatial_blur = 20;
+ denoiser->denoise_pars.spatial_blur = 0;
}
}
@@ -453,16 +453,16 @@ int vp8_denoiser_allocate(VP8_DENOISER *denoiser, int width, int height,
// Bitrate thresholds and noise metric (nmse) thresholds for switching to
// aggressive mode.
// TODO(marpan): Adjust thresholds, including effect on resolution.
- denoiser->bitrate_threshold = 300000; // (bits/sec).
- denoiser->threshold_aggressive_mode = 35;
+ denoiser->bitrate_threshold = 400000; // (bits/sec).
+ denoiser->threshold_aggressive_mode = 80;
if (width * height > 1280 * 720) {
- denoiser->bitrate_threshold = 2000000;
- denoiser->threshold_aggressive_mode = 1400;
+ denoiser->bitrate_threshold = 2500000;
+ denoiser->threshold_aggressive_mode = 180;
} else if (width * height > 960 * 540) {
- denoiser->bitrate_threshold = 800000;
- denoiser->threshold_aggressive_mode = 150;
+ denoiser->bitrate_threshold = 1000000;
+ denoiser->threshold_aggressive_mode = 120;
} else if (width * height > 640 * 480) {
- denoiser->bitrate_threshold = 500000;
+ denoiser->bitrate_threshold = 600000;
denoiser->threshold_aggressive_mode = 100;
}
return 0;