diff options
author | Chris Robinson <[email protected]> | 2016-08-12 05:26:36 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2016-08-12 05:26:36 -0700 |
commit | 770e2ff7ed516a41721d6cde931b3cefc07c190e (patch) | |
tree | ce6d59d89039aba7339575e5bb0783032289e401 /OpenAL32 | |
parent | c6c6e3324dd9d5d864b6146ca7a6c6e6369978a6 (diff) |
Use a more specialized mixer function for B-Format to HRTF
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/Include/alMain.h | 4 | ||||
-rw-r--r-- | OpenAL32/Include/alu.h | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 3d099ca2..b173c515 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -599,8 +599,8 @@ struct ALCdevice_struct ALCenum Hrtf_Status; /* HRTF filter state for dry buffer content */ - HrtfState Hrtf_State[4]; - HrtfParams Hrtf_Params[4]; + alignas(16) ALfloat Hrtf_Values[4][HRIR_LENGTH][2]; + alignas(16) ALfloat Hrtf_Coeffs[4][HRIR_LENGTH][2]; ALuint Hrtf_Offset; ALuint Hrtf_IrSize; diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h index 9913a117..1d922881 100644 --- a/OpenAL32/Include/alu.h +++ b/OpenAL32/Include/alu.h @@ -167,6 +167,10 @@ typedef void (*HrtfMixerFunc)(ALfloat (*restrict OutBuffer)[BUFFERSIZE], ALuint const ALfloat *data, ALuint Counter, ALuint Offset, ALuint OutPos, const ALuint IrSize, const MixHrtfParams *hrtfparams, HrtfState *hrtfstate, ALuint BufferSize); +typedef void (*HrtfDirectMixerFunc)(ALfloat (*restrict OutBuffer)[BUFFERSIZE], + ALuint lidx, ALuint ridx, const ALfloat *data, ALuint Offset, + const ALuint IrSize, ALfloat (*restrict Coeffs)[2], + ALfloat (*restrict Values)[2], ALuint BufferSize); #define GAIN_SILENCE_THRESHOLD (0.00001f) /* -100dB */ |