summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_denoiser.c
diff options
context:
space:
mode:
authorJackyChen <jackychen@google.com>2014-09-04 14:16:26 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-09-04 14:16:26 -0700
commit7ba600dc894543c04996f7692042026ae0db165b (patch)
tree58bad35340b84836fc415fce91f346d07371325e /vp9/encoder/vp9_denoiser.c
parent27db51c6025af11521475f0ad0716d798107c9d8 (diff)
parente30f7698f5c500f3a1db992126a03d23cbccc533 (diff)
downloadlibvpx-7ba600dc894543c04996f7692042026ae0db165b.tar
libvpx-7ba600dc894543c04996f7692042026ae0db165b.tar.gz
libvpx-7ba600dc894543c04996f7692042026ae0db165b.tar.bz2
libvpx-7ba600dc894543c04996f7692042026ae0db165b.zip
Merge "Fix a bug in VP9 denoiser."
Diffstat (limited to 'vp9/encoder/vp9_denoiser.c')
-rw-r--r--vp9/encoder/vp9_denoiser.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c
index e9fbf1bbf..e047f7ef6 100644
--- a/vp9/encoder/vp9_denoiser.c
+++ b/vp9/encoder/vp9_denoiser.c
@@ -145,11 +145,17 @@ static VP9_DENOISER_DECISION denoiser_filter(const uint8_t *sig, int sig_stride,
adj = delta;
}
if (diff > 0) {
+ // Diff positive means we made positive adjustment above
+ // (in first try/attempt), so now make negative adjustment to bring
+ // denoised signal down.
avg[c] = MAX(0, avg[c] - adj);
- total_adj += adj;
+ total_adj -= adj;
} else {
+ // Diff negative means we made negative adjustment above
+ // (in first try/attempt), so now make positive adjustment to bring
+ // denoised signal up.
avg[c] = MIN(UINT8_MAX, avg[c] + adj);
- total_adj -= adj;
+ total_adj += adj;
}
}
sig += sig_stride;