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