Clear ARM NEON flag
Merge WEBRTC_ARCH_ARM64_NEON and WEBRTC_ARCH_ARM_NEON into one WEBRTC_HAS_NEON. Replace WEBRTC_DETECT_ARM_NEON by WEBRTC_DETECT_NEON. Replace WEBRTC_ARCH_ARM by WEBRTC_ARCH_ARM64 for arm64 cpu. BUG=4002 R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org Change-Id: I870a4d0682b80633b671c9aab733153f6d95a980 Review URL: https://webrtc-codereview.appspot.com/49309004 Cr-Commit-Position: refs/heads/master@{#9228}
This commit is contained in:
@ -373,8 +373,7 @@ static void ResetAdaptiveChannelC(AecmCore* aecm) {
|
||||
}
|
||||
|
||||
// Initialize function pointers for ARM Neon platform.
|
||||
#if (defined WEBRTC_DETECT_ARM_NEON || defined WEBRTC_ARCH_ARM_NEON || \
|
||||
defined WEBRTC_ARCH_ARM64_NEON)
|
||||
#if (defined WEBRTC_DETECT_NEON || defined WEBRTC_HAS_NEON)
|
||||
static void WebRtcAecm_InitNeon(void)
|
||||
{
|
||||
WebRtcAecm_StoreAdaptiveChannel = WebRtcAecm_StoreAdaptiveChannelNeon;
|
||||
@ -521,13 +520,13 @@ int WebRtcAecm_InitCore(AecmCore* const aecm, int samplingFreq) {
|
||||
WebRtcAecm_StoreAdaptiveChannel = StoreAdaptiveChannelC;
|
||||
WebRtcAecm_ResetAdaptiveChannel = ResetAdaptiveChannelC;
|
||||
|
||||
#ifdef WEBRTC_DETECT_ARM_NEON
|
||||
#ifdef WEBRTC_DETECT_NEON
|
||||
uint64_t features = WebRtc_GetCPUFeaturesARM();
|
||||
if ((features & kCPUFeatureNEON) != 0)
|
||||
{
|
||||
WebRtcAecm_InitNeon();
|
||||
}
|
||||
#elif defined(WEBRTC_ARCH_ARM_NEON) || defined(WEBRTC_ARCH_ARM64_NEON)
|
||||
#elif defined(WEBRTC_HAS_NEON)
|
||||
WebRtcAecm_InitNeon();
|
||||
#endif
|
||||
|
||||
|
||||
@ -409,8 +409,7 @@ extern ResetAdaptiveChannel WebRtcAecm_ResetAdaptiveChannel;
|
||||
// For the above function pointers, functions for generic platforms are declared
|
||||
// and defined as static in file aecm_core.c, while those for ARM Neon platforms
|
||||
// are declared below and defined in file aecm_core_neon.c.
|
||||
#if (defined WEBRTC_DETECT_ARM_NEON) || defined (WEBRTC_ARCH_ARM_NEON) || \
|
||||
defined (WEBRTC_ARCH_ARM64_NEON)
|
||||
#if defined(WEBRTC_DETECT_NEON) || defined(WEBRTC_HAS_NEON)
|
||||
void WebRtcAecm_CalcLinearEnergiesNeon(AecmCore* aecm,
|
||||
const uint16_t* far_spectrum,
|
||||
int32_t* echo_est,
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
#include "webrtc/typedefs.h"
|
||||
|
||||
// Square root of Hanning window in Q14.
|
||||
#if defined(WEBRTC_DETECT_ARM_NEON) || defined(WEBRTC_ARCH_ARM_NEON)
|
||||
#if defined(WEBRTC_DETECT_NEON) || defined(WEBRTC_HAS_NEON)
|
||||
// Table is defined in an ARM assembly file.
|
||||
extern const ALIGN8_BEG int16_t WebRtcAecm_kSqrtHanning[] ALIGN8_END;
|
||||
#else
|
||||
|
||||
@ -32,7 +32,7 @@ const ALIGN8_BEG int16_t WebRtcAecm_kSqrtHanning[] ALIGN8_END = {
|
||||
};
|
||||
|
||||
static inline void AddLanes(uint32_t* ptr, uint32x4_t v) {
|
||||
#if defined(__aarch64__)
|
||||
#if defined(WEBRTC_ARCH_ARM64)
|
||||
*(ptr) = vaddvq_u32(v);
|
||||
#else
|
||||
uint32x2_t tmp_v;
|
||||
|
||||
Reference in New Issue
Block a user