Replace asm NEON function by intrinsics implementation on ARMv7
Passed building isac_neon and modules_unittests on Android ARMv7. Passed modules_unittests with following filters: --gtest_filter=FiltersTest* --gtest_filter=LpcMaskingModelTest* --gtest_filter=TransformTest* --gtest_filter=FilterBanksTest* WebRtcIsacfix_CalculateResidualEnergyNeon is removed, refer more in Issue 4224. The old review url is at: https://webrtc-codereview.appspot.com/37259004/ BUG=4002 R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org Review URL: https://webrtc-codereview.appspot.com/48319005 Patch from Zhongwei Yao <zhongwei.yao@arm.com>. Change-Id: I4c16e15930f1b3449d67b67bf023fac28121dff8 Cr-Commit-Position: refs/heads/master@{#9140}
This commit is contained in:
committed by
Zhongwei Yao
parent
507a550af8
commit
f242e665b4
@ -591,17 +591,14 @@ source_set("isacfix") {
|
||||
|
||||
if (rtc_build_armv7_neon || current_cpu == "arm64") {
|
||||
source_set("isac_neon") {
|
||||
sources = [ "codecs/isac/fix/source/entropy_coding_neon.c" ]
|
||||
sources = [
|
||||
"codecs/isac/fix/source/entropy_coding_neon.c",
|
||||
"codecs/isac/fix/source/filters_neon.c",
|
||||
"codecs/isac/fix/source/lattice_neon.c",
|
||||
"codecs/isac/fix/source/transform_neon.c",
|
||||
]
|
||||
|
||||
if (rtc_build_armv7_neon) {
|
||||
sources += [
|
||||
"codecs/isac/fix/source/filterbanks_neon.S",
|
||||
"codecs/isac/fix/source/filters_neon.S",
|
||||
"codecs/isac/fix/source/lattice_neon.S",
|
||||
"codecs/isac/fix/source/lpc_masking_model_neon.S",
|
||||
"codecs/isac/fix/source/transform_neon.S",
|
||||
]
|
||||
|
||||
# Enable compilation for the ARM v7 Neon instruction set. This is needed
|
||||
# since //build/config/arm.gni only enables Neon for iOS, not Android.
|
||||
# This provides the same functionality as webrtc/build/arm_neon.gypi.
|
||||
@ -614,18 +611,11 @@ if (rtc_build_armv7_neon || current_cpu == "arm64") {
|
||||
]
|
||||
}
|
||||
|
||||
if (current_cpu == "arm64") {
|
||||
sources += [
|
||||
"codecs/isac/fix/source/filters_neon.c",
|
||||
"codecs/isac/fix/source/lattice_neon.c",
|
||||
"codecs/isac/fix/source/transform_neon.c",
|
||||
]
|
||||
if (current_cpu != "arm64" || !is_clang) {
|
||||
# Disable AllpassFilter2FixDec16Neon function due to a clang bug.
|
||||
# Refer more details at:
|
||||
# https://code.google.com/p/webrtc/issues/detail?id=4567
|
||||
if (!is_clang) {
|
||||
sources += [ "codecs/isac/fix/source/filterbanks_neon.c", ]
|
||||
}
|
||||
}
|
||||
|
||||
# Disable LTO in audio_processing_neon target due to compiler bug.
|
||||
|
||||
Reference in New Issue
Block a user