MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / DecomposeUserFormat

Function DecomposeUserFormat

Engine/lib/openal-soft/al/buffer.cpp:671–742  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

669
670struct DecompResult { UserFmtChannels channels; UserFmtType type; };
671al::optional<DecompResult> DecomposeUserFormat(ALenum format)
672{
673 struct FormatMap {
674 ALenum format;
675 UserFmtChannels channels;
676 UserFmtType type;
677 };
678 static const std::array<FormatMap,46> UserFmtList{{
679 { AL_FORMAT_MONO8, UserFmtMono, UserFmtUByte },
680 { AL_FORMAT_MONO16, UserFmtMono, UserFmtShort },
681 { AL_FORMAT_MONO_FLOAT32, UserFmtMono, UserFmtFloat },
682 { AL_FORMAT_MONO_DOUBLE_EXT, UserFmtMono, UserFmtDouble },
683 { AL_FORMAT_MONO_IMA4, UserFmtMono, UserFmtIMA4 },
684 { AL_FORMAT_MONO_MSADPCM_SOFT, UserFmtMono, UserFmtMSADPCM },
685 { AL_FORMAT_MONO_MULAW, UserFmtMono, UserFmtMulaw },
686 { AL_FORMAT_MONO_ALAW_EXT, UserFmtMono, UserFmtAlaw },
687
688 { AL_FORMAT_STEREO8, UserFmtStereo, UserFmtUByte },
689 { AL_FORMAT_STEREO16, UserFmtStereo, UserFmtShort },
690 { AL_FORMAT_STEREO_FLOAT32, UserFmtStereo, UserFmtFloat },
691 { AL_FORMAT_STEREO_DOUBLE_EXT, UserFmtStereo, UserFmtDouble },
692 { AL_FORMAT_STEREO_IMA4, UserFmtStereo, UserFmtIMA4 },
693 { AL_FORMAT_STEREO_MSADPCM_SOFT, UserFmtStereo, UserFmtMSADPCM },
694 { AL_FORMAT_STEREO_MULAW, UserFmtStereo, UserFmtMulaw },
695 { AL_FORMAT_STEREO_ALAW_EXT, UserFmtStereo, UserFmtAlaw },
696
697 { AL_FORMAT_REAR8, UserFmtRear, UserFmtUByte },
698 { AL_FORMAT_REAR16, UserFmtRear, UserFmtShort },
699 { AL_FORMAT_REAR32, UserFmtRear, UserFmtFloat },
700 { AL_FORMAT_REAR_MULAW, UserFmtRear, UserFmtMulaw },
701
702 { AL_FORMAT_QUAD8_LOKI, UserFmtQuad, UserFmtUByte },
703 { AL_FORMAT_QUAD16_LOKI, UserFmtQuad, UserFmtShort },
704
705 { AL_FORMAT_QUAD8, UserFmtQuad, UserFmtUByte },
706 { AL_FORMAT_QUAD16, UserFmtQuad, UserFmtShort },
707 { AL_FORMAT_QUAD32, UserFmtQuad, UserFmtFloat },
708 { AL_FORMAT_QUAD_MULAW, UserFmtQuad, UserFmtMulaw },
709
710 { AL_FORMAT_51CHN8, UserFmtX51, UserFmtUByte },
711 { AL_FORMAT_51CHN16, UserFmtX51, UserFmtShort },
712 { AL_FORMAT_51CHN32, UserFmtX51, UserFmtFloat },
713 { AL_FORMAT_51CHN_MULAW, UserFmtX51, UserFmtMulaw },
714
715 { AL_FORMAT_61CHN8, UserFmtX61, UserFmtUByte },
716 { AL_FORMAT_61CHN16, UserFmtX61, UserFmtShort },
717 { AL_FORMAT_61CHN32, UserFmtX61, UserFmtFloat },
718 { AL_FORMAT_61CHN_MULAW, UserFmtX61, UserFmtMulaw },
719
720 { AL_FORMAT_71CHN8, UserFmtX71, UserFmtUByte },
721 { AL_FORMAT_71CHN16, UserFmtX71, UserFmtShort },
722 { AL_FORMAT_71CHN32, UserFmtX71, UserFmtFloat },
723 { AL_FORMAT_71CHN_MULAW, UserFmtX71, UserFmtMulaw },
724
725 { AL_FORMAT_BFORMAT2D_8, UserFmtBFormat2D, UserFmtUByte },
726 { AL_FORMAT_BFORMAT2D_16, UserFmtBFormat2D, UserFmtShort },
727 { AL_FORMAT_BFORMAT2D_FLOAT32, UserFmtBFormat2D, UserFmtFloat },
728 { AL_FORMAT_BFORMAT2D_MULAW, UserFmtBFormat2D, UserFmtMulaw },

Callers 1

buffer.cppFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected