15 const ALfloat
*Resample_copy32_C(const ALfloat
*src
, ALuint frac
, ALuint increment
, ALfloat
*restrict dst
, ALuint dstlen
);
16 const ALfloat
*Resample_point32_C(const ALfloat
*src
, ALuint frac
, ALuint increment
, ALfloat
*restrict dst
, ALuint dstlen
);
17 const ALfloat
*Resample_lerp32_C(const ALfloat
*src
, ALuint frac
, ALuint increment
, ALfloat
*restrict dst
, ALuint dstlen
);
18 const ALfloat
*Resample_cubic32_C(const ALfloat
*src
, ALuint frac
, ALuint increment
, ALfloat
*restrict dst
, ALuint dstlen
);
22 void MixDirect_Hrtf_C(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
23 ALuint Counter
, ALuint Offset
, ALuint OutPos
, const ALuint IrSize
,
24 const struct HrtfParams
*hrtfparams
, struct HrtfState
*hrtfstate
,
26 void MixDirect_C(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
27 struct MixGains
*Gains
, ALuint Counter
, ALuint OutPos
,
29 void MixSend_C(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
30 struct MixGains
*Gain
, ALuint Counter
, ALuint OutPos
,
34 void MixDirect_Hrtf_SSE(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
35 ALuint Counter
, ALuint Offset
, ALuint OutPos
, const ALuint IrSize
,
36 const struct HrtfParams
*hrtfparams
, struct HrtfState
*hrtfstate
,
38 void MixDirect_SSE(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
39 struct MixGains
*Gains
, ALuint Counter
, ALuint OutPos
,
41 void MixSend_SSE(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
42 struct MixGains
*Gain
, ALuint Counter
, ALuint OutPos
,
46 inline void InitiatePositionArrays(ALuint frac
, ALuint increment
, ALuint
*frac_arr
, ALuint
*pos_arr
, ALuint size
)
52 for(i
= 1;i
< size
;i
++)
54 ALuint frac_tmp
= frac_arr
[i
-1] + increment
;
55 pos_arr
[i
] = pos_arr
[i
-1] + (frac_tmp
>>FRACTIONBITS
);
56 frac_arr
[i
] = frac_tmp
&FRACTIONMASK
;
60 const ALfloat
*Resample_lerp32_SSE2(const ALfloat
*src
, ALuint frac
, ALuint increment
,
61 ALfloat
*restrict dst
, ALuint numsamples
);
62 const ALfloat
*Resample_lerp32_SSE41(const ALfloat
*src
, ALuint frac
, ALuint increment
,
63 ALfloat
*restrict dst
, ALuint numsamples
);
66 void MixDirect_Hrtf_Neon(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
67 ALuint Counter
, ALuint Offset
, ALuint OutPos
, const ALuint IrSize
,
68 const struct HrtfParams
*hrtfparams
, struct HrtfState
*hrtfstate
,
70 void MixDirect_Neon(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
71 struct MixGains
*Gains
, ALuint Counter
, ALuint OutPos
,
73 void MixSend_Neon(ALfloat (*restrict OutBuffer
)[BUFFERSIZE
], const ALfloat
*data
,
74 struct MixGains
*Gain
, ALuint Counter
, ALuint OutPos
,
77 #endif /* MIXER_DEFS_H */