| Index: webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
|
| diff --git a/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc b/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
|
| index 903d7b1ec66243df449dedd7ba8421af735915e5..614b6c94859b58546e100657f60c8f98e2bb1426 100644
|
| --- a/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
|
| +++ b/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
|
| @@ -139,7 +139,9 @@ DenoiserDecision DenoiserFilterSSE2::MbDenoise(uint8_t* mc_running_avg_y,
|
| const uint8_t* sig,
|
| int sig_stride,
|
| uint8_t motion_magnitude,
|
| - int increase_denoising) {
|
| + int increase_denoising,
|
| + bool denoise_always) {
|
| + unsigned int sum_diff_thresh = 0;
|
| int shift_inc =
|
| (increase_denoising && motion_magnitude <= kMotionMagnitudeThreshold) ? 1
|
| : 0;
|
| @@ -211,9 +213,12 @@ DenoiserDecision DenoiserFilterSSE2::MbDenoise(uint8_t* mc_running_avg_y,
|
| {
|
| // Compute the sum of all pixel differences of this MB.
|
| unsigned int abs_sum_diff = AbsSumDiff16x1(acc_diff);
|
| - unsigned int sum_diff_thresh = kSumDiffThreshold;
|
| - if (increase_denoising)
|
| + if (denoise_always)
|
| + sum_diff_thresh = INT_MAX;
|
| + else if (increase_denoising)
|
| sum_diff_thresh = kSumDiffThresholdHigh;
|
| + else
|
| + sum_diff_thresh = kSumDiffThreshold;
|
| if (abs_sum_diff > sum_diff_thresh) {
|
| // Before returning to copy the block (i.e., apply no denoising),
|
| // check if we can still apply some (weaker) temporal filtering to
|
|
|