49 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19,
50 21, 23, 25, 28, 31, 34, 37, 41, 45, 50, 55,
51 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157,
52 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, 449,
53 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282,
54 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, 3660,
55 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, 9493,10442,
56 11487,12635,13899,15289,16818,18500,20350,22358,24633,27086,29794,
62 1, 3, 5, 7, 9, 11, 13, 15,
63 -1,-3,-5,-7,-9,-11,-13,-15,
68 -1,-1,-1,-1, 2, 4, 6, 8,
69 -1,-1,-1,-1, 2, 4, 6, 8
75 -32124,-31100,-30076,-29052,-28028,-27004,-25980,-24956,
76 -23932,-22908,-21884,-20860,-19836,-18812,-17788,-16764,
77 -15996,-15484,-14972,-14460,-13948,-13436,-12924,-12412,
78 -11900,-11388,-10876,-10364, -9852, -9340, -8828, -8316,
79 -7932, -7676, -7420, -7164, -6908, -6652, -6396, -6140,
80 -5884, -5628, -5372, -5116, -4860, -4604, -4348, -4092,
81 -3900, -3772, -3644, -3516, -3388, -3260, -3132, -3004,
82 -2876, -2748, -2620, -2492, -2364, -2236, -2108, -1980,
83 -1884, -1820, -1756, -1692, -1628, -1564, -1500, -1436,
84 -1372, -1308, -1244, -1180, -1116, -1052, -988, -924,
85 -876, -844, -812, -780, -748, -716, -684, -652,
86 -620, -588, -556, -524, -492, -460, -428, -396,
87 -372, -356, -340, -324, -308, -292, -276, -260,
88 -244, -228, -212, -196, -180, -164, -148, -132,
89 -120, -112, -104, -96, -88, -80, -72, -64,
90 -56, -48, -40, -32, -24, -16, -8, 0,
91 32124, 31100, 30076, 29052, 28028, 27004, 25980, 24956,
92 23932, 22908, 21884, 20860, 19836, 18812, 17788, 16764,
93 15996, 15484, 14972, 14460, 13948, 13436, 12924, 12412,
94 11900, 11388, 10876, 10364, 9852, 9340, 8828, 8316,
95 7932, 7676, 7420, 7164, 6908, 6652, 6396, 6140,
96 5884, 5628, 5372, 5116, 4860, 4604, 4348, 4092,
97 3900, 3772, 3644, 3516, 3388, 3260, 3132, 3004,
98 2876, 2748, 2620, 2492, 2364, 2236, 2108, 1980,
99 1884, 1820, 1756, 1692, 1628, 1564, 1500, 1436,
100 1372, 1308, 1244, 1180, 1116, 1052, 988, 924,
101 876, 844, 812, 780, 748, 716, 684, 652,
102 620, 588, 556, 524, 492, 460, 428, 396,
103 372, 356, 340, 324, 308, 292, 276, 260,
104 244, 228, 212, 196, 180, 164, 148, 132,
105 120, 112, 104, 96, 88, 80, 72, 64,
106 56, 48, 40, 32, 24, 16, 8, 0
113 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,
114 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
115 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
116 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
117 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
118 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
119 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
120 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
121 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
122 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
123 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
124 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
125 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
126 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
127 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
128 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
135 -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736,
136 -7552, -7296, -8064, -7808, -6528, -6272, -7040, -6784,
137 -2752, -2624, -3008, -2880, -2240, -2112, -2496, -2368,
138 -3776, -3648, -4032, -3904, -3264, -3136, -3520, -3392,
139 -22016,-20992,-24064,-23040,-17920,-16896,-19968,-18944,
140 -30208,-29184,-32256,-31232,-26112,-25088,-28160,-27136,
141 -11008,-10496,-12032,-11520, -8960, -8448, -9984, -9472,
142 -15104,-14592,-16128,-15616,-13056,-12544,-14080,-13568,
143 -344, -328, -376, -360, -280, -264, -312, -296,
144 -472, -456, -504, -488, -408, -392, -440, -424,
145 -88, -72, -120, -104, -24, -8, -56, -40,
146 -216, -200, -248, -232, -152, -136, -184, -168,
147 -1376, -1312, -1504, -1440, -1120, -1056, -1248, -1184,
148 -1888, -1824, -2016, -1952, -1632, -1568, -1760, -1696,
149 -688, -656, -752, -720, -560, -528, -624, -592,
150 -944, -912, -1008, -976, -816, -784, -880, -848,
151 5504, 5248, 6016, 5760, 4480, 4224, 4992, 4736,
152 7552, 7296, 8064, 7808, 6528, 6272, 7040, 6784,
153 2752, 2624, 3008, 2880, 2240, 2112, 2496, 2368,
154 3776, 3648, 4032, 3904, 3264, 3136, 3520, 3392,
155 22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944,
156 30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136,
157 11008, 10496, 12032, 11520, 8960, 8448, 9984, 9472,
158 15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568,
159 344, 328, 376, 360, 280, 264, 312, 296,
160 472, 456, 504, 488, 408, 392, 440, 424,
161 88, 72, 120, 104, 24, 8, 56, 40,
162 216, 200, 248, 232, 152, 136, 184, 168,
163 1376, 1312, 1504, 1440, 1120, 1056, 1248, 1184,
164 1888, 1824, 2016, 1952, 1632, 1568, 1760, 1696,
165 688, 656, 752, 720, 560, 528, 624, 592,
166 944, 912, 1008, 976, 816, 784, 880, 848
172 1,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,
173 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
174 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
175 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
176 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
177 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
178 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
179 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
197 for(cur = 0;cur <
n;cur++)
216 buffers[cur] = buffer->
id;
263 memset(ALBuf, 0,
sizeof(*ALBuf));
320 err =
LoadData(ALBuf, freq, format, size/FrameSize,
321 SrcChannels, SrcType, data,
AL_TRUE);
345 err =
LoadData(ALBuf, freq, NewFormat, size/FrameSize,
346 SrcChannels, SrcType, data,
AL_TRUE);
367 err =
LoadData(ALBuf, freq, NewFormat, size/FrameSize,
368 SrcChannels, SrcType, data,
AL_TRUE);
392 err =
LoadData(ALBuf, freq, NewFormat, size/FrameSize*65,
393 SrcChannels, SrcType, data,
AL_TRUE);
439 (offset%original_align) != 0 || (length%original_align) != 0)
450 offset = offset/36*65 * Bytes;
451 length = length/original_align * 65;
456 offset = offset/OldBytes * Bytes;
457 length = length/OldBytes/Channels;
460 data, SrcType, Channels, length);
485 CHECK_VALUE(Context, samples >= 0 && samplerate != 0);
489 err =
LoadData(ALBuf, samplerate, internalformat, samples,
774 if(values[0] >= values[1] || values[0] < 0 ||
1041 sign = (val>>8) & 0x80;
1046 val =
maxi(val, -32767);
1054 mant = (val >> (exp+3)) & 0x0f;
1056 return ~(sign | (exp<<4) | mant);
1066 sign = ((~val) >> 8) & 0x80;
1069 val =
maxi(val, -32767);
1077 mant = (val >> (exp+3)) & 0x0f;
1085 return ((exp<<4) | mant) ^ (sign^0x55);
1094 for(c = 0;c < numchans;c++)
1096 sample[
c] = *(src++);
1097 sample[
c] |= *(src++) << 8;
1098 sample[
c] = (sample[
c]^0x8000) - 32768;
1099 index[
c] = *(src++);
1100 index[
c] |= *(src++) << 8;
1101 index[
c] = (index[
c]^0x8000) - 32768;
1103 index[
c] =
clampi(index[c], 0, 88);
1111 for(c = 0;c < numchans;c++)
1114 code[
c] |= *(src++) << 8;
1115 code[
c] |= *(src++) << 16;
1116 code[
c] |= *(src++) << 24;
1119 for(k = 0;k < 8;k++,j++)
1121 for(c = 0;c < numchans;c++)
1127 sample[
c] =
clampi(sample[c], -32768, 32767);
1130 index[
c] =
clampi(index[c], 0, 88);
1132 dst[j*numchans +
c] = sample[
c];
1142 for(c = 0;c < numchans;c++)
1144 int diff = src[
c] - sample[
c];
1155 diff =
mini(step*2, diff);
1156 nibble |= (diff*8/step - 1) / 2;
1159 sample[
c] =
clampi(sample[c], -32768, 32767);
1162 index[
c] =
clampi(index[c], 0, 88);
1164 *(dst++) = sample[c] & 0xff;
1165 *(dst++) = (sample[c]>>8) & 0xff;
1166 *(dst++) = index[c] & 0xff;
1167 *(dst++) = (index[c]>>8) & 0xff;
1173 for(c = 0;c < numchans;c++)
1175 for(k = 0;k < 8;k++)
1177 int diff = src[(j+
k)*numchans + c] - sample[c];
1188 diff =
mini(step*2, diff);
1189 nibble |= (diff*8/step - 1) / 2;
1192 sample[
c] =
clampi(sample[c], -32768, 32767);
1195 index[
c] =
clampi(index[c], 0, 88);
1197 if(!(k&1)) *dst =
nibble;
1198 else *(dst++) |= nibble<<4;
1209 return (val.b[2]<<16) | (((
ALubyte)val.b[1])<<8) | ((
ALubyte)val.b[0]);
1210 return (val.b[0]<<16) | (((
ALubyte)val.b[1])<<8) | ((
ALubyte)val.b[2]);
1217 ALbyte3
ret = {{
val, val>>8, val>>16 }};
1222 ALbyte3
ret = {{ val>>16, val>>8, val }};
1230 return (val.b[2]<<16) | (val.b[1]<<8) | (val.b[0]);
1231 return (val.b[0]<<16) | (val.b[1]<<8) | val.b[2];
1238 ALubyte3
ret = {{
val, val>>8, val>>16 }};
1243 ALubyte3
ret = {{ val>>16, val>>8, val }};
1256 {
return (val>>8)-128; }
1260 {
return (val>>24)-128; }
1263 if(val > 1.0
f)
return 127;
1264 if(val < -1.0
f)
return -128;
1265 return (
ALint)(val * 127.0f);
1269 if(val > 1.0)
return 127;
1270 if(val < -1.0)
return -128;
1271 return (
ALint)(val * 127.0);
1287 {
return (val>>8)+128; }
1291 {
return (val>>24)+128; }
1296 if(val > 1.0
f)
return 255;
1297 if(val < -1.0
f)
return 0;
1298 return (
ALint)(val * 127.0f) + 128;
1302 if(val > 1.0)
return 255;
1303 if(val < -1.0)
return 0;
1304 return (
ALint)(val * 127.0) + 128;
1318 {
return (val-128)<<8; }
1322 {
return val-32768; }
1326 {
return (val>>16)-32768; }
1329 if(val > 1.0
f)
return 32767;
1330 if(val < -1.0
f)
return -32768;
1331 return (
ALint)(val * 32767.0f);
1335 if(val > 1.0)
return 32767;
1336 if(val < -1.0)
return -32768;
1337 return (
ALint)(val * 32767.0);
1349 {
return (val+128)<<8; }
1353 {
return val+32768; }
1357 {
return (val>>16)+32768; }
1362 if(val > 1.0
f)
return 65535;
1363 if(val < -1.0
f)
return 0;
1364 return (
ALint)(val * 32767.0f) + 32768;
1368 if(val > 1.0)
return 65535;
1369 if(val < -1.0)
return 0;
1370 return (
ALint)(val * 32767.0) + 32768;
1384 {
return (val-128)<<24; }
1388 {
return (val-32768)<<16; }
1392 {
return val-2147483648
u; }
1395 if(val > 1.0
f)
return 2147483647;
1396 if(val < -1.0
f)
return -2147483647-1;
1397 return (
ALint)(val * 2147483647.0);
1401 if(val > 1.0)
return 2147483647;
1402 if(val < -1.0)
return -2147483647-1;
1403 return (
ALint)(val * 2147483647.0);
1415 {
return (val+128)<<24; }
1419 {
return (val+32768)<<16; }
1423 {
return val+2147483648
u; }
1428 if(val > 1.0
f)
return 4294967295
u;
1429 if(val < -1.0
f)
return 0;
1430 return (
ALint)(val * 2147483647.0) + 2147483648
u;
1434 if(val > 1.0)
return 4294967295
u;
1435 if(val < -1.0)
return 0;
1436 return (
ALint)(val * 2147483647.0) + 2147483648
u;
1448 {
return val * (1.0f/127.0f); }
1450 {
return (val-128) * (1.0f/127.0f); }
1452 {
return val * (1.0f/32767.0f); }
1454 {
return (val-32768) * (1.0f/32767.0f); }
1456 {
return (
ALfloat)(val * (1.0/2147483647.0)); }
1458 {
return (
ALfloat)((
ALint)(val-2147483648
u) * (1.0/2147483647.0)); }
1460 {
return (val==val) ? val : 0.0f; }
1462 {
return (val==val) ? (
ALfloat)val : 0.0
f; }
1473 {
return val * (1.0/127.0); }
1475 {
return (val-128) * (1.0/127.0); }
1477 {
return val * (1.0/32767.0); }
1479 {
return (val-32768) * (1.0/32767.0); }
1481 {
return val * (1.0/2147483647.0); }
1483 {
return (
ALint)(val-2147483648
u) * (1.0/2147483647.0); }
1485 {
return (val==val) ? val : 0.0f; }
1487 {
return (val==val) ? val : 0.0; }
1495 {
return (
DecodeUByte3(val)-8388608) * (1.0/8388607.0); }
1497 #define DECL_TEMPLATE(T) \
1498 static __inline ALmulaw Conv_ALmulaw_##T(T val) \
1499 { return EncodeMuLaw(Conv_ALshort_##T(val)); }
1515 #undef DECL_TEMPLATE
1517 #define DECL_TEMPLATE(T) \
1518 static __inline ALalaw Conv_ALalaw_##T(T val) \
1519 { return EncodeALaw(Conv_ALshort_##T(val)); }
1535 #undef DECL_TEMPLATE
1537 #define DECL_TEMPLATE(T) \
1538 static __inline ALbyte3 Conv_ALbyte3_##T(T val) \
1539 { return EncodeByte3(Conv_ALint_##T(val)>>8); }
1555 #undef DECL_TEMPLATE
1557 #define DECL_TEMPLATE(T) \
1558 static __inline ALubyte3 Conv_ALubyte3_##T(T val) \
1559 { return EncodeUByte3(Conv_ALuint_##T(val)>>8); }
1575 #undef DECL_TEMPLATE
1578 #define DECL_TEMPLATE(T1, T2) \
1579 static void Convert_##T1##_##T2(T1 *dst, const T2 *src, ALuint numchans, \
1583 for(i = 0;i < len;i++) \
1585 for(j = 0;j < numchans;j++) \
1586 *(dst++) = Conv_##T1##_##T2(*(src++)); \
1746 #undef DECL_TEMPLATE
1748 #define DECL_TEMPLATE(T) \
1749 static void Convert_##T##_ALima4(T *dst, const ALima4 *src, ALuint numchans, \
1752 ALshort tmp[65*MaxChannels]; \
1758 DecodeIMA4Block(tmp, src, numchans); \
1759 src += 36*numchans; \
1761 for(j = 0;j < 65 && i < len;j++,i++) \
1763 for(k = 0;k < numchans;k++) \
1764 *(dst++) = Conv_##T##_ALshort(tmp[j*numchans + k]); \
1782 #undef DECL_TEMPLATE
1784 #define DECL_TEMPLATE(T) \
1785 static void Convert_ALima4_##T(ALima4 *dst, const T *src, ALuint numchans, \
1788 ALshort tmp[65*MaxChannels]; \
1789 ALint sample[MaxChannels] = {0,0,0,0,0,0,0,0}; \
1790 ALint index[MaxChannels] = {0,0,0,0,0,0,0,0}; \
1793 for(i = 0;i < len;i += 65) \
1795 for(j = 0;j < 65*numchans;j++) \
1796 tmp[j] = Conv_ALshort_##T(*(src++)); \
1797 EncodeIMA4Block(dst, tmp, sample, index, numchans); \
1798 dst += 36*numchans; \
1813 ALuint numchans, ALuint numblocks)
1814 {
memcpy(dst, src, numblocks*36*numchans); }
1818 #undef DECL_TEMPLATE
1820 #define DECL_TEMPLATE(T) \
1821 static void Convert_##T(T *dst, const ALvoid *src, enum UserFmtType srcType, \
1822 ALsizei numchans, ALsizei len) \
1827 Convert_##T##_ALbyte(dst, src, numchans, len); \
1829 case UserFmtUByte: \
1830 Convert_##T##_ALubyte(dst, src, numchans, len); \
1832 case UserFmtShort: \
1833 Convert_##T##_ALshort(dst, src, numchans, len); \
1835 case UserFmtUShort: \
1836 Convert_##T##_ALushort(dst, src, numchans, len); \
1839 Convert_##T##_ALint(dst, src, numchans, len); \
1842 Convert_##T##_ALuint(dst, src, numchans, len); \
1844 case UserFmtFloat: \
1845 Convert_##T##_ALfloat(dst, src, numchans, len); \
1847 case UserFmtDouble: \
1848 Convert_##T##_ALdouble(dst, src, numchans, len); \
1850 case UserFmtMulaw: \
1851 Convert_##T##_ALmulaw(dst, src, numchans, len); \
1854 Convert_##T##_ALalaw(dst, src, numchans, len); \
1857 Convert_##T##_ALima4(dst, src, numchans, len); \
1859 case UserFmtByte3: \
1860 Convert_##T##_ALbyte3(dst, src, numchans, len); \
1862 case UserFmtUByte3: \
1863 Convert_##T##_ALubyte3(dst, src, numchans, len); \
1882 #undef DECL_TEMPLATE
1890 Convert_ALbyte(dst, src, srcType, numchans, len);
1893 Convert_ALubyte(dst, src, srcType, numchans, len);
1896 Convert_ALshort(dst, src, srcType, numchans, len);
1899 Convert_ALushort(dst, src, srcType, numchans, len);
1902 Convert_ALint(dst, src, srcType, numchans, len);
1905 Convert_ALuint(dst, src, srcType, numchans, len);
1908 Convert_ALfloat(dst, src, srcType, numchans, len);
1911 Convert_ALdouble(dst, src, srcType, numchans, len);
1914 Convert_ALmulaw(dst, src, srcType, numchans, len);
1917 Convert_ALalaw(dst, src, srcType, numchans, len);
1920 Convert_ALima4(dst, src, srcType, numchans, len);
1923 Convert_ALbyte3(dst, src, srcType, numchans, len);
1926 Convert_ALubyte3(dst, src, srcType, numchans, len);
1941 ALuint NewChannels, NewBytes;
1948 (
long)SrcChannels != (
long)DstChannels)
1955 newsize *= NewBytes;
1956 newsize *= NewChannels;
1957 if(newsize > INT_MAX)
1968 if(!temp && newsize)
1976 ConvertData(ALBuf->
data, DstType, data, SrcType, NewChannels, frames);
1997 ALBuf->
Format = NewFormat;
2045 static const struct {
2096 for(i = 0;i <
COUNTOF(list);i++)
2098 if(list[i].format == format)
2100 *chans = list[
i].channels;
2101 *type = list[
i].type;
2135 static const struct {
2173 for(i = 0;i <
COUNTOF(list);i++)
2175 if(list[i].format == format)
2177 *chans = list[
i].channels;
2178 *type = list[
i].type;
static __inline ALint Conv_ALint_ALbyte(ALbyte val)
AL_API void AL_APIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint *values)
static __inline ALuint Conv_ALuint_ALfloat(ALfloat val)
#define AL_6POINT1_32F_SOFT
static __inline ALdouble Conv_ALdouble_ALushort(ALushort val)
static __inline ALuint Conv_ALuint_ALubyte(ALubyte val)
static __inline ALfloat Conv_ALfloat_ALalaw(ALalaw val)
void FreeThunkEntry(ALuint index)
static __inline ALubyte Conv_ALubyte_ALubyte(ALubyte val)
LPALBUFFERSAMPLESSOFT alBufferSamplesSOFT
GLuint const GLfloat * val
#define AL_FORMAT_REAR_MULAW
#define AL_5POINT1_8_SOFT
ALbyte ALbyte3_size_is_not_3[(sizeof(ALbyte3)==sizeof(ALbyte[3]))?1:-1]
static __inline ALubyte3 EncodeUByte3(ALint val)
static __inline ALbyte Conv_ALbyte_ALuint(ALuint val)
static __inline ALubyte Conv_ALubyte_ALushort(ALushort val)
#define AL_FORMAT_51CHN32
#define AL_6POINT1_16_SOFT
static __inline ALmulaw Conv_ALmulaw_ALmulaw(ALmulaw val)
AL_API void AL_APIENTRY alGetBufferSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, ALvoid *data)
static __inline ALdouble Conv_ALdouble_ALbyte(ALbyte val)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
#define AL_FORMAT_61CHN16
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
#define CHECK_VALUE(ctx, cond)
#define AL_FORMAT_STEREO_IMA4
static __inline ALubyte Conv_ALubyte_ALbyte(ALbyte val)
AL_API void AL_APIENTRY alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq)
static void EncodeIMA4Block(ALima4 *dst, const ALshort *src, ALint *sample, ALint *index, ALint numchans)
#define AL_6POINT1_8_SOFT
enum FmtChannels FmtChannels
AL_API void AL_APIENTRY alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3)
#define RemoveBuffer(m, k)
static __inline ALuint Conv_ALuint_ALshort(ALshort val)
#define AL_FORMAT_STEREO_MULAW
static __inline ALdouble Conv_ALdouble_ALfloat(ALfloat val)
static __inline ALshort Conv_ALshort_ALdouble(ALdouble val)
static void DecodeIMA4Block(ALshort *dst, const ALima4 *src, ALint numchans)
static __inline ALbyte Conv_ALbyte_ALmulaw(ALmulaw val)
struct UIntMap::@59 * array
#define AL_FORMAT_MONO_MULAW
static __inline ALfloat Conv_ALfloat_ALshort(ALshort val)
static __inline ALfloat Conv_ALfloat_ALubyte3(ALubyte3 val)
#define AL_BYTE_LENGTH_SOFT
static const ALshort muLawDecompressionTable[256]
static __inline ALuint Conv_ALuint_ALuint(ALuint val)
static __inline ALshort Conv_ALshort_ALshort(ALshort val)
#define al_throwerr(ctx, err)
static __inline ALfloat Conv_ALfloat_ALushort(ALushort val)
ALuint BytesFromFmt(enum FmtType type)
void ReadLock(RWLock *lock)
static __inline ALubyte Conv_ALubyte_ALint(ALint val)
static const char aLawCompressTable[128]
static __inline ALfloat Conv_ALfloat_ALuint(ALuint val)
static __inline ALint maxi(ALint a, ALint b)
static const int muLawClip
enum UserFmtChannels OriginalChannels
static __inline ALshort Conv_ALshort_ALubyte3(ALubyte3 val)
#define AL_LOOP_POINTS_SOFT
#define AL_FORMAT_MONO_IMA4
static __inline ALint Conv_ALint_ALshort(ALshort val)
#define AL_STEREO32F_SOFT
static const int muLawBias
static __inline ALdouble Conv_ALdouble_ALuint(ALuint val)
static __inline ALfloat Conv_ALfloat_ALubyte(ALubyte val)
static __inline ALushort Conv_ALushort_ALbyte(ALbyte val)
static __inline ALdouble Conv_ALdouble_ALshort(ALshort val)
#define AL_UNSIGNED_INT_SOFT
static __inline ALbyte Conv_ALbyte_ALbyte3(ALbyte3 val)
static __inline ALint clampi(ALint val, ALint min, ALint max)
static __inline ALint Conv_ALint_ALint(ALint val)
static __inline ALushort Conv_ALushort_ALfloat(ALfloat val)
ALCcontext * GetContextRef(void)
static __inline ALubyte Conv_ALubyte_ALbyte3(ALbyte3 val)
static __inline ALbyte Conv_ALbyte_ALalaw(ALalaw val)
static __inline ALubyte Conv_ALubyte_ALdouble(ALdouble val)
static __inline ALint Conv_ALint_ALalaw(ALalaw val)
static __inline ALbyte Conv_ALbyte_ALubyte(ALubyte val)
static __inline ALint Conv_ALint_ALbyte3(ALbyte3 val)
#define AL_7POINT1_8_SOFT
static __inline ALuint Conv_ALuint_ALbyte(ALbyte val)
#define LookupBuffer(m, k)
AL_API void AL_APIENTRY alBufferSubSamplesSOFT(ALuint buffer, ALsizei offset, ALsizei samples, ALenum channels, ALenum type, const ALvoid *data)
static __inline ALushort Conv_ALushort_ALuint(ALuint val)
#define AL_FORMAT_51CHN16
#define AL_FORMAT_QUAD16_LOKI
static __inline ALint Conv_ALint_ALmulaw(ALmulaw val)
AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer, ALenum format, const ALvoid *data, ALsizei offset, ALsizei length)
static __inline ALbyte Conv_ALbyte_ALfloat(ALfloat val)
static __inline ALint Conv_ALint_ALfloat(ALfloat val)
static __inline ALalaw Conv_ALalaw_ALalaw(ALalaw val)
static __inline ALfloat Conv_ALfloat_ALfloat(ALfloat val)
static __inline ALdouble Conv_ALdouble_ALbyte3(ALbyte3 val)
AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values)
#define AL_FORMAT_STEREO_ALAW_EXT
EGLContext EGLenum EGLClientBuffer buffer
#define DECL_TEMPLATE(func)
static __inline ALushort Conv_ALushort_ALubyte3(ALubyte3 val)
static __inline ALuint Conv_ALuint_ALdouble(ALdouble val)
static void ConvertData(ALvoid *dst, enum UserFmtType dstType, const ALvoid *src, enum UserFmtType srcType, ALsizei numchans, ALsizei len)
static __inline ALshort Conv_ALshort_ALint(ALint val)
#define AL_UNSIGNED_BYTE_SOFT
static __inline ALshort Conv_ALshort_ALbyte(ALbyte val)
static __inline ALdouble Conv_ALdouble_ALalaw(ALalaw val)
static __inline ALbyte3 EncodeByte3(ALint val)
static ALboolean IsValidChannels(ALenum channels)
enum UserFmtType OriginalType
#define AL_SAMPLE_LENGTH_SOFT
#define AL_FORMAT_MONO_DOUBLE_EXT
static __inline ALint DecodeByte3(ALbyte3 val)
static __inline ALint Conv_ALint_ALdouble(ALdouble val)
void WriteUnlock(RWLock *lock)
#define AL_FORMAT_STEREO_FLOAT32
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static ALmulaw EncodeMuLaw(ALshort val)
static __inline ALint Conv_ALint_ALubyte(ALubyte val)
static __inline ALushort Conv_ALushort_ALbyte3(ALbyte3 val)
static __inline ALbyte Conv_ALbyte_ALdouble(ALdouble val)
void ReadUnlock(RWLock *lock)
static __inline ALushort Conv_ALushort_ALushort(ALushort val)
static __inline ALuint FrameSizeFromUserFmt(enum UserFmtChannels chans, enum UserFmtType type)
static const int IMA4Index_adjust[16]
static __inline ALubyte3 Conv_ALubyte3_ALubyte3(ALubyte3 val)
static __inline ALushort Conv_ALushort_ALalaw(ALalaw val)
static __inline ALdouble Conv_ALdouble_ALmulaw(ALmulaw val)
static __inline ALbyte Conv_ALbyte_ALubyte3(ALubyte3 val)
ALuint BytesFromUserFmt(enum UserFmtType type)
static __inline ALubyte Conv_ALubyte_ALshort(ALshort val)
static __inline ALshort Conv_ALshort_ALbyte3(ALbyte3 val)
static __inline ALuint Conv_ALuint_ALmulaw(ALmulaw val)
static __inline ALshort Conv_ALshort_ALalaw(ALalaw val)
static __inline ALshort Conv_ALshort_ALuint(ALuint val)
static __inline ALint Conv_ALint_ALushort(ALushort val)
static __inline ALbyte Conv_ALbyte_ALbyte(ALbyte val)
static __inline ALbyte3 Conv_ALbyte3_ALbyte3(ALbyte3 val)
static __inline ALubyte Conv_ALubyte_ALuint(ALuint val)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum format
static __inline ALushort Conv_ALushort_ALmulaw(ALmulaw val)
ALenum NewThunkEntry(ALuint *index)
#define AL_5POINT1_16_SOFT
static __inline ALuint Conv_ALuint_ALbyte3(ALbyte3 val)
void RWLockInit(RWLock *lock)
AL_API void AL_APIENTRY alGenBuffers(ALsizei n, ALuint *buffers)
static __inline ALushort Conv_ALushort_ALdouble(ALdouble val)
static __inline ALshort DecodeALaw(ALalaw val)
static __inline ALfloat Conv_ALfloat_ALbyte(ALbyte val)
static __inline ALubyte Conv_ALubyte_ALfloat(ALfloat val)
AL_API void AL_APIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint *value)
static __inline ALubyte Conv_ALubyte_ALmulaw(ALmulaw val)
static ALenum LoadData(ALbuffer *ALBuf, ALuint freq, ALenum NewFormat, ALsizei frames, enum UserFmtChannels chans, enum UserFmtType type, const ALvoid *data, ALboolean storesrc)
static __inline ALushort Conv_ALushort_ALint(ALint val)
static __inline ALint Conv_ALint_ALubyte3(ALubyte3 val)
static __inline ALuint FrameSizeFromFmt(enum FmtChannels chans, enum FmtType type)
#define AL_FORMAT_61CHN32
AL_API void AL_APIENTRY alBufferi(ALuint buffer, ALenum param, ALint value)
static __inline ALint DecodeUByte3(ALubyte3 val)
GLint GLenum internalformat
static __inline ALdouble Conv_ALdouble_ALubyte3(ALubyte3 val)
static __inline ALfloat Conv_ALfloat_ALdouble(ALdouble val)
static __inline ALuint Conv_ALuint_ALalaw(ALalaw val)
static __inline ALfloat Conv_ALfloat_ALmulaw(ALmulaw val)
static ALboolean DecomposeUserFormat(ALenum format, enum UserFmtChannels *chans, enum UserFmtType *type)
static __inline ALushort Conv_ALushort_ALubyte(ALubyte val)
#define AL_FORMAT_61CHN_MULAW
static const int aLawClip
AL_API void AL_APIENTRY alBufferfv(ALuint buffer, ALenum param, const ALfloat *values)
static __inline ALuint Conv_ALuint_ALint(ALint val)
#define AL_FORMAT_71CHN_MULAW
AL_API void AL_APIENTRY alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3)
static ALboolean DecomposeFormat(ALenum format, enum FmtChannels *chans, enum FmtType *type)
static __inline ALshort DecodeMuLaw(ALmulaw val)
void ALCcontext_DecRef(ALCcontext *context)
AL_API void AL_APIENTRY alBufferf(ALuint buffer, ALenum param, ALfloat value)
EGLSurface EGLint void ** value
static unsigned char nibble(char c)
static __inline ALubyte Conv_ALubyte_ALubyte3(ALubyte3 val)
#define AL_FORMAT_51CHN_MULAW
#define AL_FORMAT_71CHN32
ALvoid ReleaseALBuffers(ALCdevice *device)
static const int IMA4Codeword[16]
static __inline ALbyte Conv_ALbyte_ALushort(ALushort val)
#define AL_FORMAT_QUAD8_LOKI
static __inline ALbyte Conv_ALbyte_ALshort(ALshort val)
static __inline ALshort Conv_ALshort_ALubyte(ALubyte val)
static const int IMAStep_size[89]
#define AL_FORMAT_71CHN16
#define AL_FORMAT_STEREO16
static __inline ALbyte Conv_ALbyte_ALint(ALint val)
static __inline ALuint Conv_ALuint_ALushort(ALushort val)
#define AL_FORMAT_MONO_FLOAT32
static __inline ALuint Conv_ALuint_ALubyte3(ALubyte3 val)
static __inline ALdouble Conv_ALdouble_ALubyte(ALubyte val)
#define AL_UNSIGNED_SHORT_SOFT
GLdouble GLdouble GLdouble b
#define AL_FORMAT_MONO_ALAW_EXT
AL_API void AL_APIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat *value)
static ALalaw EncodeALaw(ALshort val)
static __inline ALushort Conv_ALushort_ALshort(ALshort val)
static __inline ALdouble Conv_ALdouble_ALint(ALint val)
#define AL_FORMAT_STEREO_DOUBLE_EXT
static void Convert_ALima4_ALima4(ALima4 *dst, const ALima4 *src, ALuint numchans, ALuint numblocks)
static __inline ALint mini(ALint a, ALint b)
#define AL_7POINT1_16_SOFT
static __inline ALshort Conv_ALshort_ALushort(ALushort val)
static __inline ALshort Conv_ALshort_ALfloat(ALfloat val)
#define AL_FORMAT_STEREO8
static const char muLawCompressTable[256]
static __inline ALdouble Conv_ALdouble_ALdouble(ALdouble val)
static __inline ALubyte Conv_ALubyte_ALalaw(ALalaw val)
static __inline ALfloat Conv_ALfloat_ALbyte3(ALbyte3 val)
#define AL_INTERNAL_FORMAT_SOFT
static __inline ALint Conv_ALint_ALuint(ALuint val)
AL_API void AL_APIENTRY alDeleteBuffers(ALsizei n, const ALuint *buffers)
#define AL_FORMAT_QUAD_MULAW
#define AL_SEC_LENGTH_SOFT
#define AL_7POINT1_32F_SOFT
AL_API void AL_APIENTRY alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3)
ALenum InsertUIntMapEntry(UIntMap *map, ALuint key, ALvoid *value)
static ALboolean IsValidType(ALenum type)
ALuint ChannelsFromUserFmt(enum UserFmtChannels chans)
AL_API void AL_APIENTRY alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3)
#define AL_UNSIGNED_BYTE3_SOFT
ALuint ChannelsFromFmt(enum FmtChannels chans)
#define AL_INVALID_OPERATION
void WriteLock(RWLock *lock)
#define AL_5POINT1_32F_SOFT
GLint GLsizei const GLuint64 * values
AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values)
LPALISBUFFERFORMATSUPPORTEDSOFT alIsBufferFormatSupportedSOFT
static __inline ALfloat Conv_ALfloat_ALint(ALint val)
ALbyte ALubyte3_size_is_not_3[(sizeof(ALubyte3)==sizeof(ALubyte[3]))?1:-1]
static const ALshort aLawDecompressionTable[256]
static __inline ALshort Conv_ALshort_ALmulaw(ALmulaw val)
AL_API ALboolean AL_APIENTRY alIsBuffer(ALuint buffer)