Don't inline the decompose function

This commit is contained in:
Chris Robinson 2010-11-27 15:37:51 -08:00
parent 9495cf71fd
commit 8828f4d0e5
2 changed files with 95 additions and 87 deletions

View File

@ -36,7 +36,6 @@ enum FmtType {
FmtFloat,
FmtDouble,
};
enum FmtChannels {
FmtMono,
FmtStereo,
@ -46,92 +45,7 @@ enum FmtChannels {
Fmt71ChanWFX,
};
static __inline void DecomposeFormat(ALenum format, enum FmtType *type,
enum FmtChannels *order)
{
switch(format)
{
case AL_FORMAT_MONO8:
*type = FmtUByte;
*order = FmtMono;
break;
case AL_FORMAT_MONO16:
*type = FmtShort;
*order = FmtMono;
break;
case AL_FORMAT_MONO_FLOAT32:
*type = FmtFloat;
*order = FmtMono;
break;
case AL_FORMAT_STEREO8:
*type = FmtUByte;
*order = FmtStereo;
break;
case AL_FORMAT_STEREO16:
*type = FmtShort;
*order = FmtStereo;
break;
case AL_FORMAT_STEREO_FLOAT32:
*type = FmtFloat;
*order = FmtStereo;
break;
case AL_FORMAT_QUAD8_LOKI:
case AL_FORMAT_QUAD8:
*type = FmtUByte;
*order = FmtQuad;
break;
case AL_FORMAT_QUAD16_LOKI:
case AL_FORMAT_QUAD16:
*type = FmtShort;
*order = FmtQuad;
break;
case AL_FORMAT_QUAD32:
*type = FmtFloat;
*order = FmtQuad;
break;
case AL_FORMAT_51CHN8:
*type = FmtUByte;
*order = Fmt51ChanWFX;
break;
case AL_FORMAT_51CHN16:
*type = FmtShort;
*order = Fmt51ChanWFX;
break;
case AL_FORMAT_51CHN32:
*type = FmtFloat;
*order = Fmt51ChanWFX;
break;
case AL_FORMAT_61CHN8:
*type = FmtUByte;
*order = Fmt61ChanWFX;
break;
case AL_FORMAT_61CHN16:
*type = FmtShort;
*order = Fmt61ChanWFX;
break;
case AL_FORMAT_61CHN32:
*type = FmtFloat;
*order = Fmt61ChanWFX;
break;
case AL_FORMAT_71CHN8:
*type = FmtUByte;
*order = Fmt71ChanWFX;
break;
case AL_FORMAT_71CHN16:
*type = FmtShort;
*order = Fmt71ChanWFX;
break;
case AL_FORMAT_71CHN32:
*type = FmtFloat;
*order = Fmt71ChanWFX;
break;
default:
AL_PRINT("Unhandled format specified: 0x%X\n", format);
abort();
}
}
void DecomposeFormat(ALenum format, enum FmtType *type, enum FmtChannels *order);
typedef struct ALbuffer

View File

@ -1358,6 +1358,100 @@ void DecomposeInputFormat(ALenum format, enum SrcFmtType *type,
}
}
void DecomposeFormat(ALenum format, enum FmtType *type, enum FmtChannels *order)
{
switch(format)
{
case AL_FORMAT_MONO8:
*type = FmtUByte;
*order = FmtMono;
break;
case AL_FORMAT_MONO16:
*type = FmtShort;
*order = FmtMono;
break;
case AL_FORMAT_MONO_FLOAT32:
*type = FmtFloat;
*order = FmtMono;
break;
case AL_FORMAT_MONO_DOUBLE_EXT:
*type = FmtDouble;
*order = FmtMono;
break;
case AL_FORMAT_STEREO8:
*type = FmtUByte;
*order = FmtStereo;
break;
case AL_FORMAT_STEREO16:
*type = FmtShort;
*order = FmtStereo;
break;
case AL_FORMAT_STEREO_FLOAT32:
*type = FmtFloat;
*order = FmtStereo;
break;
case AL_FORMAT_STEREO_DOUBLE_EXT:
*type = FmtDouble;
*order = FmtStereo;
break;
case AL_FORMAT_QUAD8_LOKI:
case AL_FORMAT_QUAD8:
*type = FmtUByte;
*order = FmtQuad;
break;
case AL_FORMAT_QUAD16_LOKI:
case AL_FORMAT_QUAD16:
*type = FmtShort;
*order = FmtQuad;
break;
case AL_FORMAT_QUAD32:
*type = FmtFloat;
*order = FmtQuad;
break;
case AL_FORMAT_51CHN8:
*type = FmtUByte;
*order = Fmt51ChanWFX;
break;
case AL_FORMAT_51CHN16:
*type = FmtShort;
*order = Fmt51ChanWFX;
break;
case AL_FORMAT_51CHN32:
*type = FmtFloat;
*order = Fmt51ChanWFX;
break;
case AL_FORMAT_61CHN8:
*type = FmtUByte;
*order = Fmt61ChanWFX;
break;
case AL_FORMAT_61CHN16:
*type = FmtShort;
*order = Fmt61ChanWFX;
break;
case AL_FORMAT_61CHN32:
*type = FmtFloat;
*order = Fmt61ChanWFX;
break;
case AL_FORMAT_71CHN8:
*type = FmtUByte;
*order = Fmt71ChanWFX;
break;
case AL_FORMAT_71CHN16:
*type = FmtShort;
*order = Fmt71ChanWFX;
break;
case AL_FORMAT_71CHN32:
*type = FmtFloat;
*order = Fmt71ChanWFX;
break;
default:
AL_PRINT("Unhandled format specified: 0x%X\n", format);
abort();
}
}
/*
* ReleaseALBuffers()
*