diff options
author | andrew@webrtc.org <andrew@webrtc.org> | 2014-10-07 22:17:54 +0000 |
---|---|---|
committer | andrew@webrtc.org <andrew@webrtc.org> | 2014-10-07 22:17:54 +0000 |
commit | 6d58d90b0064c93cfb6b6f89c696cc53719ad831 (patch) | |
tree | ad24b8f16d80dd57a2016d410dea7b794879e7ac | |
parent | e54a7bd24d0484f56f1dec8660a401e5af964cda (diff) | |
download | openmax_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.gyp | 7 | ||||
-rw-r--r-- | dl/sp/api/omxSP.h | 36 |
2 files changed, 21 insertions, 22 deletions
@@ -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 } |