OLD | NEW |
| (Empty) |
1 # Copyright (c) 2012 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 | |
9 { | |
10 'variables': { | |
11 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/audio_processing/asm_off
sets', | |
12 }, | |
13 'targets': [ | |
14 { | |
15 'target_name': 'audio_processing', | |
16 'type': 'static_library', | |
17 'variables': { | |
18 # Outputs some low-level debug files. | |
19 'agc_debug_dump%': 0, | |
20 | |
21 # Disables the usual mode where we trust the reported system delay | |
22 # values the AEC receives. The corresponding define is set appropriately | |
23 # in the code, but it can be force-enabled here for testing. | |
24 'aec_untrusted_delay_for_testing%': 0, | |
25 }, | |
26 'dependencies': [ | |
27 '<(webrtc_root)/base/base.gyp:rtc_base_approved', | |
28 '<(webrtc_root)/common.gyp:webrtc_common', | |
29 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio', | |
30 '<(webrtc_root)/modules/modules.gyp:isac', | |
31 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', | |
32 ], | |
33 'sources': [ | |
34 'aec/aec_core.cc', | |
35 'aec/aec_core.h', | |
36 'aec/aec_core_optimized_methods.h', | |
37 'aec/aec_resampler.cc', | |
38 'aec/aec_resampler.h', | |
39 'aec/echo_cancellation.cc', | |
40 'aec/echo_cancellation.h', | |
41 'aecm/aecm_core.cc', | |
42 'aecm/aecm_core.h', | |
43 'aecm/echo_control_mobile.cc', | |
44 'aecm/echo_control_mobile.h', | |
45 'agc/agc.cc', | |
46 'agc/agc.h', | |
47 'agc/agc_manager_direct.cc', | |
48 'agc/agc_manager_direct.h', | |
49 'agc/gain_map_internal.h', | |
50 'agc/loudness_histogram.cc', | |
51 'agc/loudness_histogram.h', | |
52 'agc/legacy/analog_agc.c', | |
53 'agc/legacy/analog_agc.h', | |
54 'agc/legacy/digital_agc.c', | |
55 'agc/legacy/digital_agc.h', | |
56 'agc/legacy/gain_control.h', | |
57 'agc/utility.cc', | |
58 'agc/utility.h', | |
59 'audio_buffer.cc', | |
60 'audio_buffer.h', | |
61 'audio_processing_impl.cc', | |
62 'audio_processing_impl.h', | |
63 'beamformer/array_util.cc', | |
64 'beamformer/array_util.h', | |
65 'beamformer/complex_matrix.h', | |
66 'beamformer/covariance_matrix_generator.cc', | |
67 'beamformer/covariance_matrix_generator.h', | |
68 'beamformer/matrix.h', | |
69 'beamformer/nonlinear_beamformer.cc', | |
70 'beamformer/nonlinear_beamformer.h', | |
71 'common.h', | |
72 'echo_cancellation_impl.cc', | |
73 'echo_cancellation_impl.h', | |
74 'echo_control_mobile_impl.cc', | |
75 'echo_control_mobile_impl.h', | |
76 'echo_detector/circular_buffer.cc', | |
77 'echo_detector/circular_buffer.h', | |
78 'echo_detector/mean_variance_estimator.cc', | |
79 'echo_detector/mean_variance_estimator.h', | |
80 'echo_detector/normalized_covariance_estimator.cc', | |
81 'echo_detector/normalized_covariance_estimator.h', | |
82 'gain_control_for_experimental_agc.cc', | |
83 'gain_control_for_experimental_agc.h', | |
84 'gain_control_impl.cc', | |
85 'gain_control_impl.h', | |
86 'high_pass_filter_impl.cc', | |
87 'high_pass_filter_impl.h', | |
88 'include/audio_processing.cc', | |
89 'include/audio_processing.h', | |
90 'include/config.cc', | |
91 'include/config.h', | |
92 'level_controller/biquad_filter.cc', | |
93 'level_controller/biquad_filter.h', | |
94 'level_controller/down_sampler.cc', | |
95 'level_controller/down_sampler.h', | |
96 'level_controller/gain_applier.cc', | |
97 'level_controller/gain_applier.h', | |
98 'level_controller/gain_selector.cc', | |
99 'level_controller/gain_selector.h', | |
100 'level_controller/level_controller_constants.h', | |
101 'level_controller/level_controller.cc', | |
102 'level_controller/level_controller.h', | |
103 'level_controller/noise_spectrum_estimator.cc', | |
104 'level_controller/noise_spectrum_estimator.h', | |
105 'level_controller/noise_level_estimator.cc', | |
106 'level_controller/noise_level_estimator.h', | |
107 'level_controller/peak_level_estimator.cc', | |
108 'level_controller/peak_level_estimator.h', | |
109 'level_controller/saturating_gain_estimator.cc', | |
110 'level_controller/saturating_gain_estimator.h', | |
111 'level_controller/signal_classifier.cc', | |
112 'level_controller/signal_classifier.h', | |
113 'level_estimator_impl.cc', | |
114 'level_estimator_impl.h', | |
115 'logging/apm_data_dumper.cc', | |
116 'logging/apm_data_dumper.h', | |
117 'noise_suppression_impl.cc', | |
118 'noise_suppression_impl.h', | |
119 'render_queue_item_verifier.h', | |
120 'residual_echo_detector.cc', | |
121 'residual_echo_detector.h', | |
122 'rms_level.cc', | |
123 'rms_level.h', | |
124 'splitting_filter.cc', | |
125 'splitting_filter.h', | |
126 'three_band_filter_bank.cc', | |
127 'three_band_filter_bank.h', | |
128 'transient/common.h', | |
129 'transient/daubechies_8_wavelet_coeffs.h', | |
130 'transient/dyadic_decimator.h', | |
131 'transient/moving_moments.cc', | |
132 'transient/moving_moments.h', | |
133 'transient/transient_detector.cc', | |
134 'transient/transient_detector.h', | |
135 'transient/transient_suppressor.cc', | |
136 'transient/transient_suppressor.h', | |
137 'transient/wpd_node.cc', | |
138 'transient/wpd_node.h', | |
139 'transient/wpd_tree.cc', | |
140 'transient/wpd_tree.h', | |
141 'typing_detection.cc', | |
142 'typing_detection.h', | |
143 'utility/block_mean_calculator.cc', | |
144 'utility/block_mean_calculator.h', | |
145 'utility/delay_estimator.cc', | |
146 'utility/delay_estimator.h', | |
147 'utility/delay_estimator_internal.h', | |
148 'utility/delay_estimator_wrapper.cc', | |
149 'utility/delay_estimator_wrapper.h', | |
150 'utility/ooura_fft.cc', | |
151 'utility/ooura_fft.h', | |
152 'utility/ooura_fft_tables_common.h', | |
153 'vad/common.h', | |
154 'vad/gmm.cc', | |
155 'vad/gmm.h', | |
156 'vad/noise_gmm_tables.h', | |
157 'vad/pitch_based_vad.cc', | |
158 'vad/pitch_based_vad.h', | |
159 'vad/pitch_internal.cc', | |
160 'vad/pitch_internal.h', | |
161 'vad/pole_zero_filter.cc', | |
162 'vad/pole_zero_filter.h', | |
163 'vad/standalone_vad.cc', | |
164 'vad/standalone_vad.h', | |
165 'vad/vad_audio_proc.cc', | |
166 'vad/vad_audio_proc.h', | |
167 'vad/vad_audio_proc_internal.h', | |
168 'vad/vad_circular_buffer.cc', | |
169 'vad/vad_circular_buffer.h', | |
170 'vad/voice_activity_detector.cc', | |
171 'vad/voice_activity_detector.h', | |
172 'vad/voice_gmm_tables.h', | |
173 'voice_detection_impl.cc', | |
174 'voice_detection_impl.h', | |
175 ], | |
176 'conditions': [ | |
177 ['apm_debug_dump==1', { | |
178 'defines': ['WEBRTC_APM_DEBUG_DUMP=1',], | |
179 }, { | |
180 'defines': ['WEBRTC_APM_DEBUG_DUMP=0',], | |
181 }], | |
182 ['aec_untrusted_delay_for_testing==1', { | |
183 'defines': ['WEBRTC_UNTRUSTED_DELAY',], | |
184 }], | |
185 ['agc_debug_dump==1', { | |
186 'defines': ['WEBRTC_AGC_DEBUG_DUMP',], | |
187 }], | |
188 ['enable_protobuf==1', { | |
189 'dependencies': ['audioproc_debug_proto'], | |
190 'defines': ['WEBRTC_AUDIOPROC_DEBUG_DUMP'], | |
191 }], | |
192 ['enable_intelligibility_enhancer==1', { | |
193 'defines': ['WEBRTC_INTELLIGIBILITY_ENHANCER=1',], | |
194 'sources': [ | |
195 'intelligibility/intelligibility_enhancer.cc', | |
196 'intelligibility/intelligibility_enhancer.h', | |
197 'intelligibility/intelligibility_utils.cc', | |
198 'intelligibility/intelligibility_utils.h', | |
199 ], | |
200 }, { | |
201 'defines': ['WEBRTC_INTELLIGIBILITY_ENHANCER=0',], | |
202 }], | |
203 ['prefer_fixed_point==1', { | |
204 'defines': ['WEBRTC_NS_FIXED'], | |
205 'sources': [ | |
206 'ns/noise_suppression_x.h', | |
207 'ns/noise_suppression_x.c', | |
208 'ns/nsx_core.c', | |
209 'ns/nsx_core.h', | |
210 'ns/nsx_defines.h', | |
211 ], | |
212 'conditions': [ | |
213 ['target_arch=="mipsel" and mips_arch_variant!="r6"', { | |
214 'sources': [ | |
215 'ns/nsx_core_mips.c', | |
216 ], | |
217 }, { | |
218 'sources': [ | |
219 'ns/nsx_core_c.c', | |
220 ], | |
221 }], | |
222 ], | |
223 }, { | |
224 'defines': ['WEBRTC_NS_FLOAT'], | |
225 'sources': [ | |
226 'ns/defines.h', | |
227 'ns/noise_suppression.h', | |
228 'ns/noise_suppression.c', | |
229 'ns/ns_core.c', | |
230 'ns/ns_core.h', | |
231 'ns/windows_private.h', | |
232 ], | |
233 }], | |
234 ['target_arch=="ia32" or target_arch=="x64"', { | |
235 'dependencies': ['audio_processing_sse2',], | |
236 }], | |
237 ['build_with_neon==1', { | |
238 'dependencies': ['audio_processing_neon',], | |
239 }], | |
240 ['target_arch=="mipsel" and mips_arch_variant!="r6"', { | |
241 'sources': [ | |
242 'aecm/aecm_core_mips.cc', | |
243 ], | |
244 'conditions': [ | |
245 ['mips_float_abi=="hard"', { | |
246 'sources': [ | |
247 'aec/aec_core_mips.cc', | |
248 'utility/ooura_fft_mips.cc', | |
249 ], | |
250 }], | |
251 ], | |
252 }, { | |
253 'sources': [ | |
254 'aecm/aecm_core_c.cc', | |
255 ], | |
256 }], | |
257 ], | |
258 # TODO(jschuh): Bug 1348: fix size_t to int truncations. | |
259 'msvs_disabled_warnings': [ 4267, ], | |
260 }, | |
261 ], | |
262 'conditions': [ | |
263 ['enable_protobuf==1', { | |
264 'targets': [ | |
265 { | |
266 'target_name': 'audioproc_debug_proto', | |
267 'type': 'static_library', | |
268 'sources': ['debug.proto',], | |
269 'variables': { | |
270 'proto_in_dir': '.', | |
271 # Workaround to protect against gyp's pathname relativization when | |
272 # this file is included by modules.gyp. | |
273 'proto_out_protected': 'webrtc/modules/audio_processing', | |
274 'proto_out_dir': '<(proto_out_protected)', | |
275 }, | |
276 'includes': ['../../build/protoc.gypi',], | |
277 }, | |
278 ], | |
279 }], | |
280 ['target_arch=="ia32" or target_arch=="x64"', { | |
281 'targets': [ | |
282 { | |
283 'target_name': 'audio_processing_sse2', | |
284 'type': 'static_library', | |
285 'sources': [ | |
286 'aec/aec_core_sse2.cc', | |
287 'utility/ooura_fft_sse2.cc', | |
288 'utility/ooura_fft_tables_neon_sse2.h', | |
289 ], | |
290 'conditions': [ | |
291 ['apm_debug_dump==1', { | |
292 'defines': ['WEBRTC_APM_DEBUG_DUMP=1',], | |
293 }, { | |
294 'defines': ['WEBRTC_APM_DEBUG_DUMP=0',], | |
295 }], | |
296 ['os_posix==1', { | |
297 'cflags': [ '-msse2', ], | |
298 'xcode_settings': { | |
299 'OTHER_CFLAGS': [ '-msse2', ], | |
300 }, | |
301 }], | |
302 ], | |
303 }, | |
304 ], | |
305 }], | |
306 ['build_with_neon==1', { | |
307 'targets': [{ | |
308 'target_name': 'audio_processing_neon', | |
309 'type': 'static_library', | |
310 'includes': ['../../build/arm_neon.gypi',], | |
311 'dependencies': [ | |
312 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio', | |
313 ], | |
314 'sources': [ | |
315 'aec/aec_core_neon.cc', | |
316 'aecm/aecm_core_neon.cc', | |
317 'ns/nsx_core_neon.c', | |
318 'utility/ooura_fft_neon.cc', | |
319 'utility/ooura_fft_tables_neon_sse2.h', | |
320 ], | |
321 'conditions': [ | |
322 ['apm_debug_dump==1', { | |
323 'defines': ['WEBRTC_APM_DEBUG_DUMP=1',], | |
324 }], | |
325 ['apm_debug_dump==0', { | |
326 'defines': ['WEBRTC_APM_DEBUG_DUMP=0',], | |
327 }], | |
328 ], | |
329 }], | |
330 }], | |
331 ], | |
332 } | |
OLD | NEW |