summaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-05-28 19:35:32 -0700
committerChris Robinson <[email protected]>2011-05-28 19:35:32 -0700
commit7da2eea8f073aa63d2ef0dfb995510af3463c097 (patch)
treea70b139a5d252a6b3c17d3542e7a594402d2796f /Alc/ALu.c
parent596a1af7d97d9ca34bad6bd1b64296d97a94c864 (diff)
Add a 5.1 device format that uses side channels instead of back
Diffstat (limited to 'Alc/ALu.c')
-rw-r--r--Alc/ALu.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 35419631..934d5992 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -763,6 +763,9 @@ static const Channel QuadChans[] = { FRONT_LEFT, FRONT_RIGHT,
static const Channel X51Chans[] = { FRONT_LEFT, FRONT_RIGHT,
FRONT_CENTER, LFE,
BACK_LEFT, BACK_RIGHT };
+static const Channel X51SideChans[] = { FRONT_LEFT, FRONT_RIGHT,
+ FRONT_CENTER, LFE,
+ SIDE_LEFT, SIDE_RIGHT };
static const Channel X61Chans[] = { FRONT_LEFT, FRONT_LEFT,
FRONT_CENTER, LFE, BACK_CENTER,
SIDE_LEFT, SIDE_RIGHT };
@@ -790,30 +793,35 @@ static void Write_##T##_##chans(ALCdevice *device, T *RESTRICT buffer, \
DECL_TEMPLATE(ALfloat, MonoChans,1, aluF2F)
DECL_TEMPLATE(ALfloat, QuadChans,4, aluF2F)
DECL_TEMPLATE(ALfloat, X51Chans,6, aluF2F)
+DECL_TEMPLATE(ALfloat, X51SideChans,6, aluF2F)
DECL_TEMPLATE(ALfloat, X61Chans,7, aluF2F)
DECL_TEMPLATE(ALfloat, X71Chans,8, aluF2F)
DECL_TEMPLATE(ALushort, MonoChans,1, aluF2US)
DECL_TEMPLATE(ALushort, QuadChans,4, aluF2US)
DECL_TEMPLATE(ALushort, X51Chans,6, aluF2US)
+DECL_TEMPLATE(ALushort, X51SideChans,6, aluF2US)
DECL_TEMPLATE(ALushort, X61Chans,7, aluF2US)
DECL_TEMPLATE(ALushort, X71Chans,8, aluF2US)
DECL_TEMPLATE(ALshort, MonoChans,1, aluF2S)
DECL_TEMPLATE(ALshort, QuadChans,4, aluF2S)
DECL_TEMPLATE(ALshort, X51Chans,6, aluF2S)
+DECL_TEMPLATE(ALshort, X51SideChans,6, aluF2S)
DECL_TEMPLATE(ALshort, X61Chans,7, aluF2S)
DECL_TEMPLATE(ALshort, X71Chans,8, aluF2S)
DECL_TEMPLATE(ALubyte, MonoChans,1, aluF2UB)
DECL_TEMPLATE(ALubyte, QuadChans,4, aluF2UB)
DECL_TEMPLATE(ALubyte, X51Chans,6, aluF2UB)
+DECL_TEMPLATE(ALubyte, X51SideChans,6, aluF2UB)
DECL_TEMPLATE(ALubyte, X61Chans,7, aluF2UB)
DECL_TEMPLATE(ALubyte, X71Chans,8, aluF2UB)
DECL_TEMPLATE(ALbyte, MonoChans,1, aluF2B)
DECL_TEMPLATE(ALbyte, QuadChans,4, aluF2B)
DECL_TEMPLATE(ALbyte, X51Chans,6, aluF2B)
+DECL_TEMPLATE(ALbyte, X51SideChans,6, aluF2B)
DECL_TEMPLATE(ALbyte, X61Chans,7, aluF2B)
DECL_TEMPLATE(ALbyte, X71Chans,8, aluF2B)
@@ -876,6 +884,9 @@ static void Write_##T(ALCdevice *device, T *buffer, ALuint SamplesToDo) \
case DevFmtX51: \
Write_##T##_X51Chans(device, buffer, SamplesToDo); \
break; \
+ case DevFmtX51Side: \
+ Write_##T##_X51SideChans(device, buffer, SamplesToDo); \
+ break; \
case DevFmtX61: \
Write_##T##_X61Chans(device, buffer, SamplesToDo); \
break; \