summaryrefslogtreecommitdiffstats
path: root/src/multimedia/audio
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2022-05-25 16:33:27 +0200
committerLars Knoll <lars.knoll@qt.io>2022-05-31 11:31:29 +0200
commitbfec5416903d664a9143d4c0fe7145702ffc3f38 (patch)
treec19e831126d5ab5661b2c84c9fa81799721ef0b4 /src/multimedia/audio
parent0199157dbcbe71ef6af195114b9330d7e0520cb6 (diff)
Fix the data to decode ambisonic to surround speaker arrays
Use the correct channel order and normalization of the ambisonic channels. Resonance Audio expects Ambix compatible ordering (ie. ACN channel order) and normalization (SN3D). Specify that we want that ordering in the script generating the speaker data and normalize the factors correctly to SN3D. Add hand coded handling for Mono, Stereo, 2Dot1, 3Dot0 and 3Dot1 speaker configurations as those do not cover the area behind the listener and thus don't really qualify as a surround configuration. Change-Id: I905ddaa81938df918a460a7dea0526444836cdff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/multimedia/audio')
-rw-r--r--src/multimedia/audio/qaudioformat.cpp2
-rw-r--r--src/multimedia/audio/qaudioformat.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/multimedia/audio/qaudioformat.cpp b/src/multimedia/audio/qaudioformat.cpp
index ecc1de1ff..6be912988 100644
--- a/src/multimedia/audio/qaudioformat.cpp
+++ b/src/multimedia/audio/qaudioformat.cpp
@@ -185,6 +185,8 @@ QT_BEGIN_NAMESPACE
\value ChannelConfigMono The audio has one Center channel
\value ChannelConfigStereo The audio has two channels, Left and Right
\value ChannelConfig2Dot1 The audio has three channels, Left, Right and LFE (low frequency effect)
+ \value ChannelConfig3Dot0 The audio has three channels, Left, Right and Center
+ \value ChannelConfig3Dot1 The audio has four channels, Left, Right, Center and LFE (low frequency effect)
\value ChannelConfigSurround5Dot0 The audio has five channels, Left, Right, Center, BackLeft, BackRight
\value ChannelConfigSurround5Dot1 The audio has 6 channels, Left, Right, Center, LFE, BackLeft and BackRight
\value ChannelConfigSurround7Dot0 The audio has 7 channels, Left, Right, Center, BackLeft, BackRight, SideLeft and SideRight
diff --git a/src/multimedia/audio/qaudioformat.h b/src/multimedia/audio/qaudioformat.h
index b4cbb6428..0a21aad7e 100644
--- a/src/multimedia/audio/qaudioformat.h
+++ b/src/multimedia/audio/qaudioformat.h
@@ -104,6 +104,8 @@ public:
ChannelConfigMono = QtPrivate::channelConfig(FrontCenter),
ChannelConfigStereo = QtPrivate::channelConfig(FrontLeft, FrontRight),
ChannelConfig2Dot1 = QtPrivate::channelConfig(FrontLeft, FrontRight, LFE),
+ ChannelConfig3Dot0 = QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter),
+ ChannelConfig3Dot1 = QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE),
ChannelConfigSurround5Dot0 = QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight),
ChannelConfigSurround5Dot1 = QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight),
ChannelConfigSurround7Dot0 = QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight),