2012-01-25 19:21:13 +00:00
|
|
|
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
2011-07-07 08:21:25 +00:00
|
|
|
#
|
|
|
|
|
# Use of this source code is governed by a BSD-style license
|
|
|
|
|
# that can be found in the LICENSE file in the root of the source
|
|
|
|
|
# tree. An additional intellectual property rights grant can be found
|
|
|
|
|
# in the file PATENTS. All contributing project authors may
|
|
|
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
|
|
|
|
|
|
{
|
2013-11-11 17:20:27 +00:00
|
|
|
'variables': {
|
2014-02-11 04:48:27 +00:00
|
|
|
'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/audio_processing/asm_offsets',
|
2013-11-11 17:20:27 +00:00
|
|
|
},
|
2011-07-07 08:21:25 +00:00
|
|
|
'targets': [
|
|
|
|
|
{
|
|
|
|
|
'target_name': 'audio_processing',
|
2012-09-08 19:27:24 +00:00
|
|
|
'type': 'static_library',
|
|
|
|
|
'variables': {
|
|
|
|
|
# Outputs some low-level debug files.
|
|
|
|
|
'aec_debug_dump%': 0,
|
2014-09-23 11:21:39 +00:00
|
|
|
'agc_debug_dump%': 0,
|
2013-09-25 23:17:38 +00:00
|
|
|
|
|
|
|
|
# Disables the usual mode where we trust the reported system delay
|
|
|
|
|
# values the AEC receives. The corresponding define is set appropriately
|
|
|
|
|
# in the code, but it can be force-enabled here for testing.
|
|
|
|
|
'aec_untrusted_delay_for_testing%': 0,
|
2012-09-08 19:27:24 +00:00
|
|
|
},
|
2011-07-07 08:21:25 +00:00
|
|
|
'dependencies': [
|
2014-12-18 22:22:04 +00:00
|
|
|
'<(webrtc_root)/base/base.gyp:rtc_base_approved',
|
2015-02-26 13:59:22 +00:00
|
|
|
'<(webrtc_root)/common.gyp:webrtc_common',
|
2014-12-18 22:22:04 +00:00
|
|
|
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
|
2015-06-10 13:45:08 -07:00
|
|
|
'<(webrtc_root)/modules/modules.gyp:isac',
|
2015-01-14 09:30:52 +00:00
|
|
|
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
|
2011-07-07 08:21:25 +00:00
|
|
|
],
|
|
|
|
|
'sources': [
|
2016-02-23 14:34:59 -08:00
|
|
|
'aec/aec_core.cc',
|
2014-12-15 09:41:24 +00:00
|
|
|
'aec/aec_core.h',
|
2013-02-20 22:38:47 +00:00
|
|
|
'aec/aec_core_internal.h',
|
2012-09-08 19:27:24 +00:00
|
|
|
'aec/aec_rdft.c',
|
2014-12-15 09:41:24 +00:00
|
|
|
'aec/aec_rdft.h',
|
2016-03-04 00:12:40 -08:00
|
|
|
'aec/aec_resampler.cc',
|
2014-12-15 09:41:24 +00:00
|
|
|
'aec/aec_resampler.h',
|
2016-02-23 14:34:59 -08:00
|
|
|
'aec/echo_cancellation.cc',
|
2014-12-15 09:41:24 +00:00
|
|
|
'aec/echo_cancellation_internal.h',
|
2015-11-11 20:16:11 +01:00
|
|
|
'aec/echo_cancellation.h',
|
2012-09-08 19:27:24 +00:00
|
|
|
'aecm/aecm_core.c',
|
|
|
|
|
'aecm/aecm_core.h',
|
2014-12-15 09:41:24 +00:00
|
|
|
'aecm/echo_control_mobile.c',
|
2015-11-11 20:16:11 +01:00
|
|
|
'aecm/echo_control_mobile.h',
|
2014-12-15 09:41:24 +00:00
|
|
|
'agc/agc.cc',
|
|
|
|
|
'agc/agc.h',
|
|
|
|
|
'agc/agc_manager_direct.cc',
|
|
|
|
|
'agc/agc_manager_direct.h',
|
|
|
|
|
'agc/gain_map_internal.h',
|
|
|
|
|
'agc/histogram.cc',
|
|
|
|
|
'agc/histogram.h',
|
2014-12-16 10:38:10 +00:00
|
|
|
'agc/legacy/analog_agc.c',
|
|
|
|
|
'agc/legacy/analog_agc.h',
|
|
|
|
|
'agc/legacy/digital_agc.c',
|
|
|
|
|
'agc/legacy/digital_agc.h',
|
|
|
|
|
'agc/legacy/gain_control.h',
|
2014-12-15 09:41:24 +00:00
|
|
|
'agc/utility.cc',
|
|
|
|
|
'agc/utility.h',
|
2011-07-07 08:21:25 +00:00
|
|
|
'audio_buffer.cc',
|
|
|
|
|
'audio_buffer.h',
|
|
|
|
|
'audio_processing_impl.cc',
|
|
|
|
|
'audio_processing_impl.h',
|
2015-10-19 18:02:39 -07:00
|
|
|
'beamformer/array_util.cc',
|
|
|
|
|
'beamformer/array_util.h',
|
2015-03-25 16:37:27 -07:00
|
|
|
'beamformer/beamformer.h',
|
2014-12-18 22:22:04 +00:00
|
|
|
'beamformer/complex_matrix.h',
|
|
|
|
|
'beamformer/covariance_matrix_generator.cc',
|
|
|
|
|
'beamformer/covariance_matrix_generator.h',
|
|
|
|
|
'beamformer/matrix.h',
|
2015-03-20 00:28:22 +00:00
|
|
|
'beamformer/nonlinear_beamformer.cc',
|
|
|
|
|
'beamformer/nonlinear_beamformer.h',
|
2014-04-22 21:00:04 +00:00
|
|
|
'common.h',
|
2011-07-07 08:21:25 +00:00
|
|
|
'echo_cancellation_impl.cc',
|
|
|
|
|
'echo_cancellation_impl.h',
|
|
|
|
|
'echo_control_mobile_impl.cc',
|
|
|
|
|
'echo_control_mobile_impl.h',
|
2016-02-13 16:40:47 -08:00
|
|
|
'gain_control_for_experimental_agc.cc',
|
|
|
|
|
'gain_control_for_experimental_agc.h',
|
2011-07-07 08:21:25 +00:00
|
|
|
'gain_control_impl.cc',
|
|
|
|
|
'gain_control_impl.h',
|
|
|
|
|
'high_pass_filter_impl.cc',
|
|
|
|
|
'high_pass_filter_impl.h',
|
2012-09-08 19:27:24 +00:00
|
|
|
'include/audio_processing.h',
|
2015-06-22 17:49:08 -07:00
|
|
|
'intelligibility/intelligibility_enhancer.cc',
|
|
|
|
|
'intelligibility/intelligibility_enhancer.h',
|
|
|
|
|
'intelligibility/intelligibility_utils.cc',
|
|
|
|
|
'intelligibility/intelligibility_utils.h',
|
2011-07-07 08:21:25 +00:00
|
|
|
'level_estimator_impl.cc',
|
|
|
|
|
'level_estimator_impl.h',
|
2015-08-28 04:41:25 -07:00
|
|
|
'logging/aec_logging.h',
|
|
|
|
|
'logging/aec_logging_file_handling.cc',
|
|
|
|
|
'logging/aec_logging_file_handling.h',
|
2011-07-07 08:21:25 +00:00
|
|
|
'noise_suppression_impl.cc',
|
|
|
|
|
'noise_suppression_impl.h',
|
2016-03-10 23:05:28 -08:00
|
|
|
'render_queue_item_verifier.h',
|
2014-05-05 18:22:21 +00:00
|
|
|
'rms_level.cc',
|
|
|
|
|
'rms_level.h',
|
2014-12-15 09:41:24 +00:00
|
|
|
'splitting_filter.cc',
|
|
|
|
|
'splitting_filter.h',
|
2015-04-27 11:34:45 -07:00
|
|
|
'three_band_filter_bank.cc',
|
|
|
|
|
'three_band_filter_bank.h',
|
2014-12-15 09:41:24 +00:00
|
|
|
'transient/common.h',
|
|
|
|
|
'transient/daubechies_8_wavelet_coeffs.h',
|
|
|
|
|
'transient/dyadic_decimator.h',
|
|
|
|
|
'transient/moving_moments.cc',
|
|
|
|
|
'transient/moving_moments.h',
|
|
|
|
|
'transient/transient_detector.cc',
|
|
|
|
|
'transient/transient_detector.h',
|
|
|
|
|
'transient/transient_suppressor.cc',
|
|
|
|
|
'transient/transient_suppressor.h',
|
|
|
|
|
'transient/wpd_node.cc',
|
|
|
|
|
'transient/wpd_node.h',
|
|
|
|
|
'transient/wpd_tree.cc',
|
|
|
|
|
'transient/wpd_tree.h',
|
2014-01-30 09:50:46 +00:00
|
|
|
'typing_detection.cc',
|
|
|
|
|
'typing_detection.h',
|
2016-03-24 14:36:25 -07:00
|
|
|
'utility/block_mean_calculator.cc',
|
|
|
|
|
'utility/block_mean_calculator.h',
|
2012-09-08 19:27:24 +00:00
|
|
|
'utility/delay_estimator.c',
|
|
|
|
|
'utility/delay_estimator.h',
|
|
|
|
|
'utility/delay_estimator_internal.h',
|
|
|
|
|
'utility/delay_estimator_wrapper.c',
|
|
|
|
|
'utility/delay_estimator_wrapper.h',
|
2015-06-25 12:28:48 -07:00
|
|
|
'vad/common.h',
|
|
|
|
|
'vad/gmm.cc',
|
|
|
|
|
'vad/gmm.h',
|
|
|
|
|
'vad/noise_gmm_tables.h',
|
|
|
|
|
'vad/pitch_based_vad.cc',
|
|
|
|
|
'vad/pitch_based_vad.h',
|
|
|
|
|
'vad/pitch_internal.cc',
|
|
|
|
|
'vad/pitch_internal.h',
|
|
|
|
|
'vad/pole_zero_filter.cc',
|
|
|
|
|
'vad/pole_zero_filter.h',
|
|
|
|
|
'vad/standalone_vad.cc',
|
|
|
|
|
'vad/standalone_vad.h',
|
|
|
|
|
'vad/vad_audio_proc.cc',
|
|
|
|
|
'vad/vad_audio_proc.h',
|
|
|
|
|
'vad/vad_audio_proc_internal.h',
|
|
|
|
|
'vad/vad_circular_buffer.cc',
|
|
|
|
|
'vad/vad_circular_buffer.h',
|
|
|
|
|
'vad/voice_activity_detector.cc',
|
|
|
|
|
'vad/voice_activity_detector.h',
|
|
|
|
|
'vad/voice_gmm_tables.h',
|
2011-07-07 08:21:25 +00:00
|
|
|
'voice_detection_impl.cc',
|
|
|
|
|
'voice_detection_impl.h',
|
2011-08-03 21:08:51 +00:00
|
|
|
],
|
2012-09-08 19:27:24 +00:00
|
|
|
'conditions': [
|
|
|
|
|
['aec_debug_dump==1', {
|
|
|
|
|
'defines': ['WEBRTC_AEC_DEBUG_DUMP',],
|
|
|
|
|
}],
|
2013-09-25 23:17:38 +00:00
|
|
|
['aec_untrusted_delay_for_testing==1', {
|
|
|
|
|
'defines': ['WEBRTC_UNTRUSTED_DELAY',],
|
|
|
|
|
}],
|
2014-09-23 11:21:39 +00:00
|
|
|
['agc_debug_dump==1', {
|
|
|
|
|
'defines': ['WEBRTC_AGC_DEBUG_DUMP',],
|
|
|
|
|
}],
|
2012-09-08 19:27:24 +00:00
|
|
|
['enable_protobuf==1', {
|
|
|
|
|
'dependencies': ['audioproc_debug_proto'],
|
|
|
|
|
'defines': ['WEBRTC_AUDIOPROC_DEBUG_DUMP'],
|
|
|
|
|
}],
|
|
|
|
|
['prefer_fixed_point==1', {
|
|
|
|
|
'defines': ['WEBRTC_NS_FIXED'],
|
|
|
|
|
'sources': [
|
2015-11-11 20:16:11 +01:00
|
|
|
'ns/noise_suppression_x.h',
|
2012-09-08 19:27:24 +00:00
|
|
|
'ns/noise_suppression_x.c',
|
|
|
|
|
'ns/nsx_core.c',
|
|
|
|
|
'ns/nsx_core.h',
|
|
|
|
|
'ns/nsx_defines.h',
|
|
|
|
|
],
|
2014-01-16 07:22:01 +00:00
|
|
|
'conditions': [
|
2015-04-09 17:36:12 +02:00
|
|
|
['target_arch=="mipsel" and mips_arch_variant!="r6"', {
|
2014-01-16 07:22:01 +00:00
|
|
|
'sources': [
|
|
|
|
|
'ns/nsx_core_mips.c',
|
|
|
|
|
],
|
|
|
|
|
}, {
|
|
|
|
|
'sources': [
|
|
|
|
|
'ns/nsx_core_c.c',
|
|
|
|
|
],
|
|
|
|
|
}],
|
|
|
|
|
],
|
2012-09-08 19:27:24 +00:00
|
|
|
}, {
|
|
|
|
|
'defines': ['WEBRTC_NS_FLOAT'],
|
|
|
|
|
'sources': [
|
|
|
|
|
'ns/defines.h',
|
2015-11-11 20:16:11 +01:00
|
|
|
'ns/noise_suppression.h',
|
2012-09-08 19:27:24 +00:00
|
|
|
'ns/noise_suppression.c',
|
|
|
|
|
'ns/ns_core.c',
|
|
|
|
|
'ns/ns_core.h',
|
|
|
|
|
'ns/windows_private.h',
|
|
|
|
|
],
|
|
|
|
|
}],
|
|
|
|
|
['target_arch=="ia32" or target_arch=="x64"', {
|
|
|
|
|
'dependencies': ['audio_processing_sse2',],
|
|
|
|
|
}],
|
2015-06-24 18:25:54 -07:00
|
|
|
['build_with_neon==1', {
|
2012-09-08 19:27:24 +00:00
|
|
|
'dependencies': ['audio_processing_neon',],
|
|
|
|
|
}],
|
2015-04-09 17:36:12 +02:00
|
|
|
['target_arch=="mipsel" and mips_arch_variant!="r6"', {
|
2013-11-11 20:10:01 +00:00
|
|
|
'sources': [
|
|
|
|
|
'aecm/aecm_core_mips.c',
|
|
|
|
|
],
|
2014-02-21 00:13:31 +00:00
|
|
|
'conditions': [
|
2015-03-04 09:50:31 +00:00
|
|
|
['mips_float_abi=="hard"', {
|
2014-02-21 00:13:31 +00:00
|
|
|
'sources': [
|
2016-02-23 14:34:59 -08:00
|
|
|
'aec/aec_core_mips.cc',
|
2014-02-21 00:13:31 +00:00
|
|
|
'aec/aec_rdft_mips.c',
|
|
|
|
|
],
|
|
|
|
|
}],
|
|
|
|
|
],
|
2013-11-11 20:10:01 +00:00
|
|
|
}, {
|
|
|
|
|
'sources': [
|
|
|
|
|
'aecm/aecm_core_c.c',
|
|
|
|
|
],
|
|
|
|
|
}],
|
2012-09-08 19:27:24 +00:00
|
|
|
],
|
2013-01-29 06:45:22 +00:00
|
|
|
# TODO(jschuh): Bug 1348: fix size_t to int truncations.
|
|
|
|
|
'msvs_disabled_warnings': [ 4267, ],
|
2011-08-03 21:08:51 +00:00
|
|
|
},
|
2011-12-03 00:03:31 +00:00
|
|
|
],
|
|
|
|
|
'conditions': [
|
|
|
|
|
['enable_protobuf==1', {
|
|
|
|
|
'targets': [
|
|
|
|
|
{
|
|
|
|
|
'target_name': 'audioproc_debug_proto',
|
|
|
|
|
'type': 'static_library',
|
2012-09-08 19:27:24 +00:00
|
|
|
'sources': ['debug.proto',],
|
2011-12-03 00:03:31 +00:00
|
|
|
'variables': {
|
|
|
|
|
'proto_in_dir': '.',
|
|
|
|
|
# Workaround to protect against gyp's pathname relativization when
|
|
|
|
|
# this file is included by modules.gyp.
|
2016-02-09 08:13:06 -08:00
|
|
|
'proto_out_protected': 'webrtc/modules/audio_processing',
|
2011-12-03 00:03:31 +00:00
|
|
|
'proto_out_dir': '<(proto_out_protected)',
|
|
|
|
|
},
|
2012-09-08 19:27:24 +00:00
|
|
|
'includes': ['../../build/protoc.gypi',],
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
}],
|
|
|
|
|
['target_arch=="ia32" or target_arch=="x64"', {
|
|
|
|
|
'targets': [
|
|
|
|
|
{
|
|
|
|
|
'target_name': 'audio_processing_sse2',
|
|
|
|
|
'type': 'static_library',
|
|
|
|
|
'sources': [
|
2016-02-23 14:34:59 -08:00
|
|
|
'aec/aec_core_sse2.cc',
|
2012-09-08 19:27:24 +00:00
|
|
|
'aec/aec_rdft_sse2.c',
|
|
|
|
|
],
|
2015-04-16 08:57:16 +02:00
|
|
|
'conditions': [
|
|
|
|
|
['os_posix==1', {
|
|
|
|
|
'cflags': [ '-msse2', ],
|
|
|
|
|
'xcode_settings': {
|
|
|
|
|
'OTHER_CFLAGS': [ '-msse2', ],
|
|
|
|
|
},
|
|
|
|
|
}],
|
|
|
|
|
],
|
2012-09-08 19:27:24 +00:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
}],
|
2015-06-24 18:25:54 -07:00
|
|
|
['build_with_neon==1', {
|
2012-11-07 22:34:31 +00:00
|
|
|
'targets': [{
|
|
|
|
|
'target_name': 'audio_processing_neon',
|
|
|
|
|
'type': 'static_library',
|
|
|
|
|
'includes': ['../../build/arm_neon.gypi',],
|
|
|
|
|
'dependencies': [
|
2013-04-30 23:43:26 +00:00
|
|
|
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
|
2012-11-07 22:34:31 +00:00
|
|
|
],
|
|
|
|
|
'sources': [
|
2016-02-23 14:34:59 -08:00
|
|
|
'aec/aec_core_neon.cc',
|
2014-06-30 12:05:18 +00:00
|
|
|
'aec/aec_rdft_neon.c',
|
2012-11-07 22:34:31 +00:00
|
|
|
'aecm/aecm_core_neon.c',
|
|
|
|
|
'ns/nsx_core_neon.c',
|
|
|
|
|
],
|
|
|
|
|
}],
|
2011-12-03 00:03:31 +00:00
|
|
|
}],
|
2011-07-07 08:21:25 +00:00
|
|
|
],
|
|
|
|
|
}
|