Consolidate common_audio into a single target.

In principle should reduce gyp processing time, but the difference was not measurable. In any case, it's a good simplification that aligns with having a single common_video target.

R=bjornv@webrtc.org, kma@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1375004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3928 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
andrew@webrtc.org
2013-04-30 23:43:26 +00:00
parent dff69c56b0
commit 342353780d
19 changed files with 212 additions and 314 deletions

View File

@ -9,8 +9,187 @@
{
'includes': [
'../build/common.gypi',
'signal_processing/signal_processing.gypi',
'resampler/resampler.gypi',
'vad/vad.gypi',
],
'targets': [
{
'target_name': 'common_audio',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'include_dirs': [
'resampler/include',
'signal_processing/include',
],
'direct_dependent_settings': {
'include_dirs': [
'resampler/include',
'signal_processing/include',
'vad/include',
],
},
'sources': [
'audio_util.cc',
'include/audio_util.h',
'resampler/include/push_resampler.h',
'resampler/include/resampler.h',
'resampler/push_resampler.cc',
'resampler/push_sinc_resampler.cc',
'resampler/push_sinc_resampler.h',
'resampler/resampler.cc',
'resampler/sinc_resampler.cc',
'resampler/sinc_resampler.h',
'signal_processing/include/real_fft.h',
'signal_processing/include/signal_processing_library.h',
'signal_processing/include/spl_inl.h',
'signal_processing/auto_corr_to_refl_coef.c',
'signal_processing/auto_correlation.c',
'signal_processing/complex_fft.c',
'signal_processing/complex_bit_reverse.c',
'signal_processing/copy_set_operations.c',
'signal_processing/cross_correlation.c',
'signal_processing/division_operations.c',
'signal_processing/dot_product_with_scale.c',
'signal_processing/downsample_fast.c',
'signal_processing/energy.c',
'signal_processing/filter_ar.c',
'signal_processing/filter_ar_fast_q12.c',
'signal_processing/filter_ma_fast_q12.c',
'signal_processing/get_hanning_window.c',
'signal_processing/get_scaling_square.c',
'signal_processing/ilbc_specific_functions.c',
'signal_processing/levinson_durbin.c',
'signal_processing/lpc_to_refl_coef.c',
'signal_processing/min_max_operations.c',
'signal_processing/randomization_functions.c',
'signal_processing/refl_coef_to_lpc.c',
'signal_processing/real_fft.c',
'signal_processing/resample.c',
'signal_processing/resample_48khz.c',
'signal_processing/resample_by_2.c',
'signal_processing/resample_by_2_internal.c',
'signal_processing/resample_by_2_internal.h',
'signal_processing/resample_fractional.c',
'signal_processing/spl_init.c',
'signal_processing/spl_sqrt.c',
'signal_processing/spl_sqrt_floor.c',
'signal_processing/spl_version.c',
'signal_processing/splitting_filter.c',
'signal_processing/sqrt_of_one_minus_x_squared.c',
'signal_processing/vector_scaling_operations.c',
'vad/include/webrtc_vad.h',
'vad/webrtc_vad.c',
'vad/vad_core.c',
'vad/vad_core.h',
'vad/vad_filterbank.c',
'vad/vad_filterbank.h',
'vad/vad_gmm.c',
'vad/vad_gmm.h',
'vad/vad_sp.c',
'vad/vad_sp.h',
],
'conditions': [
['target_arch=="arm"', {
'sources': [
'signal_processing/complex_bit_reverse_arm.S',
'signal_processing/spl_sqrt_floor_arm.S',
],
'sources!': [
'signal_processing/complex_bit_reverse.c',
'signal_processing/spl_sqrt_floor.c',
],
'conditions': [
['armv7==1', {
'dependencies': ['common_audio_neon',],
'sources': [
'signal_processing/filter_ar_fast_q12_armv7.S',
],
'sources!': [
'signal_processing/filter_ar_fast_q12.c',
],
}],
], # conditions
}],
['target_arch=="mipsel"', {
'sources': [
'signal_processing/min_max_operations_mips.c',
'signal_processing/resample_by_2_mips.c',
],
}],
], # conditions
# Ignore warning on shift operator promotion.
'msvs_disabled_warnings': [ 4334, ],
},
], # targets
'conditions': [
['target_arch=="arm" and armv7==1', {
'targets': [
{
'target_name': 'common_audio_neon',
'type': 'static_library',
'includes': ['../build/arm_neon.gypi',],
'sources': [
'signal_processing/cross_correlation_neon.S',
'signal_processing/downsample_fast_neon.S',
'signal_processing/min_max_operations_neon.S',
'signal_processing/vector_scaling_operations_neon.S',
],
},
], # targets
}],
['include_tests==1', {
# TODO(ajm): Use a single common_audio_unittests target.
'targets' : [
{
'target_name': 'resampler_unittests',
'type': 'executable',
'dependencies': [
'common_audio',
'<(webrtc_root)/test/test.gyp:test_support_main',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'sources': [
'audio_util_unittest.cc',
'resampler/resampler_unittest.cc',
'resampler/push_resampler_unittest.cc',
'resampler/push_sinc_resampler_unittest.cc',
'resampler/sinc_resampler_unittest.cc',
'resampler/sinusoidal_linear_chirp_source.cc',
'resampler/sinusoidal_linear_chirp_source.h',
],
},
{
'target_name': 'signal_processing_unittests',
'type': 'executable',
'dependencies': [
'common_audio',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(webrtc_root)/test/test.gyp:test_support_main',
],
'sources': [
'signal_processing/real_fft_unittest.cc',
'signal_processing/signal_processing_unittest.cc',
],
},
{
'target_name': 'vad_unittests',
'type': 'executable',
'dependencies': [
'common_audio',
'<(webrtc_root)/test/test.gyp:test_support_main',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'sources': [
'vad/vad_core_unittest.cc',
'vad/vad_filterbank_unittest.cc',
'vad/vad_gmm_unittest.cc',
'vad/vad_sp_unittest.cc',
'vad/vad_unittest.cc',
'vad/vad_unittest.h',
],
},
], # targets
}],
], # conditions
}

View File

@ -1,67 +0,0 @@
# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# 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.
{
'targets': [
{
'target_name': 'resampler',
'type': 'static_library',
'dependencies': [
'signal_processing',
],
'include_dirs': [
'include',
],
'direct_dependent_settings': {
'include_dirs': [
'include',
],
},
'sources': [
# TODO(ajm): Adding audio_util here for now. We should transition
# to having a single common_audio target.
'../audio_util.cc',
'../include/audio_util.h',
'include/push_resampler.h',
'include/resampler.h',
'push_resampler.cc',
'push_sinc_resampler.cc',
'push_sinc_resampler.h',
'resampler.cc',
'sinc_resampler.cc',
'sinc_resampler.h',
],
},
], # targets
'conditions': [
['include_tests==1', {
'targets' : [
{
'target_name': 'resampler_unittests',
'type': 'executable',
'dependencies': [
'resampler',
'<(webrtc_root)/test/test.gyp:test_support_main',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'sources': [
'../audio_util_unittest.cc',
'resampler_unittest.cc',
'push_resampler_unittest.cc',
'push_sinc_resampler_unittest.cc',
'sinc_resampler_unittest.cc',
'sinusoidal_linear_chirp_source.cc',
'sinusoidal_linear_chirp_source.h',
],
}, # resampler_unittests
], # targets
}], # include_tests
], # conditions
}

View File

@ -1,132 +0,0 @@
# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# 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.
{
'targets': [
{
'target_name': 'signal_processing',
'type': 'static_library',
'include_dirs': [
'include',
],
'dependencies': [
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'direct_dependent_settings': {
'include_dirs': [
'include',
],
},
'sources': [
'include/real_fft.h',
'include/signal_processing_library.h',
'include/spl_inl.h',
'auto_corr_to_refl_coef.c',
'auto_correlation.c',
'complex_fft.c',
'complex_bit_reverse.c',
'copy_set_operations.c',
'cross_correlation.c',
'division_operations.c',
'dot_product_with_scale.c',
'downsample_fast.c',
'energy.c',
'filter_ar.c',
'filter_ar_fast_q12.c',
'filter_ma_fast_q12.c',
'get_hanning_window.c',
'get_scaling_square.c',
'ilbc_specific_functions.c',
'levinson_durbin.c',
'lpc_to_refl_coef.c',
'min_max_operations.c',
'randomization_functions.c',
'refl_coef_to_lpc.c',
'real_fft.c',
'resample.c',
'resample_48khz.c',
'resample_by_2.c',
'resample_by_2_internal.c',
'resample_by_2_internal.h',
'resample_fractional.c',
'spl_init.c',
'spl_sqrt.c',
'spl_sqrt_floor.c',
'spl_version.c',
'splitting_filter.c',
'sqrt_of_one_minus_x_squared.c',
'vector_scaling_operations.c',
],
'conditions': [
['target_arch=="arm"', {
'sources': [
'complex_bit_reverse_arm.S',
'spl_sqrt_floor_arm.S',
],
'sources!': [
'complex_bit_reverse.c',
'spl_sqrt_floor.c',
],
'conditions': [
['armv7==1', {
'dependencies': ['signal_processing_neon',],
'sources': [
'filter_ar_fast_q12_armv7.S',
],
'sources!': [
'filter_ar_fast_q12.c',
],
}],
],
}],
['target_arch=="mipsel"', {
'sources': [
'min_max_operations_mips.c',
'resample_by_2_mips.c',
],
}],
],
# Ignore warning on shift operator promotion.
'msvs_disabled_warnings': [ 4334, ],
}, # spl
], # targets
'conditions': [
['include_tests==1', {
'targets': [
{
'target_name': 'signal_processing_unittests',
'type': 'executable',
'dependencies': [
'signal_processing',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(webrtc_root)/test/test.gyp:test_support_main',
],
'sources': [
'real_fft_unittest.cc',
'signal_processing_unittest.cc',
],
}, # spl_unittests
], # targets
}], # include_tests
['target_arch=="arm" and armv7==1', {
'targets': [
{
'target_name': 'signal_processing_neon',
'type': 'static_library',
'includes': ['../../build/arm_neon.gypi',],
'sources': [
'cross_correlation_neon.S',
'downsample_fast_neon.S',
'min_max_operations_neon.S',
'vector_scaling_operations_neon.S',
],
},
],
}], # 'target_arch=="arm" and armv7==1'
], # conditions
}

View File

@ -1,62 +0,0 @@
# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# 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.
{
'targets': [
{
'target_name': 'vad',
'type': 'static_library',
'dependencies': [
'signal_processing',
],
'include_dirs': [
'include',
],
'direct_dependent_settings': {
'include_dirs': [
'include',
],
},
'sources': [
'include/webrtc_vad.h',
'webrtc_vad.c',
'vad_core.c',
'vad_core.h',
'vad_filterbank.c',
'vad_filterbank.h',
'vad_gmm.c',
'vad_gmm.h',
'vad_sp.c',
'vad_sp.h',
],
},
], # targets
'conditions': [
['include_tests==1', {
'targets' : [
{
'target_name': 'vad_unittests',
'type': 'executable',
'dependencies': [
'vad',
'<(webrtc_root)/test/test.gyp:test_support_main',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'sources': [
'vad_core_unittest.cc',
'vad_filterbank_unittest.cc',
'vad_gmm_unittest.cc',
'vad_sp_unittest.cc',
'vad_unittest.cc',
'vad_unittest.h',
],
}, # vad_unittests
], # targets
}], # include_tests
], # conditions
}

View File

@ -12,7 +12,7 @@
'target_name': 'CNG',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'include_dirs': [
'include',

View File

@ -12,7 +12,7 @@
'target_name': 'iLBC',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'include_dirs': [
'interface',

View File

@ -12,7 +12,7 @@
'target_name': 'iSACFix',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'include_dirs': [
@ -94,7 +94,7 @@
'type': 'static_library',
'includes': ['../../../../../../build/arm_neon.gypi',],
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'sources': [
'entropy_coding_neon.c',

View File

@ -12,7 +12,7 @@
'target_name': 'iSAC',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'include_dirs': [
'../interface',

View File

@ -17,9 +17,7 @@
'iSACFix',
'PCM16B',
'NetEq',
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:vad',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'audio_coding_defines': [],
@ -177,7 +175,7 @@
'NetEq4TestTools',
'neteq_unittest_tools',
'PCM16B', # Needed by NetEq tests.
'<(webrtc_root)/common_audio/common_audio.gyp:vad',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(webrtc_root)/test/test.gyp:test_support_main',

View File

@ -13,7 +13,7 @@
'type': 'static_library',
'dependencies': [
'CNG',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'defines': [
'NETEQ_VOICEENGINE_CODECS', # TODO: Should create a Chrome define which

View File

@ -16,8 +16,7 @@
'iSAC',
'iSACFix',
'CNG',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:vad',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'neteq_defines': [],
@ -129,7 +128,7 @@
'dependencies': [
'<@(neteq_dependencies)',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/test/test.gyp:test_support_main',
],
'defines': [

View File

@ -36,7 +36,7 @@
'iLBC',
'iSAC',
'CNG',
'<(webrtc_root)/common_audio/common_audio.gyp:vad',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'defines': [
'CODEC_ILBC',

View File

@ -12,8 +12,7 @@
'target_name': 'audio_device',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'include_dirs': [
@ -206,7 +205,7 @@
'dependencies': [
'audio_device',
'webrtc_utility',
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/test/test.gyp:test_support',
'<(DEPTH)/testing/gtest.gyp:gtest',

View File

@ -16,8 +16,7 @@
'aec_debug_dump%': 0,
},
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:vad',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'include_dirs': [
@ -167,7 +166,7 @@
'type': 'static_library',
'includes': ['../../build/arm_neon.gypi',],
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'sources': [
'aecm/aecm_core_neon.c',

View File

@ -24,7 +24,7 @@
'dependencies': [
'audio_processing',
'audioproc_unittest_proto',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/test/test.gyp:test_support',
'<(DEPTH)/testing/gtest.gyp:gtest',

View File

@ -13,7 +13,7 @@
'type': 'static_library',
'dependencies': [
'audio_coding_module',
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],
'include_dirs': [

View File

@ -13,7 +13,7 @@
'type': 'static_library',
'dependencies': [
'webrtc_utility',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/common_video/common_video.gyp:common_video',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
],

View File

@ -141,9 +141,15 @@ include $(PREBUILT_STATIC_LIBRARY)
endif
include $(CLEAR_VARS)
LOCAL_MODULE := libvad
LOCAL_MODULE := libcommon_audio
LOCAL_SRC_FILES := \
$(MY_LIBS_PATH)/libvad.a
$(MY_LIBS_PATH)/libcommon_audio.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libcommon_audio_neon
LOCAL_SRC_FILES := \
$(MY_LIBS_PATH)/libcommon_audio_neon.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
@ -152,24 +158,6 @@ LOCAL_SRC_FILES := \
$(MY_LIBS_PATH)/libbitrate_controller.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libresampler
LOCAL_SRC_FILES := \
$(MY_LIBS_PATH)/libresampler.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libsignal_processing
LOCAL_SRC_FILES := \
$(MY_LIBS_PATH)/libsignal_processing.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libsignal_processing_neon
LOCAL_SRC_FILES := \
$(MY_LIBS_PATH)/libsignal_processing_neon.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libcommon_video
LOCAL_SRC_FILES := \
@ -337,11 +325,9 @@ LOCAL_STATIC_LIBRARIES := \
libisac_neon \
libwebrtc_opus \
libopus \
libvad \
libcommon_audio \
libcommon_audio_neon \
libbitrate_controller \
libresampler \
libsignal_processing \
libsignal_processing_neon \
libcommon_video \
libcpu_features_android \
libaudio_device \

View File

@ -12,8 +12,7 @@
'target_name': 'voice_engine_core',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/modules/modules.gyp:audio_coding_module',
'<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
'<(webrtc_root)/modules/modules.gyp:audio_device',
@ -126,7 +125,7 @@
'<(webrtc_root)/test/test.gyp:test_support_main',
# The rest are to satisfy the unittests' include chain.
# This would be unnecessary if we used qualified includes.
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/modules/modules.gyp:audio_device',
'<(webrtc_root)/modules/modules.gyp:audio_processing',
'<(webrtc_root)/modules/modules.gyp:audio_coding_module',