Re-enable WebRtcIsacfix_AllpassFilter2FixDec16Neon
WebRtcIsacfix_AllpassFilter2FixDec16Neon was disabled due to a Clang bug. The bug is fixed in current Clang version, re-enable it in this patch. BUG=4567 R=andrew@webrtc.org, kjellander@webrtc.org TEST=buildbot build Change-Id: I71e309cec6caf376181cf9c299c9e8967c9a328e Review URL: https://codereview.webrtc.org/1194773002 . Patch from Zhongwei Yao <zhongwei.yao@arm.com>. Cr-Commit-Position: refs/heads/master@{#9645}
This commit is contained in:
committed by
Zhongwei Yao
parent
a44660960a
commit
b3cc77f4ba
@ -60,10 +60,6 @@ void WebRtcIsacfix_AllpassFilter2FixDec16C(
|
||||
int32_t *filter_state_ch1,
|
||||
int32_t *filter_state_ch2);
|
||||
|
||||
// Disable AllpassFilter2FixDec16Neon function due to a clang bug.
|
||||
// Refer more details at:
|
||||
// https://code.google.com/p/webrtc/issues/detail?id=4567
|
||||
#if !defined(__clang__) || !defined(WEBRTC_ARCH_ARM64)
|
||||
#if (defined WEBRTC_DETECT_NEON) || (defined WEBRTC_HAS_NEON)
|
||||
void WebRtcIsacfix_AllpassFilter2FixDec16Neon(
|
||||
int16_t *data_ch1,
|
||||
@ -74,7 +70,6 @@ void WebRtcIsacfix_AllpassFilter2FixDec16Neon(
|
||||
int32_t *filter_state_ch1,
|
||||
int32_t *filter_state_ch2);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(MIPS_DSP_R1_LE)
|
||||
void WebRtcIsacfix_AllpassFilter2FixDec16MIPS(
|
||||
|
||||
@ -64,11 +64,6 @@ class FilterBanksTest : public testing::Test {
|
||||
|
||||
TEST_F(FilterBanksTest, AllpassFilter2FixDec16Test) {
|
||||
CalculateResidualEnergyTester(WebRtcIsacfix_AllpassFilter2FixDec16C);
|
||||
|
||||
// Disable AllpassFilter2FixDec16Neon function due to a clang bug.
|
||||
// Refer more details at:
|
||||
// https://code.google.com/p/webrtc/issues/detail?id=4567
|
||||
#if !(defined __clang__) || !defined(WEBRTC_ARCH_ARM64)
|
||||
#ifdef WEBRTC_DETECT_NEON
|
||||
if ((WebRtc_GetCPUFeaturesARM() & kCPUFeatureNEON) != 0) {
|
||||
CalculateResidualEnergyTester(WebRtcIsacfix_AllpassFilter2FixDec16Neon);
|
||||
@ -76,7 +71,6 @@ TEST_F(FilterBanksTest, AllpassFilter2FixDec16Test) {
|
||||
#elif defined(WEBRTC_HAS_NEON)
|
||||
CalculateResidualEnergyTester(WebRtcIsacfix_AllpassFilter2FixDec16Neon);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST_F(FilterBanksTest, HighpassFilterFixDec32Test) {
|
||||
|
||||
@ -207,13 +207,8 @@ static void WebRtcIsacfix_InitNeon(void) {
|
||||
WebRtcIsacfix_FilterMaLoopFix = WebRtcIsacfix_FilterMaLoopNeon;
|
||||
WebRtcIsacfix_Spec2Time = WebRtcIsacfix_Spec2TimeNeon;
|
||||
WebRtcIsacfix_Time2Spec = WebRtcIsacfix_Time2SpecNeon;
|
||||
// Disable AllpassFilter2FixDec16Neon function due to a clang bug.
|
||||
// Refer more details at:
|
||||
// https://code.google.com/p/webrtc/issues/detail?id=4567
|
||||
#if !defined(__clang__) || !defined(WEBRTC_ARCH_ARM64)
|
||||
WebRtcIsacfix_AllpassFilter2FixDec16 =
|
||||
WebRtcIsacfix_AllpassFilter2FixDec16Neon;
|
||||
#endif
|
||||
WebRtcIsacfix_MatrixProduct1 = WebRtcIsacfix_MatrixProduct1Neon;
|
||||
WebRtcIsacfix_MatrixProduct2 = WebRtcIsacfix_MatrixProduct2Neon;
|
||||
}
|
||||
|
||||
@ -137,18 +137,11 @@
|
||||
],
|
||||
'sources': [
|
||||
'fix/source/entropy_coding_neon.c',
|
||||
'fix/source/filterbanks_neon.c',
|
||||
'fix/source/filters_neon.c',
|
||||
'fix/source/lattice_neon.c',
|
||||
'fix/source/transform_neon.c',
|
||||
],
|
||||
'conditions': [
|
||||
# Disable AllpassFilter2FixDec16Neon function due to a clang bug.
|
||||
# For more details refer to:
|
||||
# https://code.google.com/p/webrtc/issues/detail?id=4567
|
||||
['target_arch!="arm64" or clang==0', {
|
||||
'sources': ['fix/source/filterbanks_neon.c',],
|
||||
}]
|
||||
],
|
||||
},
|
||||
],
|
||||
}],
|
||||
|
||||
Reference in New Issue
Block a user