15 const ALfloat *Resample_copy_C(
const InterpState *state,
const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
16 const ALfloat *Resample_point_C(
const InterpState *state,
const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
17 const ALfloat *Resample_lerp_C(
const InterpState *state,
const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
18 const ALfloat *Resample_cubic_C(
const InterpState *state,
const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
19 const ALfloat *Resample_bsinc_C(
const InterpState *state,
const ALfloat *restrict src, ALsizei frac, ALint increment, ALfloat *restrict dst, ALsizei dstlen);
23 void MixHrtf_C(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
24 const ALfloat *data, ALsizei Offset, ALsizei OutPos,
25 const ALsizei IrSize,
struct MixHrtfParams *hrtfparams,
26 struct HrtfState *hrtfstate, ALsizei BufferSize);
27 void MixHrtfBlend_C(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
28 const ALfloat *data, ALsizei Offset, ALsizei OutPos,
29 const ALsizei IrSize,
const HrtfParams *oldparams,
30 MixHrtfParams *newparams, HrtfState *hrtfstate,
32 void MixDirectHrtf_C(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
33 const ALfloat *data, ALsizei Offset,
const ALsizei IrSize,
34 const ALfloat (*restrict Coeffs)[2], ALfloat (*restrict Values)[2],
36 void Mix_C(
const ALfloat *data, ALsizei OutChans, ALfloat (*restrict OutBuffer)[BUFFERSIZE],
37 ALfloat *CurrentGains,
const ALfloat *TargetGains, ALsizei Counter, ALsizei OutPos,
39 void MixRow_C(ALfloat *OutBuffer,
const ALfloat *Gains,
40 const ALfloat (*restrict data)[BUFFERSIZE], ALsizei InChans,
41 ALsizei InPos, ALsizei BufferSize);
44 void MixHrtf_SSE(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
45 const ALfloat *data, ALsizei Offset, ALsizei OutPos,
46 const ALsizei IrSize,
struct MixHrtfParams *hrtfparams,
47 struct HrtfState *hrtfstate, ALsizei BufferSize);
48 void MixHrtfBlend_SSE(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
49 const ALfloat *data, ALsizei Offset, ALsizei OutPos,
50 const ALsizei IrSize,
const HrtfParams *oldparams,
51 MixHrtfParams *newparams, HrtfState *hrtfstate,
53 void MixDirectHrtf_SSE(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
54 const ALfloat *data, ALsizei Offset,
const ALsizei IrSize,
55 const ALfloat (*restrict Coeffs)[2], ALfloat (*restrict Values)[2],
57 void Mix_SSE(
const ALfloat *data, ALsizei OutChans, ALfloat (*restrict OutBuffer)[BUFFERSIZE],
58 ALfloat *CurrentGains,
const ALfloat *TargetGains, ALsizei Counter, ALsizei OutPos,
60 void MixRow_SSE(ALfloat *OutBuffer,
const ALfloat *Gains,
61 const ALfloat (*restrict data)[BUFFERSIZE], ALsizei InChans,
62 ALsizei InPos, ALsizei BufferSize);
65 inline void InitiatePositionArrays(ALsizei frac, ALint increment, ALsizei *restrict frac_arr, ALsizei *restrict pos_arr, ALsizei
size)
71 for(i = 1;i <
size;i++)
73 ALint frac_tmp = frac_arr[i-1] + increment;
74 pos_arr[i] = pos_arr[i-1] + (frac_tmp>>FRACTIONBITS);
75 frac_arr[i] = frac_tmp&FRACTIONMASK;
79 const ALfloat *Resample_lerp_SSE2(
const InterpState *state,
const ALfloat *restrict src,
80 ALsizei frac, ALint increment, ALfloat *restrict dst,
82 const ALfloat *Resample_lerp_SSE41(
const InterpState *state,
const ALfloat *restrict src,
83 ALsizei frac, ALint increment, ALfloat *restrict dst,
86 const ALfloat *Resample_bsinc_SSE(
const InterpState *state,
const ALfloat *restrict src,
87 ALsizei frac, ALint increment, ALfloat *restrict dst,
91 void MixHrtf_Neon(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
92 const ALfloat *data, ALsizei Offset, ALsizei OutPos,
93 const ALsizei IrSize,
struct MixHrtfParams *hrtfparams,
94 struct HrtfState *hrtfstate, ALsizei BufferSize);
95 void MixHrtfBlend_Neon(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
96 const ALfloat *data, ALsizei Offset, ALsizei OutPos,
97 const ALsizei IrSize,
const HrtfParams *oldparams,
98 MixHrtfParams *newparams, HrtfState *hrtfstate,
100 void MixDirectHrtf_Neon(ALfloat *restrict LeftOut, ALfloat *restrict RightOut,
101 const ALfloat *data, ALsizei Offset,
const ALsizei IrSize,
102 const ALfloat (*restrict Coeffs)[2], ALfloat (*restrict Values)[2],
104 void Mix_Neon(
const ALfloat *data, ALsizei OutChans, ALfloat (*restrict OutBuffer)[BUFFERSIZE],
105 ALfloat *CurrentGains,
const ALfloat *TargetGains, ALsizei Counter, ALsizei OutPos,
107 void MixRow_Neon(ALfloat *OutBuffer,
const ALfloat *Gains,
108 const ALfloat (*restrict data)[BUFFERSIZE], ALsizei InChans,
109 ALsizei InPos, ALsizei BufferSize);
112 const ALfloat *Resample_lerp_Neon(
const InterpState *state,
const ALfloat *restrict src,
113 ALsizei frac, ALint increment, ALfloat *restrict dst,
115 const ALfloat *Resample_bsinc_Neon(
const InterpState *state,
const ALfloat *restrict src,
116 ALsizei frac, ALint increment, ALfloat *restrict dst,
U32 size(const DenseVector< T > &lhs)
Return number of elements.
Definition: DenseVector.h:587