summaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2014-05-03 18:59:26 -0700
committerChris Robinson <[email protected]>2014-05-03 18:59:26 -0700
commitd066c7b124a7efa771996bc7ba09e0e074683739 (patch)
tree3f5b863bf4cb66eff4f09ae7123196968323419e /OpenAL32/Include
parentb2e533fbfc3c61bbf3936750e85039f9f664f007 (diff)
Better pack HRTF mixing properties
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r--OpenAL32/Include/alu.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h
index bf2a7f77..36e81e0b 100644
--- a/OpenAL32/Include/alu.h
+++ b/OpenAL32/Include/alu.h
@@ -40,18 +40,15 @@ extern "C" {
#endif
typedef struct HrtfState {
- alignas(16) ALfloat History[MAX_INPUT_CHANNELS][SRC_HISTORY_LENGTH];
- alignas(16) ALfloat Values[MAX_INPUT_CHANNELS][HRIR_LENGTH][2];
+ alignas(16) ALfloat History[SRC_HISTORY_LENGTH];
+ alignas(16) ALfloat Values[HRIR_LENGTH][2];
} HrtfState;
typedef struct HrtfParams {
- ALfloat Gain;
- ALfloat Dir[3];
- alignas(16) ALfloat Coeffs[MAX_INPUT_CHANNELS][HRIR_LENGTH][2];
- alignas(16) ALfloat CoeffStep[MAX_INPUT_CHANNELS][HRIR_LENGTH][2];
- ALuint Delay[MAX_INPUT_CHANNELS][2];
- ALint DelayStep[MAX_INPUT_CHANNELS][2];
- ALuint IrSize;
+ alignas(16) ALfloat Coeffs[HRIR_LENGTH][2];
+ alignas(16) ALfloat CoeffStep[HRIR_LENGTH][2];
+ ALuint Delay[2];
+ ALint DelayStep[2];
} HrtfParams;
typedef struct DirectParams {
@@ -59,8 +56,11 @@ typedef struct DirectParams {
union {
struct {
- HrtfParams Params;
- HrtfState State;
+ HrtfParams Params[MAX_INPUT_CHANNELS];
+ HrtfState State[MAX_INPUT_CHANNELS];
+ ALuint IrSize;
+ ALfloat Gain;
+ ALfloat Dir[3];
} Hrtf;
/* A mixing matrix. First subscript is the channel number of the input