diff options
author | Chris Robinson <[email protected]> | 2017-02-13 11:29:32 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2017-02-13 11:29:32 -0800 |
commit | 0324712540f88d18f1fa8f18f7a72da06af00d75 (patch) | |
tree | df0e7b260f1833f3e5b42503225d2b6978ccf181 /Alc/mixer_neon.c | |
parent | 841d0bb893e19dbe6f95bd80a3ac50997f9e8f0d (diff) |
Put BsincState in a generic union
Diffstat (limited to 'Alc/mixer_neon.c')
-rw-r--r-- | Alc/mixer_neon.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/Alc/mixer_neon.c b/Alc/mixer_neon.c index 533817ff..543ff0f3 100644 --- a/Alc/mixer_neon.c +++ b/Alc/mixer_neon.c @@ -10,9 +10,9 @@ #include "mixer_defs.h" -const ALfloat *Resample_lerp32_Neon(const BsincState* UNUSED(state), const ALfloat *restrict src, - ALuint frac, ALint increment, ALfloat *restrict dst, - ALsizei numsamples) +const ALfloat *Resample_lerp32_Neon(const InterpState* UNUSED(state), + const ALfloat *restrict src, ALuint frac, ALint increment, + ALfloat *restrict dst, ALsizei numsamples) { const int32x4_t increment4 = vdupq_n_s32(increment*4); const float32x4_t fracOne4 = vdupq_n_f32(1.0f/FRACTIONONE); @@ -66,9 +66,9 @@ const ALfloat *Resample_lerp32_Neon(const BsincState* UNUSED(state), const ALflo return dst; } -const ALfloat *Resample_fir4_32_Neon(const BsincState* UNUSED(state), const ALfloat *restrict src, - ALuint frac, ALint increment, ALfloat *restrict dst, - ALsizei numsamples) +const ALfloat *Resample_fir4_32_Neon(const InterpState* UNUSED(state), + const ALfloat *restrict src, ALuint frac, ALint increment, + ALfloat *restrict dst, ALsizei numsamples) { const int32x4_t increment4 = vdupq_n_s32(increment*4); const uint32x4_t fracMask4 = vdupq_n_u32(FRACTIONMASK); @@ -136,9 +136,9 @@ const ALfloat *Resample_fir4_32_Neon(const BsincState* UNUSED(state), const ALfl return dst; } -const ALfloat *Resample_fir8_32_Neon(const BsincState* UNUSED(state), const ALfloat *restrict src, - ALuint frac, ALint increment, ALfloat *restrict dst, - ALsizei numsamples) +const ALfloat *Resample_fir8_32_Neon(const InterpState* UNUSED(state), + const ALfloat *restrict src, ALuint frac, ALint increment, + ALfloat *restrict dst, ALsizei numsamples) { const int32x4_t increment4 = vdupq_n_s32(increment*4); const uint32x4_t fracMask4 = vdupq_n_u32(FRACTIONMASK); @@ -211,18 +211,18 @@ const ALfloat *Resample_fir8_32_Neon(const BsincState* UNUSED(state), const ALfl return dst; } -const ALfloat *Resample_bsinc32_Neon(const BsincState *state, const ALfloat *restrict src, - ALuint frac, ALint increment, ALfloat *restrict dst, - ALsizei dstlen) +const ALfloat *Resample_bsinc32_Neon(const InterpState *state, + const ALfloat *restrict src, ALuint frac, ALint increment, + ALfloat *restrict dst, ALsizei dstlen) { - const float32x4_t sf4 = vdupq_n_f32(state->sf); - const ALsizei m = state->m; + const float32x4_t sf4 = vdupq_n_f32(state->bsinc.sf); + const ALsizei m = state->bsinc.m; const ALfloat *fil, *scd, *phd, *spd; ALsizei pi, i, j; float32x4_t r4; ALfloat pf; - src += state->l; + src += state->bsinc.l; for(i = 0;i < dstlen;i++) { // Calculate the phase index and factor. @@ -231,10 +231,10 @@ const ALfloat *Resample_bsinc32_Neon(const BsincState *state, const ALfloat *res pf = (frac & ((1<<FRAC_PHASE_BITDIFF)-1)) * (1.0f/(1<<FRAC_PHASE_BITDIFF)); #undef FRAC_PHASE_BITDIFF - fil = ASSUME_ALIGNED(state->coeffs[pi].filter, 16); - scd = ASSUME_ALIGNED(state->coeffs[pi].scDelta, 16); - phd = ASSUME_ALIGNED(state->coeffs[pi].phDelta, 16); - spd = ASSUME_ALIGNED(state->coeffs[pi].spDelta, 16); + fil = ASSUME_ALIGNED(state->bsinc.coeffs[pi].filter, 16); + scd = ASSUME_ALIGNED(state->bsinc.coeffs[pi].scDelta, 16); + phd = ASSUME_ALIGNED(state->bsinc.coeffs[pi].phDelta, 16); + spd = ASSUME_ALIGNED(state->bsinc.coeffs[pi].spDelta, 16); // Apply the scale and phase interpolated filter. r4 = vdupq_n_f32(0.0f); |