Files
platform-external-webrtc/webrtc/modules/audio_coding/codecs/isac/isacfix.gypi
kjellander@webrtc.org 75e850e192 Enable isac NEON building on Aarch64
Passed building isac_neon and modules_unittests on Android ARM64 and ARMv7.
Passed modules_unittests with following filters:
  --gtest_filter=FiltersTest*
  --gtest_filter=LpcMaskingModelTest*
  --gtest_filter=TransformTest*
  --gtest_filter=FilterBanksTest*

WebRtcIsacfix_CalculateResidualEnergyNeon is not enabled due to Issue 4224.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

Cr-Commit-Position: refs/heads/master@{#8632}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8632 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:29:23 +00:00

183 lines
5.8 KiB
Python

# Copyright (c) 2012 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': 'iSACFix',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
],
'include_dirs': [
'fix/interface',
'<(webrtc_root)'
],
'direct_dependent_settings': {
'include_dirs': [
'fix/interface',
'<(webrtc_root)',
],
},
'sources': [
'audio_encoder_isac_t.h',
'audio_encoder_isac_t_impl.h',
'fix/interface/audio_encoder_isacfix.h',
'fix/interface/isacfix.h',
'fix/source/arith_routines.c',
'fix/source/arith_routines_hist.c',
'fix/source/arith_routines_logist.c',
'fix/source/audio_encoder_isacfix.cc',
'fix/source/bandwidth_estimator.c',
'fix/source/decode.c',
'fix/source/decode_bwe.c',
'fix/source/decode_plc.c',
'fix/source/encode.c',
'fix/source/entropy_coding.c',
'fix/source/fft.c',
'fix/source/filterbank_tables.c',
'fix/source/filterbanks.c',
'fix/source/filters.c',
'fix/source/initialize.c',
'fix/source/isacfix.c',
'fix/source/lattice.c',
'fix/source/lattice_c.c',
'fix/source/lpc_masking_model.c',
'fix/source/lpc_tables.c',
'fix/source/pitch_estimator.c',
'fix/source/pitch_estimator_c.c',
'fix/source/pitch_filter.c',
'fix/source/pitch_filter_c.c',
'fix/source/pitch_gain_tables.c',
'fix/source/pitch_lag_tables.c',
'fix/source/spectrum_ar_model_tables.c',
'fix/source/transform.c',
'fix/source/transform_tables.c',
'fix/source/arith_routins.h',
'fix/source/bandwidth_estimator.h',
'fix/source/codec.h',
'fix/source/entropy_coding.h',
'fix/source/fft.h',
'fix/source/filterbank_tables.h',
'fix/source/lpc_masking_model.h',
'fix/source/lpc_tables.h',
'fix/source/pitch_estimator.h',
'fix/source/pitch_gain_tables.h',
'fix/source/pitch_lag_tables.h',
'fix/source/settings.h',
'fix/source/spectrum_ar_model_tables.h',
'fix/source/structs.h',
],
'conditions': [
['OS!="win"', {
'defines': [
'WEBRTC_LINUX',
],
}],
['target_arch=="arm" and arm_version>=7', {
'sources': [
'fix/source/lattice_armv7.S',
'fix/source/pitch_filter_armv6.S',
],
'sources!': [
'fix/source/lattice_c.c',
'fix/source/pitch_filter_c.c',
],
'conditions': [
['arm_neon==1 or arm_neon_optional==1', {
'dependencies': [ 'isac_neon' ],
}],
],
}],
['target_arch=="arm64"', {
'dependencies': ['isac_neon', ],
}],
['target_arch=="mipsel" and mips_arch_variant!="r6" and android_webview_build==0', {
'sources': [
'fix/source/entropy_coding_mips.c',
'fix/source/filters_mips.c',
'fix/source/lattice_mips.c',
'fix/source/pitch_estimator_mips.c',
'fix/source/transform_mips.c',
],
'sources!': [
'fix/source/lattice_c.c',
'fix/source/pitch_estimator_c.c',
],
'conditions': [
['mips_dsp_rev>0', {
'sources': [
'fix/source/filterbanks_mips.c',
],
}],
['mips_dsp_rev>1', {
'sources': [
'fix/source/lpc_masking_model_mips.c',
'fix/source/pitch_filter_mips.c',
],
'sources!': [
'fix/source/pitch_filter_c.c',
],
}],
],
}],
],
},
],
'conditions': [
['target_arch=="arm" and arm_version>=7 or target_arch=="arm64"', {
'targets': [
{
'target_name': 'isac_neon',
'type': 'static_library',
'includes': ['../../../../build/arm_neon.gypi',],
'dependencies': [
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
],
'include_dirs': [
'<(webrtc_root)',
],
'sources': [
'fix/source/entropy_coding_neon.c',
'fix/source/filterbanks_neon.S',
'fix/source/filters_neon.S',
'fix/source/lattice_neon.S',
'fix/source/lpc_masking_model_neon.S',
'fix/source/transform_neon.S',
],
'conditions': [
# Disable LTO in isac_neon target due to compiler bug
['use_lto==1', {
'cflags!': [
'-flto',
'-ffat-lto-objects',
],
}],
['target_arch=="arm64"', {
'sources!': [
'fix/source/filterbanks_neon.S',
'fix/source/filters_neon.S',
'fix/source/lattice_neon.S',
'fix/source/lpc_masking_model_neon.S',
'fix/source/transform_neon.S',
],
'sources': [
'fix/source/filterbanks_neon.c',
'fix/source/filters_neon.c',
'fix/source/lattice_neon.c',
'fix/source/transform_neon.c',
],
}]
],
},
],
}],
],
}