Index: webrtc/modules/video_processing/util/denoiser_filter.cc |
diff --git a/webrtc/modules/video_processing/util/denoiser_filter.cc b/webrtc/modules/video_processing/util/denoiser_filter.cc |
index a9c6f005d96cfd1059a69bf01572b47ed0b3b13e..b111a0e4123e6518ff60d4438536d937dfbbc91a 100644 |
--- a/webrtc/modules/video_processing/util/denoiser_filter.cc |
+++ b/webrtc/modules/video_processing/util/denoiser_filter.cc |
@@ -18,13 +18,16 @@ |
namespace webrtc { |
const int kMotionMagnitudeThreshold = 8 * 3; |
-const int kSumDiffThreshold = 16 * 16 * 2; |
-const int kSumDiffThresholdHigh = 600; |
+const int kSumDiffThreshold = 96; |
+const int kSumDiffThresholdHigh = 448; |
std::unique_ptr<DenoiserFilter> DenoiserFilter::Create( |
- bool runtime_cpu_detection) { |
+ bool runtime_cpu_detection, |
+ CpuType* cpu_type) { |
std::unique_ptr<DenoiserFilter> filter; |
+ if (cpu_type != nullptr) |
+ *cpu_type = CPU_NOT_NEON; |
if (runtime_cpu_detection) { |
// If we know the minimum architecture at compile time, avoid CPU detection. |
#if defined(WEBRTC_ARCH_X86_FAMILY) |
@@ -40,9 +43,13 @@ std::unique_ptr<DenoiserFilter> DenoiserFilter::Create( |
#endif |
#elif defined(WEBRTC_HAS_NEON) |
filter.reset(new DenoiserFilterNEON()); |
+ if (cpu_type != nullptr) |
+ *cpu_type = CPU_NEON; |
#elif defined(WEBRTC_DETECT_NEON) |
if (WebRtc_GetCPUFeaturesARM() & kCPUFeatureNEON) { |
filter.reset(new DenoiserFilterNEON()); |
+ if (cpu_type != nullptr) |
+ *cpu_type = CPU_NEON; |
} else { |
filter.reset(new DenoiserFilterC()); |
} |