MCPcopy Create free account
hub / github.com/crownengine/crown / DecomposeUserFormat

Function DecomposeUserFormat

3rdparty/openal/al/buffer.cpp:553–624  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

551
552struct DecompResult { UserFmtChannels channels; UserFmtType type; };
553al::optional<DecompResult> DecomposeUserFormat(ALenum format)
554{
555 struct FormatMap {
556 ALenum format;
557 UserFmtChannels channels;
558 UserFmtType type;
559 };
560 static const std::array<FormatMap,46> UserFmtList{{
561 { AL_FORMAT_MONO8, UserFmtMono, UserFmtUByte },
562 { AL_FORMAT_MONO16, UserFmtMono, UserFmtShort },
563 { AL_FORMAT_MONO_FLOAT32, UserFmtMono, UserFmtFloat },
564 { AL_FORMAT_MONO_DOUBLE_EXT, UserFmtMono, UserFmtDouble },
565 { AL_FORMAT_MONO_IMA4, UserFmtMono, UserFmtIMA4 },
566 { AL_FORMAT_MONO_MSADPCM_SOFT, UserFmtMono, UserFmtMSADPCM },
567 { AL_FORMAT_MONO_MULAW, UserFmtMono, UserFmtMulaw },
568 { AL_FORMAT_MONO_ALAW_EXT, UserFmtMono, UserFmtAlaw },
569
570 { AL_FORMAT_STEREO8, UserFmtStereo, UserFmtUByte },
571 { AL_FORMAT_STEREO16, UserFmtStereo, UserFmtShort },
572 { AL_FORMAT_STEREO_FLOAT32, UserFmtStereo, UserFmtFloat },
573 { AL_FORMAT_STEREO_DOUBLE_EXT, UserFmtStereo, UserFmtDouble },
574 { AL_FORMAT_STEREO_IMA4, UserFmtStereo, UserFmtIMA4 },
575 { AL_FORMAT_STEREO_MSADPCM_SOFT, UserFmtStereo, UserFmtMSADPCM },
576 { AL_FORMAT_STEREO_MULAW, UserFmtStereo, UserFmtMulaw },
577 { AL_FORMAT_STEREO_ALAW_EXT, UserFmtStereo, UserFmtAlaw },
578
579 { AL_FORMAT_REAR8, UserFmtRear, UserFmtUByte },
580 { AL_FORMAT_REAR16, UserFmtRear, UserFmtShort },
581 { AL_FORMAT_REAR32, UserFmtRear, UserFmtFloat },
582 { AL_FORMAT_REAR_MULAW, UserFmtRear, UserFmtMulaw },
583
584 { AL_FORMAT_QUAD8_LOKI, UserFmtQuad, UserFmtUByte },
585 { AL_FORMAT_QUAD16_LOKI, UserFmtQuad, UserFmtShort },
586
587 { AL_FORMAT_QUAD8, UserFmtQuad, UserFmtUByte },
588 { AL_FORMAT_QUAD16, UserFmtQuad, UserFmtShort },
589 { AL_FORMAT_QUAD32, UserFmtQuad, UserFmtFloat },
590 { AL_FORMAT_QUAD_MULAW, UserFmtQuad, UserFmtMulaw },
591
592 { AL_FORMAT_51CHN8, UserFmtX51, UserFmtUByte },
593 { AL_FORMAT_51CHN16, UserFmtX51, UserFmtShort },
594 { AL_FORMAT_51CHN32, UserFmtX51, UserFmtFloat },
595 { AL_FORMAT_51CHN_MULAW, UserFmtX51, UserFmtMulaw },
596
597 { AL_FORMAT_61CHN8, UserFmtX61, UserFmtUByte },
598 { AL_FORMAT_61CHN16, UserFmtX61, UserFmtShort },
599 { AL_FORMAT_61CHN32, UserFmtX61, UserFmtFloat },
600 { AL_FORMAT_61CHN_MULAW, UserFmtX61, UserFmtMulaw },
601
602 { AL_FORMAT_71CHN8, UserFmtX71, UserFmtUByte },
603 { AL_FORMAT_71CHN16, UserFmtX71, UserFmtShort },
604 { AL_FORMAT_71CHN32, UserFmtX71, UserFmtFloat },
605 { AL_FORMAT_71CHN_MULAW, UserFmtX71, UserFmtMulaw },
606
607 { AL_FORMAT_BFORMAT2D_8, UserFmtBFormat2D, UserFmtUByte },
608 { AL_FORMAT_BFORMAT2D_16, UserFmtBFormat2D, UserFmtShort },
609 { AL_FORMAT_BFORMAT2D_FLOAT32, UserFmtBFormat2D, UserFmtFloat },
610 { AL_FORMAT_BFORMAT2D_MULAW, UserFmtBFormat2D, UserFmtMulaw },

Callers 1

buffer.cppFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected