diff options
author | Chris Robinson <[email protected]> | 2010-11-28 19:52:17 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-11-28 19:52:17 -0800 |
commit | da4f5c6f96b04094bf37e5c7ac393a7bfbfbb681 (patch) | |
tree | f467c94351e81f7ede5f3ac4847a8cbbe117b516 /OpenAL32/Include/alu.h | |
parent | f09ae196a83c8a64fdd29e60b30dc51a367cb1c9 (diff) |
Uninline some functions
Also add -Winline to the compiler command line to watch for future inline problems
Diffstat (limited to 'OpenAL32/Include/alu.h')
-rw-r--r-- | OpenAL32/Include/alu.h | 123 |
1 files changed, 3 insertions, 120 deletions
diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h index 698fccfd..d3d29994 100644 --- a/OpenAL32/Include/alu.h +++ b/OpenAL32/Include/alu.h @@ -95,131 +95,13 @@ typedef enum { #endif -/* NOTE: The AL_FORMAT_REAR* enums aren't handled here because they're - * converted to AL_FORMAT_QUAD* when loaded */ -static __inline ALuint aluBytesFromFormat(ALenum format) -{ - switch(format) - { - case AL_FORMAT_MONO8: - case AL_FORMAT_STEREO8: - case AL_FORMAT_QUAD8_LOKI: - case AL_FORMAT_QUAD8: - case AL_FORMAT_REAR8: - case AL_FORMAT_51CHN8: - case AL_FORMAT_61CHN8: - case AL_FORMAT_71CHN8: - return 1; - - case AL_FORMAT_MONO16: - case AL_FORMAT_STEREO16: - case AL_FORMAT_QUAD16_LOKI: - case AL_FORMAT_QUAD16: - case AL_FORMAT_REAR16: - case AL_FORMAT_51CHN16: - case AL_FORMAT_61CHN16: - case AL_FORMAT_71CHN16: - return 2; - - case AL_FORMAT_MONO_FLOAT32: - case AL_FORMAT_STEREO_FLOAT32: - case AL_FORMAT_QUAD32: - case AL_FORMAT_REAR32: - case AL_FORMAT_51CHN32: - case AL_FORMAT_61CHN32: - case AL_FORMAT_71CHN32: - return 4; - - case AL_FORMAT_MONO_DOUBLE_EXT: - case AL_FORMAT_STEREO_DOUBLE_EXT: - return 8; - - case AL_FORMAT_MONO_MULAW: - case AL_FORMAT_STEREO_MULAW: - case AL_FORMAT_QUAD_MULAW: - case AL_FORMAT_REAR_MULAW: - case AL_FORMAT_51CHN_MULAW: - case AL_FORMAT_61CHN_MULAW: - case AL_FORMAT_71CHN_MULAW: - return 1; - - default: - return 0; - } -} -static __inline ALuint aluChannelsFromFormat(ALenum format) -{ - switch(format) - { - case AL_FORMAT_MONO8: - case AL_FORMAT_MONO16: - case AL_FORMAT_MONO_FLOAT32: - case AL_FORMAT_MONO_DOUBLE_EXT: - case AL_FORMAT_MONO_MULAW: - return 1; - - case AL_FORMAT_STEREO8: - case AL_FORMAT_STEREO16: - case AL_FORMAT_STEREO_FLOAT32: - case AL_FORMAT_STEREO_DOUBLE_EXT: - case AL_FORMAT_STEREO_MULAW: - return 2; - - case AL_FORMAT_QUAD8_LOKI: - case AL_FORMAT_QUAD16_LOKI: - case AL_FORMAT_QUAD8: - case AL_FORMAT_QUAD16: - case AL_FORMAT_QUAD32: - case AL_FORMAT_QUAD_MULAW: - return 4; - - case AL_FORMAT_REAR8: - case AL_FORMAT_REAR16: - case AL_FORMAT_REAR32: - case AL_FORMAT_REAR_MULAW: - return 2; - - case AL_FORMAT_51CHN8: - case AL_FORMAT_51CHN16: - case AL_FORMAT_51CHN32: - case AL_FORMAT_51CHN_MULAW: - return 6; - - case AL_FORMAT_61CHN8: - case AL_FORMAT_61CHN16: - case AL_FORMAT_61CHN32: - case AL_FORMAT_61CHN_MULAW: - return 7; - - case AL_FORMAT_71CHN8: - case AL_FORMAT_71CHN16: - case AL_FORMAT_71CHN32: - case AL_FORMAT_71CHN_MULAW: - return 8; - - default: - return 0; - } -} +ALuint aluBytesFromFormat(ALenum format); +ALuint aluChannelsFromFormat(ALenum format); static __inline ALuint aluFrameSizeFromFormat(ALenum format) { return aluBytesFromFormat(format) * aluChannelsFromFormat(format); } -static __inline ALint aluCart2LUTpos(ALfloat re, ALfloat im) -{ - ALint pos = 0; - ALfloat denom = aluFabs(re) + aluFabs(im); - if(denom > 0.0f) - pos = (ALint)(QUADRANT_NUM*aluFabs(im) / denom + 0.5); - - if(re < 0.0) - pos = 2 * QUADRANT_NUM - pos; - if(im < 0.0) - pos = LUT_NUM - pos; - return pos%LUT_NUM; -} - static __inline ALdouble lerp(ALdouble val1, ALdouble val2, ALdouble mu) { val1 += (val2-val1) * mu; @@ -239,6 +121,7 @@ static __inline ALdouble cubic(ALdouble val0, ALdouble val1, ALdouble val2, ALdo struct ALsource; ALvoid aluInitPanning(ALCdevice *Device); +ALint aluCart2LUTpos(ALfloat re, ALfloat im); ALvoid CalcSourceParams(struct ALsource *ALSource, const ALCcontext *ALContext); ALvoid CalcNonAttnSourceParams(struct ALsource *ALSource, const ALCcontext *ALContext); |