aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer_defs.h
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-01-07 05:32:07 -0800
committerChris Robinson <[email protected]>2018-01-07 05:32:07 -0800
commit4cc1c646466737ba411aa23ce4a6116936ada8c2 (patch)
tree796fc698eb910630ac5f398fe38f26aef2cd456c /Alc/mixer_defs.h
parent0e1fd34c89d8f09f68c2c243ceccd0dab4f7c6c0 (diff)
Replace the sinc4 resampler with cubic
Turns out the C version of the cubic resampler is just slightly faster than even the SSE3 version of the FIR4 resampler. This is likely due to not using a 64KB random-access lookup table along with unaligned loads, both offseting the gains from SSE.
Diffstat (limited to 'Alc/mixer_defs.h')
-rw-r--r--Alc/mixer_defs.h12
1 files changed, 1 insertions, 11 deletions
diff --git a/Alc/mixer_defs.h b/Alc/mixer_defs.h
index 364bbf7a..fe19cef4 100644
--- a/Alc/mixer_defs.h
+++ b/Alc/mixer_defs.h
@@ -15,7 +15,7 @@ struct HrtfState;
const ALfloat *Resample_copy_C(const InterpState *state, const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
const ALfloat *Resample_point_C(const InterpState *state, const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
const ALfloat *Resample_lerp_C(const InterpState *state, const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
-const ALfloat *Resample_fir4_C(const InterpState *state, const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
+const ALfloat *Resample_cubic_C(const InterpState *state, const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
const ALfloat *Resample_bsinc_C(const InterpState *state, const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
@@ -83,13 +83,6 @@ const ALfloat *Resample_lerp_SSE41(const InterpState *state, const ALfloat *rest
ALsizei frac, ALint increment, ALfloat *restrict dst,
ALsizei numsamples);
-const ALfloat *Resample_fir4_SSE3(const InterpState *state, const ALfloat *restrict src,
- ALsizei frac, ALint increment, ALfloat *restrict dst,
- ALsizei numsamples);
-const ALfloat *Resample_fir4_SSE41(const InterpState *state, const ALfloat *restrict src,
- ALsizei frac, ALint increment, ALfloat *restrict dst,
- ALsizei numsamples);
-
const ALfloat *Resample_bsinc_SSE(const InterpState *state, const ALfloat *restrict src,
ALsizei frac, ALint increment, ALfloat *restrict dst,
ALsizei dstlen);
@@ -119,9 +112,6 @@ void MixRow_Neon(ALfloat *OutBuffer, const ALfloat *Gains,
const ALfloat *Resample_lerp_Neon(const InterpState *state, const ALfloat *restrict src,
ALsizei frac, ALint increment, ALfloat *restrict dst,
ALsizei numsamples);
-const ALfloat *Resample_fir4_Neon(const InterpState *state, const ALfloat *restrict src,
- ALsizei frac, ALint increment, ALfloat *restrict dst,
- ALsizei numsamples);
const ALfloat *Resample_bsinc_Neon(const InterpState *state, const ALfloat *restrict src,
ALsizei frac, ALint increment, ALfloat *restrict dst,
ALsizei dstlen);