summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_denoiser.c
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2017-02-13 10:16:42 -0800
committerMarco <marpan@google.com>2017-02-21 17:22:11 -0800
commit7f2daa74a05beee77003ef4288eafb3e3db9a531 (patch)
treec56c16d218c7b7ba26007ca17c9dbeec2fd90d51 /vp9/encoder/vp9_denoiser.c
parent6036a0d24fa0946c5830f2a925bd427428c8afb1 (diff)
downloadlibvpx-7f2daa74a05beee77003ef4288eafb3e3db9a531.tar
libvpx-7f2daa74a05beee77003ef4288eafb3e3db9a531.tar.gz
libvpx-7f2daa74a05beee77003ef4288eafb3e3db9a531.tar.bz2
libvpx-7f2daa74a05beee77003ef4288eafb3e3db9a531.zip
vp9: Incorporate source sum_diff into non-rd partition thresholds.
Increase the variance partition thresholds for superblocks that have low sum-diff (from source analysis prior to encoding frame). Use it for now only for speed >= 7 or for denoising on. Small change on metrics for rtc set: less than ~0.1 avgPNSR decrease on RTC set, for both speed 7 and 8. Change-Id: I38325046ebd5f371f51d6e91233d68ff73561af1
Diffstat (limited to 'vp9/encoder/vp9_denoiser.c')
-rw-r--r--vp9/encoder/vp9_denoiser.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c
index afc66d00f..c16429caf 100644
--- a/vp9/encoder/vp9_denoiser.c
+++ b/vp9/encoder/vp9_denoiser.c
@@ -565,12 +565,13 @@ void vp9_denoiser_set_noise_level(VP9_DENOISER *denoiser, int noise_level) {
}
// Scale/increase the partition threshold for denoiser speed-up.
-int64_t vp9_scale_part_thresh(int64_t threshold,
- VP9_DENOISER_LEVEL noise_level) {
- if (noise_level >= kDenLow)
- return ((5 * threshold) >> 2);
+int64_t vp9_scale_part_thresh(int64_t threshold, VP9_DENOISER_LEVEL noise_level,
+ int content_state) {
+ if ((content_state == kLowSadLowSumdiff) ||
+ (content_state == kHighSadLowSumdiff) || noise_level == kDenHigh)
+ return (3 * threshold) >> 1;
else
- return threshold;
+ return (5 * threshold) >> 2;
}
// Scale/increase the ac skip threshold for denoiser speed-up.