blob: 077cb002f55e6059421f5fb2f48265ffdd4a528b [file] [log] [blame]
Per Ã…hgren0cbb58e2019-10-29 22:59:44 +01001# Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../../../webrtc.gni")
10
11rtc_static_library("ns") {
12 visibility = [ "*" ]
13 configs += [ "..:apm_debug_dump" ]
14 sources = [
15 "fast_math.cc",
16 "fast_math.h",
17 "histograms.cc",
18 "histograms.h",
19 "noise_estimator.cc",
20 "noise_estimator.h",
21 "noise_suppressor.cc",
22 "noise_suppressor.h",
23 "ns_common.h",
24 "ns_config.h",
25 "ns_fft.cc",
26 "ns_fft.h",
27 "prior_signal_model.cc",
28 "prior_signal_model.h",
29 "prior_signal_model_estimator.cc",
30 "prior_signal_model_estimator.h",
31 "quantile_noise_estimator.cc",
32 "quantile_noise_estimator.h",
33 "signal_model.cc",
34 "signal_model.h",
35 "signal_model_estimator.cc",
36 "signal_model_estimator.h",
37 "speech_probability_estimator.cc",
38 "speech_probability_estimator.h",
39 "suppression_params.cc",
40 "suppression_params.h",
41 "wiener_filter.cc",
42 "wiener_filter.h",
43 ]
44
45 defines = []
46 if (rtc_build_with_neon && current_cpu != "arm64") {
47 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
48 cflags = [ "-mfpu=neon" ]
49 }
50
51 deps = [
52 "..:apm_logging",
53 "..:audio_buffer",
54 "..:high_pass_filter",
55 "../../../api:array_view",
56 "../../../common_audio:common_audio_c",
57 "../../../common_audio/third_party/fft4g",
58 "../../../rtc_base:checks",
59 "../../../rtc_base:rtc_base_approved",
60 "../../../rtc_base:safe_minmax",
61 "../../../rtc_base/system:arch",
62 "../../../system_wrappers:cpu_features_api",
63 "../../../system_wrappers:field_trial",
64 "../../../system_wrappers:metrics",
65 "../utility:cascaded_biquad_filter",
66 "../utility:ooura_fft",
67 "//third_party/abseil-cpp/absl/types:optional",
68 ]
69}
70
71if (rtc_include_tests) {
72 rtc_source_set("ns_unittests") {
73 testonly = true
74
75 configs += [ "..:apm_debug_dump" ]
76 sources = [
77 "noise_suppressor_unittest.cc",
78 ]
79
80 deps = [
81 ":ns",
82 "..:apm_logging",
83 "..:audio_buffer",
84 "..:audio_processing",
85 "..:audio_processing_unittests",
86 "..:high_pass_filter",
87 "../../../api:array_view",
88 "../../../rtc_base:checks",
89 "../../../rtc_base:rtc_base_approved",
90 "../../../rtc_base:safe_minmax",
91 "../../../rtc_base/system:arch",
92 "../../../system_wrappers:cpu_features_api",
93 "../../../test:test_support",
94 "../utility:cascaded_biquad_filter",
95 "//third_party/abseil-cpp/absl/types:optional",
96 ]
97
98 defines = []
99
100 if (rtc_enable_protobuf) {
101 sources += []
102 }
103 }
104}