diff options
author | Chris Robinson <[email protected]> | 2017-02-12 21:03:30 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2017-02-12 21:03:30 -0800 |
commit | 27695e2b24dea23d0db451fb0f9ae1c1af6f416e (patch) | |
tree | dcdcb64667dda864b05ede129049924047ffe01d /Alc/mixer.c | |
parent | 427f484e01eb09581dc5d3d0fb3f961c23916599 (diff) |
Add NEON-enhanced resamplers
Diffstat (limited to 'Alc/mixer.c')
-rw-r--r-- | Alc/mixer.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Alc/mixer.c b/Alc/mixer.c index 0ee1edd6..5442954e 100644 --- a/Alc/mixer.c +++ b/Alc/mixer.c @@ -113,6 +113,10 @@ static inline ResamplerFunc SelectResampler(enum Resampler resampler) case PointResampler: return Resample_point32_C; case LinearResampler: +#ifdef HAVE_NEON + if((CPUCapFlags&CPU_CAP_NEON)) + return Resample_lerp32_Neon; +#endif #ifdef HAVE_SSE4_1 if((CPUCapFlags&CPU_CAP_SSE4_1)) return Resample_lerp32_SSE41; @@ -123,6 +127,10 @@ static inline ResamplerFunc SelectResampler(enum Resampler resampler) #endif return Resample_lerp32_C; case FIR4Resampler: +#ifdef HAVE_NEON + if((CPUCapFlags&CPU_CAP_NEON)) + return Resample_fir4_32_Neon; +#endif #ifdef HAVE_SSE4_1 if((CPUCapFlags&CPU_CAP_SSE4_1)) return Resample_fir4_32_SSE41; @@ -133,6 +141,10 @@ static inline ResamplerFunc SelectResampler(enum Resampler resampler) #endif return Resample_fir4_32_C; case FIR8Resampler: +#ifdef HAVE_NEON + if((CPUCapFlags&CPU_CAP_NEON)) + return Resample_fir8_32_Neon; +#endif #ifdef HAVE_SSE4_1 if((CPUCapFlags&CPU_CAP_SSE4_1)) return Resample_fir8_32_SSE41; @@ -143,6 +155,10 @@ static inline ResamplerFunc SelectResampler(enum Resampler resampler) #endif return Resample_fir8_32_C; case BSincResampler: +#ifdef HAVE_NEON + if((CPUCapFlags&CPU_CAP_NEON)) + return Resample_bsinc32_Neon; +#endif #ifdef HAVE_SSE if((CPUCapFlags&CPU_CAP_SSE)) return Resample_bsinc32_SSE; |