OLD | NEW |
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 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 | 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 | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 import("//build/config/arm.gni") | 9 import("//build/config/arm.gni") |
10 import("//third_party/protobuf/proto_library.gni") | 10 import("//third_party/protobuf/proto_library.gni") |
11 import("../../build/webrtc.gni") | 11 import("../../build/webrtc.gni") |
12 | 12 |
13 declare_args() { | 13 declare_args() { |
14 # Disables the usual mode where we trust the reported system delay | 14 # Disables the usual mode where we trust the reported system delay |
15 # values the AEC receives. The corresponding define is set appropriately | 15 # values the AEC receives. The corresponding define is set appropriately |
16 # in the code, but it can be force-enabled here for testing. | 16 # in the code, but it can be force-enabled here for testing. |
17 aec_untrusted_delay_for_testing = false | 17 aec_untrusted_delay_for_testing = false |
18 } | 18 } |
19 | 19 |
20 rtc_static_library("audio_processing") { | 20 rtc_static_library("audio_processing") { |
21 sources = [ | 21 sources = [ |
22 "aec/aec_core.cc", | 22 "aec/aec_core.cc", |
23 "aec/aec_core.h", | 23 "aec/aec_core.h", |
24 "aec/aec_core_optimized_methods.h", | 24 "aec/aec_core_optimized_methods.h", |
25 "aec/aec_rdft.cc", | |
26 "aec/aec_rdft.h", | |
27 "aec/aec_resampler.cc", | 25 "aec/aec_resampler.cc", |
28 "aec/aec_resampler.h", | 26 "aec/aec_resampler.h", |
29 "aec/echo_cancellation.cc", | 27 "aec/echo_cancellation.cc", |
30 "aec/echo_cancellation.h", | 28 "aec/echo_cancellation.h", |
31 "aecm/aecm_core.cc", | 29 "aecm/aecm_core.cc", |
32 "aecm/aecm_core.h", | 30 "aecm/aecm_core.h", |
33 "aecm/echo_control_mobile.cc", | 31 "aecm/echo_control_mobile.cc", |
34 "aecm/echo_control_mobile.h", | 32 "aecm/echo_control_mobile.h", |
35 "agc/agc.cc", | 33 "agc/agc.cc", |
36 "agc/agc.h", | 34 "agc/agc.h", |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 "transient/wpd_tree.h", | 120 "transient/wpd_tree.h", |
123 "typing_detection.cc", | 121 "typing_detection.cc", |
124 "typing_detection.h", | 122 "typing_detection.h", |
125 "utility/block_mean_calculator.cc", | 123 "utility/block_mean_calculator.cc", |
126 "utility/block_mean_calculator.h", | 124 "utility/block_mean_calculator.h", |
127 "utility/delay_estimator.cc", | 125 "utility/delay_estimator.cc", |
128 "utility/delay_estimator.h", | 126 "utility/delay_estimator.h", |
129 "utility/delay_estimator_internal.h", | 127 "utility/delay_estimator_internal.h", |
130 "utility/delay_estimator_wrapper.cc", | 128 "utility/delay_estimator_wrapper.cc", |
131 "utility/delay_estimator_wrapper.h", | 129 "utility/delay_estimator_wrapper.h", |
| 130 "utility/ooura_fft.cc", |
| 131 "utility/ooura_fft.h", |
| 132 "utility/ooura_fft_tables_common.h", |
132 "vad/common.h", | 133 "vad/common.h", |
133 "vad/gmm.cc", | 134 "vad/gmm.cc", |
134 "vad/gmm.h", | 135 "vad/gmm.h", |
135 "vad/noise_gmm_tables.h", | 136 "vad/noise_gmm_tables.h", |
136 "vad/pitch_based_vad.cc", | 137 "vad/pitch_based_vad.cc", |
137 "vad/pitch_based_vad.h", | 138 "vad/pitch_based_vad.h", |
138 "vad/pitch_internal.cc", | 139 "vad/pitch_internal.cc", |
139 "vad/pitch_internal.h", | 140 "vad/pitch_internal.h", |
140 "vad/pole_zero_filter.cc", | 141 "vad/pole_zero_filter.cc", |
141 "vad/pole_zero_filter.h", | 142 "vad/pole_zero_filter.h", |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 | 219 |
219 if (rtc_build_with_neon) { | 220 if (rtc_build_with_neon) { |
220 deps += [ ":audio_processing_neon" ] | 221 deps += [ ":audio_processing_neon" ] |
221 } | 222 } |
222 | 223 |
223 if (current_cpu == "mipsel") { | 224 if (current_cpu == "mipsel") { |
224 sources += [ "aecm/aecm_core_mips.cc" ] | 225 sources += [ "aecm/aecm_core_mips.cc" ] |
225 if (mips_float_abi == "hard") { | 226 if (mips_float_abi == "hard") { |
226 sources += [ | 227 sources += [ |
227 "aec/aec_core_mips.cc", | 228 "aec/aec_core_mips.cc", |
228 "aec/aec_rdft_mips.cc", | 229 "utility/ooura_fft_mips.cc", |
229 ] | 230 ] |
230 } | 231 } |
231 } else { | 232 } else { |
232 sources += [ "aecm/aecm_core_c.cc" ] | 233 sources += [ "aecm/aecm_core_c.cc" ] |
233 } | 234 } |
234 | 235 |
235 # TODO(jschuh): Bug 1348: fix this warning. | 236 # TODO(jschuh): Bug 1348: fix this warning. |
236 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] | 237 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
237 | 238 |
238 deps += [ | 239 deps += [ |
(...skipping 10 matching lines...) Expand all Loading... |
249 ] | 250 ] |
250 | 251 |
251 proto_out_dir = "webrtc/modules/audio_processing" | 252 proto_out_dir = "webrtc/modules/audio_processing" |
252 } | 253 } |
253 } | 254 } |
254 | 255 |
255 if (current_cpu == "x86" || current_cpu == "x64") { | 256 if (current_cpu == "x86" || current_cpu == "x64") { |
256 rtc_static_library("audio_processing_sse2") { | 257 rtc_static_library("audio_processing_sse2") { |
257 sources = [ | 258 sources = [ |
258 "aec/aec_core_sse2.cc", | 259 "aec/aec_core_sse2.cc", |
259 "aec/aec_rdft_sse2.cc", | 260 "utility/ooura_fft_sse2.cc", |
| 261 "utility/ooura_fft_tables_neon_sse2.h", |
260 ] | 262 ] |
261 | 263 |
262 if (is_posix) { | 264 if (is_posix) { |
263 cflags = [ "-msse2" ] | 265 cflags = [ "-msse2" ] |
264 } | 266 } |
265 | 267 |
266 if (apm_debug_dump) { | 268 if (apm_debug_dump) { |
267 defines = [ "WEBRTC_APM_DEBUG_DUMP=1" ] | 269 defines = [ "WEBRTC_APM_DEBUG_DUMP=1" ] |
268 } else { | 270 } else { |
269 defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ] | 271 defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ] |
270 } | 272 } |
271 } | 273 } |
272 } | 274 } |
273 | 275 |
274 if (rtc_build_with_neon) { | 276 if (rtc_build_with_neon) { |
275 rtc_static_library("audio_processing_neon") { | 277 rtc_static_library("audio_processing_neon") { |
276 sources = [ | 278 sources = [ |
277 "aec/aec_core_neon.cc", | 279 "aec/aec_core_neon.cc", |
278 "aec/aec_rdft_neon.cc", | |
279 "aecm/aecm_core_neon.cc", | 280 "aecm/aecm_core_neon.cc", |
280 "ns/nsx_core_neon.c", | 281 "ns/nsx_core_neon.c", |
| 282 "utility/ooura_fft_neon.cc", |
| 283 "utility/ooura_fft_tables_neon_sse2.h", |
281 ] | 284 ] |
282 | 285 |
283 if (current_cpu != "arm64") { | 286 if (current_cpu != "arm64") { |
284 # Enable compilation for the NEON instruction set. This is needed | 287 # Enable compilation for the NEON instruction set. This is needed |
285 # since //build/config/arm.gni only enables NEON for iOS, not Android. | 288 # since //build/config/arm.gni only enables NEON for iOS, not Android. |
286 # This provides the same functionality as webrtc/build/arm_neon.gypi. | 289 # This provides the same functionality as webrtc/build/arm_neon.gypi. |
287 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ] | 290 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ] |
288 cflags = [ "-mfpu=neon" ] | 291 cflags = [ "-mfpu=neon" ] |
289 } | 292 } |
290 | 293 |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 "test/protobuf_utils.cc", | 461 "test/protobuf_utils.cc", |
459 "test/protobuf_utils.h", | 462 "test/protobuf_utils.h", |
460 ] | 463 ] |
461 | 464 |
462 deps = [ | 465 deps = [ |
463 ":audioproc_debug_proto", | 466 ":audioproc_debug_proto", |
464 ] | 467 ] |
465 } | 468 } |
466 } | 469 } |
467 } | 470 } |
OLD | NEW |