aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alc.cpp
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2023-11-18 05:33:30 -0800
committerChris Robinson <[email protected]>2023-11-18 06:04:38 -0800
commit6e224443096a85f5eefa8d815d6905824f230604 (patch)
tree7e928b75692ca1bba0386ce27b21735e20353d73 /alc/alc.cpp
parentfe5b3f4fed727b6cf0e98a3454070a53ffcb2ee6 (diff)
Start a 32-bit sample format extension
This ultimately is to properly distinguish and clarify formats being 32-bit integer and 32-bit float.
Diffstat (limited to 'alc/alc.cpp')
-rw-r--r--alc/alc.cpp48
1 files changed, 29 insertions, 19 deletions
diff --git a/alc/alc.cpp b/alc/alc.cpp
index 96b641f7..08ef0063 100644
--- a/alc/alc.cpp
+++ b/alc/alc.cpp
@@ -740,29 +740,39 @@ std::optional<DevFmtPair> DecomposeDevFormat(ALenum format)
DevFmtChannels channels;
DevFmtType type;
} list[] = {
- { AL_FORMAT_MONO8, DevFmtMono, DevFmtUByte },
- { AL_FORMAT_MONO16, DevFmtMono, DevFmtShort },
+ { AL_FORMAT_MONO8, DevFmtMono, DevFmtUByte },
+ { AL_FORMAT_MONO16, DevFmtMono, DevFmtShort },
+ { AL_FORMAT_MONO_I32, DevFmtMono, DevFmtInt },
{ AL_FORMAT_MONO_FLOAT32, DevFmtMono, DevFmtFloat },
- { AL_FORMAT_STEREO8, DevFmtStereo, DevFmtUByte },
- { AL_FORMAT_STEREO16, DevFmtStereo, DevFmtShort },
+ { AL_FORMAT_STEREO8, DevFmtStereo, DevFmtUByte },
+ { AL_FORMAT_STEREO16, DevFmtStereo, DevFmtShort },
+ { AL_FORMAT_STEREO_I32, DevFmtStereo, DevFmtInt },
{ AL_FORMAT_STEREO_FLOAT32, DevFmtStereo, DevFmtFloat },
- { AL_FORMAT_QUAD8, DevFmtQuad, DevFmtUByte },
- { AL_FORMAT_QUAD16, DevFmtQuad, DevFmtShort },
- { AL_FORMAT_QUAD32, DevFmtQuad, DevFmtFloat },
-
- { AL_FORMAT_51CHN8, DevFmtX51, DevFmtUByte },
- { AL_FORMAT_51CHN16, DevFmtX51, DevFmtShort },
- { AL_FORMAT_51CHN32, DevFmtX51, DevFmtFloat },
-
- { AL_FORMAT_61CHN8, DevFmtX61, DevFmtUByte },
- { AL_FORMAT_61CHN16, DevFmtX61, DevFmtShort },
- { AL_FORMAT_61CHN32, DevFmtX61, DevFmtFloat },
-
- { AL_FORMAT_71CHN8, DevFmtX71, DevFmtUByte },
- { AL_FORMAT_71CHN16, DevFmtX71, DevFmtShort },
- { AL_FORMAT_71CHN32, DevFmtX71, DevFmtFloat },
+ { AL_FORMAT_QUAD8, DevFmtQuad, DevFmtUByte },
+ { AL_FORMAT_QUAD16, DevFmtQuad, DevFmtShort },
+ { AL_FORMAT_QUAD32, DevFmtQuad, DevFmtFloat },
+ { AL_FORMAT_QUAD_I32, DevFmtQuad, DevFmtInt },
+ { AL_FORMAT_QUAD_FLOAT32, DevFmtQuad, DevFmtFloat },
+
+ { AL_FORMAT_51CHN8, DevFmtX51, DevFmtUByte },
+ { AL_FORMAT_51CHN16, DevFmtX51, DevFmtShort },
+ { AL_FORMAT_51CHN32, DevFmtX51, DevFmtFloat },
+ { AL_FORMAT_51CHN_I32, DevFmtX51, DevFmtInt },
+ { AL_FORMAT_51CHN_FLOAT32, DevFmtX51, DevFmtFloat },
+
+ { AL_FORMAT_61CHN8, DevFmtX61, DevFmtUByte },
+ { AL_FORMAT_61CHN16, DevFmtX61, DevFmtShort },
+ { AL_FORMAT_61CHN32, DevFmtX61, DevFmtFloat },
+ { AL_FORMAT_61CHN_I32, DevFmtX61, DevFmtInt },
+ { AL_FORMAT_61CHN_FLOAT32, DevFmtX61, DevFmtFloat },
+
+ { AL_FORMAT_71CHN8, DevFmtX71, DevFmtUByte },
+ { AL_FORMAT_71CHN16, DevFmtX71, DevFmtShort },
+ { AL_FORMAT_71CHN32, DevFmtX71, DevFmtFloat },
+ { AL_FORMAT_71CHN_I32, DevFmtX71, DevFmtInt },
+ { AL_FORMAT_71CHN_FLOAT32, DevFmtX71, DevFmtFloat },
};
for(const auto &item : list)