audio_processing/aec: NEON code should not be invoked if it is detectable, but is not NEON

There exist devices with runtime checks for NEON, but where the device is not NEON. One such device is Tegra2 on which currently NEON code is running.

This fix adds a missing feature check when initializing the AEC.

BUG=4304
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8559}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8559 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
bjornv@webrtc.org 2015-03-02 16:25:08 +00:00
parent 48ac226b9a
commit 976c0f3043
2 changed files with 10 additions and 2 deletions

View File

@ -1459,8 +1459,12 @@ int WebRtcAec_CreateAec(AecCore** aecInst) {
WebRtcAec_InitAec_mips();
#endif
#if defined(WEBRTC_DETECT_ARM_NEON) || defined(WEBRTC_ARCH_ARM_NEON)
#if defined(WEBRTC_ARCH_ARM_NEON)
WebRtcAec_InitAec_neon();
#elif defined(WEBRTC_DETECT_ARM_NEON)
if ((WebRtc_GetCPUFeaturesARM() & kCPUFeatureNEON) != 0) {
WebRtcAec_InitAec_neon();
}
#endif
aec_rdft_init();

View File

@ -579,7 +579,11 @@ void aec_rdft_init(void) {
#if defined(MIPS_FPU_LE)
aec_rdft_init_mips();
#endif
#if defined(WEBRTC_DETECT_ARM_NEON) || defined(WEBRTC_ARCH_ARM_NEON)
#if defined(WEBRTC_ARCH_ARM_NEON)
aec_rdft_init_neon();
#elif defined(WEBRTC_DETECT_ARM_NEON)
if ((WebRtc_GetCPUFeaturesARM() & kCPUFeatureNEON) != 0) {
aec_rdft_init_neon();
}
#endif
}