1# 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/ooura:fft_size_128", 58 "../../../common_audio/third_party/ooura:fft_size_256", 59 "../../../rtc_base:checks", 60 "../../../rtc_base:safe_minmax", 61 "../../../rtc_base/system:arch", 62 "../../../system_wrappers", 63 "../../../system_wrappers:field_trial", 64 "../../../system_wrappers:metrics", 65 "../utility:cascaded_biquad_filter", 66 ] 67 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 68} 69 70if (rtc_include_tests) { 71 rtc_source_set("ns_unittests") { 72 testonly = true 73 74 configs += [ "..:apm_debug_dump" ] 75 sources = [ "noise_suppressor_unittest.cc" ] 76 77 deps = [ 78 ":ns", 79 "..:apm_logging", 80 "..:audio_buffer", 81 "..:audio_processing", 82 "..:high_pass_filter", 83 "../../../api:array_view", 84 "../../../rtc_base:checks", 85 "../../../rtc_base:safe_minmax", 86 "../../../rtc_base:stringutils", 87 "../../../rtc_base/system:arch", 88 "../../../system_wrappers", 89 "../../../test:test_support", 90 "../utility:cascaded_biquad_filter", 91 ] 92 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 93 94 defines = [] 95 96 if (rtc_enable_protobuf) { 97 sources += [] 98 } 99 100 if (!build_with_chromium) { 101 deps += [ "..:audio_processing_unittests" ] 102 } 103 } 104} 105