Fix ARM64 build.
Provide the correct defines and APIs on ARM64, which always has NEON.
TEST=local ARM64 Chromium build passes.
BUG=chromium:415393
R=rtoy@google.com
Review URL: https://webrtc-codereview.appspot.com/26739004
git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7391 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/dl/dl.gyp b/dl/dl.gyp
index ecb3450..a4644f1 100644
--- a/dl/dl.gyp
+++ b/dl/dl.gyp
@@ -34,6 +34,13 @@
}],
],
}],
+ ['target_arch=="arm64"', {
+ # Enable build-time NEON selection.
+ 'defines': ['DL_ARM_NEON',],
+ 'direct_dependent_settings': {
+ 'defines': ['DL_ARM_NEON',],
+ },
+ }],
],
},
'targets': [
diff --git a/dl/sp/api/omxSP.h b/dl/sp/api/omxSP.h
index 0565fe9..2827379 100644
--- a/dl/sp/api/omxSP.h
+++ b/dl/sp/api/omxSP.h
@@ -2244,16 +2244,6 @@
OMX_FC32 *pDst,
const OMXFFTSpec_C_FC32 *pFFTSpec
);
-#ifdef __arm__
-/*
- * Non-NEON version
- */
-OMXResult omxSP_FFTFwd_CToC_FC32_Sfs_vfp (
- const OMX_FC32 *pSrc,
- OMX_FC32 *pDst,
- const OMXFFTSpec_C_FC32 *pFFTSpec
-);
-#endif
/**
* Function: omxSP_FFTFwd_RToCCS_F32_Sfs
@@ -2491,16 +2481,6 @@
OMX_FC32 *pDst,
const OMXFFTSpec_C_FC32 *pFFTSpec
);
-#ifdef __arm__
-/*
- * Non-NEON version
- */
-OMXResult omxSP_FFTInv_CToC_FC32_Sfs_vfp (
- const OMX_FC32 *pSrc,
- OMX_FC32 *pDst,
- const OMXFFTSpec_C_FC32 *pFFTSpec
-);
-#endif
/**
* Function: omxSP_FFTInv_CCSToR_F32_Sfs
@@ -2553,7 +2533,7 @@
* This block sets things up appropriately for run-time or build-time selection
* of NEON implementations.
*/
-#if defined(__arm__)
+#if defined(__arm__) || defined(__aarch64__)
/*
* Generic versions. Just like their *_Sfs counterparts, but automatically
* detect whether NEON is available or not and choose the appropriate routine.
@@ -2591,13 +2571,25 @@
OMX_F32* pDst,
const OMXFFTSpec_R_F32* pFFTSpec
);
+
+OMXResult omxSP_FFTFwd_CToC_FC32_Sfs_vfp (
+ const OMX_FC32 *pSrc,
+ OMX_FC32 *pDst,
+ const OMXFFTSpec_C_FC32 *pFFTSpec
+);
+
+OMXResult omxSP_FFTInv_CToC_FC32_Sfs_vfp (
+ const OMX_FC32 *pSrc,
+ OMX_FC32 *pDst,
+ const OMXFFTSpec_C_FC32 *pFFTSpec
+);
#endif /* defined(DL_ARM_NEON_OPTIONAL) || !defined(DL_ARM_NEON) */
#else
/* Build-time non-ARM selection. */
#define omxSP_FFTInv_RToCCS_F32 omxSP_FFTInv_RToCCS_F32_Sfs
#define omxSP_FFTInv_CCSToR_F32 omxSP_FFTInv_CCSToR_F32_Sfs
-#endif /* defined(__arm__) */
+#endif /* defined(__arm__) || defined(__aarch64__) */
#ifdef __cplusplus
}