2012-08-15 01:01:55 -07:00
|
|
|
#ifndef MIXER_DEFS_H
|
|
|
|
#define MIXER_DEFS_H
|
|
|
|
|
|
|
|
#include "AL/alc.h"
|
|
|
|
#include "AL/al.h"
|
|
|
|
#include "alMain.h"
|
|
|
|
|
|
|
|
struct DirectParams;
|
|
|
|
struct SendParams;
|
|
|
|
|
2014-05-18 09:31:08 -07:00
|
|
|
struct HrtfParams;
|
|
|
|
struct HrtfState;
|
|
|
|
|
2012-09-14 04:13:18 -07:00
|
|
|
/* C resamplers */
|
2013-05-22 15:11:39 -07:00
|
|
|
void Resample_copy32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen);
|
|
|
|
void Resample_point32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen);
|
|
|
|
void Resample_lerp32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen);
|
|
|
|
void Resample_cubic32_C(const ALfloat *src, ALuint frac, ALuint increment, ALfloat *restrict dst, ALuint dstlen);
|
2012-09-14 04:13:18 -07:00
|
|
|
|
|
|
|
|
2012-08-15 01:01:55 -07:00
|
|
|
/* C mixers */
|
2014-05-18 09:31:08 -07:00
|
|
|
void MixDirect_Hrtf_C(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *data,
|
|
|
|
ALuint Counter, ALuint Offset, const ALuint IrSize,
|
|
|
|
const struct HrtfParams *hrtfparams, struct HrtfState *hrtfstate,
|
|
|
|
ALuint OutPos, ALuint BufferSize);
|
2014-05-18 07:54:51 -07:00
|
|
|
void MixDirect_C(struct DirectParams *params,
|
|
|
|
ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *restrict data,
|
|
|
|
ALuint Counter, ALuint srcchan, ALuint OutPos, ALuint BufferSize);
|
2014-03-23 16:28:55 -07:00
|
|
|
void MixSend_C(struct SendParams*,const ALfloat*restrict,ALuint,ALuint);
|
2012-08-15 01:01:55 -07:00
|
|
|
|
|
|
|
/* SSE mixers */
|
2014-05-18 09:31:08 -07:00
|
|
|
void MixDirect_Hrtf_SSE(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *data,
|
|
|
|
ALuint Counter, ALuint Offset, const ALuint IrSize,
|
|
|
|
const struct HrtfParams *hrtfparams, struct HrtfState *hrtfstate,
|
|
|
|
ALuint OutPos, ALuint BufferSize);
|
2014-05-18 07:54:51 -07:00
|
|
|
void MixDirect_SSE(struct DirectParams *params,
|
|
|
|
ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *restrict data,
|
|
|
|
ALuint Counter, ALuint srcchan, ALuint OutPos, ALuint BufferSize);
|
2014-03-23 16:28:55 -07:00
|
|
|
void MixSend_SSE(struct SendParams*,const ALfloat*restrict,ALuint,ALuint);
|
2012-08-15 01:01:55 -07:00
|
|
|
|
|
|
|
/* Neon mixers */
|
2014-05-18 09:31:08 -07:00
|
|
|
void MixDirect_Hrtf_Neon(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *data,
|
|
|
|
ALuint Counter, ALuint Offset, const ALuint IrSize,
|
|
|
|
const struct HrtfParams *hrtfparams, struct HrtfState *hrtfstate,
|
|
|
|
ALuint OutPos, ALuint BufferSize);
|
2014-05-18 07:54:51 -07:00
|
|
|
void MixDirect_Neon(struct DirectParams *params,
|
|
|
|
ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *restrict data,
|
|
|
|
ALuint Counter, ALuint srcchan, ALuint OutPos, ALuint BufferSize);
|
2014-03-23 16:28:55 -07:00
|
|
|
void MixSend_Neon(struct SendParams*,const ALfloat*restrict,ALuint,ALuint);
|
2012-08-15 01:01:55 -07:00
|
|
|
|
|
|
|
#endif /* MIXER_DEFS_H */
|