summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandrew@webrtc.org <andrew@webrtc.org>2014-10-07 22:17:54 +0000
committerandrew@webrtc.org <andrew@webrtc.org>2014-10-07 22:17:54 +0000
commit6d58d90b0064c93cfb6b6f89c696cc53719ad831 (patch)
treead24b8f16d80dd57a2016d410dea7b794879e7ac
parente54a7bd24d0484f56f1dec8660a401e5af964cda (diff)
downloadopenmax_dl-6d58d90b0064c93cfb6b6f89c696cc53719ad831.tar.gz
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
-rw-r--r--dl/dl.gyp7
-rw-r--r--dl/sp/api/omxSP.h36
2 files changed, 21 insertions, 22 deletions
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 @@ OMXResult omxSP_FFTFwd_CToC_FC32_Sfs (
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 @@ OMXResult omxSP_FFTInv_CToC_FC32_Sfs (
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 @@ OMXResult omxSP_FFTInv_CCSToR_F32_Sfs(
* 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 @@ OMXResult omxSP_FFTInv_CCSToR_F32_Sfs_vfp(
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
}