13 #define M_PI 3.14159265358979323846 /* pi */
14 #define M_PI_2 1.57079632679489661923 /* pi/2 */
18 #define aluSqrt(x) ((ALfloat)sqrtf((float)(x)))
20 #define aluSqrt(x) ((ALfloat)sqrt((double)(x)))
24 #define aluAcos(x) ((ALfloat)acosf((float)(x)))
26 #define aluAcos(x) ((ALfloat)acos((double)(x)))
30 #define aluAtan(x) ((ALfloat)atanf((float)(x)))
32 #define aluAtan(x) ((ALfloat)atan((double)(x)))
36 #define aluFabs(x) ((ALfloat)fabsf((float)(x)))
38 #define aluFabs(x) ((ALfloat)fabs((double)(x)))
42 #if defined(max) && !defined(__max)
45 #if defined(min) && !defined(__min)
67 #define BUFFERSIZE 24000
69 extern ALboolean DuplicateStereo
;
71 /* NOTE: The AL_FORMAT_REAR* enums aren't handled here be cause they're
72 * converted to AL_FORMAT_QUAD* when loaded */
73 static __inline ALuint
aluBytesFromFormat(ALenum format
)
78 case AL_FORMAT_STEREO8
:
79 case AL_FORMAT_QUAD8_LOKI
:
81 case AL_FORMAT_51CHN8
:
82 case AL_FORMAT_61CHN8
:
83 case AL_FORMAT_71CHN8
:
86 case AL_FORMAT_MONO16
:
87 case AL_FORMAT_STEREO16
:
88 case AL_FORMAT_QUAD16_LOKI
:
89 case AL_FORMAT_QUAD16
:
90 case AL_FORMAT_51CHN16
:
91 case AL_FORMAT_61CHN16
:
92 case AL_FORMAT_71CHN16
:
95 case AL_FORMAT_MONO_FLOAT32
:
96 case AL_FORMAT_STEREO_FLOAT32
:
97 case AL_FORMAT_QUAD32
:
98 case AL_FORMAT_51CHN32
:
99 case AL_FORMAT_61CHN32
:
100 case AL_FORMAT_71CHN32
:
107 static __inline ALuint
aluChannelsFromFormat(ALenum format
)
111 case AL_FORMAT_MONO8
:
112 case AL_FORMAT_MONO16
:
113 case AL_FORMAT_MONO_FLOAT32
:
116 case AL_FORMAT_STEREO8
:
117 case AL_FORMAT_STEREO16
:
118 case AL_FORMAT_STEREO_FLOAT32
:
121 case AL_FORMAT_QUAD8_LOKI
:
122 case AL_FORMAT_QUAD16_LOKI
:
123 case AL_FORMAT_QUAD8
:
124 case AL_FORMAT_QUAD16
:
125 case AL_FORMAT_QUAD32
:
128 case AL_FORMAT_51CHN8
:
129 case AL_FORMAT_51CHN16
:
130 case AL_FORMAT_51CHN32
:
133 case AL_FORMAT_61CHN8
:
134 case AL_FORMAT_61CHN16
:
135 case AL_FORMAT_61CHN32
:
138 case AL_FORMAT_71CHN8
:
139 case AL_FORMAT_71CHN16
:
140 case AL_FORMAT_71CHN32
:
148 ALvoid
aluInitPanning(ALCcontext
*Context
);
149 ALvoid
aluMixData(ALCcontext
*context
,ALvoid
*buffer
,ALsizei size
,ALenum format
);
150 ALvoid
aluHandleDisconnect(ALCdevice
*device
);