13 typedef struct HrtfEntry
{
17 const struct Hrtf
*hrtf
;
19 TYPEDEF_VECTOR(HrtfEntry
, vector_HrtfEntry
)
22 #define HRIR_LENGTH (1<<HRIR_BITS)
23 #define HRIR_MASK (HRIR_LENGTH-1)
24 #define HRTFDELAY_BITS (20)
25 #define HRTFDELAY_FRACONE (1<<HRTFDELAY_BITS)
26 #define HRTFDELAY_MASK (HRTFDELAY_FRACONE-1)
30 vector_HrtfEntry
EnumerateHrtf(const_al_string devname
);
31 void FreeHrtfList(vector_HrtfEntry
*list
);
33 ALuint
GetHrtfSampleRate(const struct Hrtf
*Hrtf
);
34 ALuint
GetHrtfIrSize(const struct Hrtf
*Hrtf
);
36 void GetLerpedHrtfCoeffs(const struct Hrtf
*Hrtf
, ALfloat elevation
, ALfloat azimuth
, ALfloat dirfact
, ALfloat gain
, ALfloat (*coeffs
)[2], ALuint
*delays
);
37 ALuint
GetMovingHrtfCoeffs(const struct Hrtf
*Hrtf
, ALfloat elevation
, ALfloat azimuth
, ALfloat dirfact
, ALfloat gain
, ALfloat delta
, ALint counter
, ALfloat (*coeffs
)[2], ALuint
*delays
, ALfloat (*coeffStep
)[2], ALint
*delayStep
);
38 void GetBFormatHrtfCoeffs(const struct Hrtf
*Hrtf
, ALfloat (*coeffs_list
[4])[2], ALuint
*delay_list
[4]);
40 #endif /* ALC_HRTF_H */