Home | History | Annotate | Download | only in audio

Lines Matching refs:cvt

30 void SDLCALL SDL_ConvertMono(SDL_AudioCVT *cvt, Uint16 format)
43 src = cvt->buf;
44 dst = cvt->buf;
45 for ( i=cvt->len_cvt/2; i; --i ) {
57 src = (Sint8 *)cvt->buf;
58 dst = (Sint8 *)cvt->buf;
59 for ( i=cvt->len_cvt/2; i; --i ) {
71 src = cvt->buf;
72 dst = cvt->buf;
74 for ( i=cvt->len_cvt/4; i; --i ) {
85 for ( i=cvt->len_cvt/4; i; --i ) {
102 src = cvt->buf;
103 dst = cvt->buf;
105 for ( i=cvt->len_cvt/4; i; --i ) {
116 for ( i=cvt->len_cvt/4; i; --i ) {
130 cvt->len_cvt /= 2;
131 if ( cvt->filters[++cvt->filter_index] ) {
132 cvt->filters[cvt->filter_index](cvt, format);
137 void SDLCALL SDL_ConvertStrip(SDL_AudioCVT *cvt, Uint16 format)
150 src = cvt->buf;
151 dst = cvt->buf;
152 for ( i=cvt->len_cvt/6; i; --i ) {
164 src = (Sint8 *)cvt->buf;
165 dst = (Sint8 *)cvt->buf;
166 for ( i=cvt->len_cvt/6; i; --i ) {
178 src = cvt->buf;
179 dst = cvt->buf;
181 for ( i=cvt->len_cvt/12; i; --i ) {
194 for ( i=cvt->len_cvt/12; i; --i ) {
213 src = cvt->buf;
214 dst = cvt->buf;
216 for ( i=cvt->len_cvt/12; i; --i ) {
229 for ( i=cvt->len_cvt/12; i; --i ) {
245 cvt->len_cvt /= 3;
246 if ( cvt->filters[++cvt->filter_index] ) {
247 cvt->filters[cvt->filter_index](cvt, format);
253 void SDLCALL SDL_ConvertStrip_2(SDL_AudioCVT *cvt, Uint16 format)
266 src = cvt->buf;
267 dst = cvt->buf;
268 for ( i=cvt->len_cvt/4; i; --i ) {
280 src = (Sint8 *)cvt->buf;
281 dst = (Sint8 *)cvt->buf;
282 for ( i=cvt->len_cvt/4; i; --i ) {
294 src = cvt->buf;
295 dst = cvt->buf;
297 for ( i=cvt->len_cvt/8; i; --i ) {
310 for ( i=cvt->len_cvt/8; i; --i ) {
329 src = cvt->buf;
330 dst = cvt->buf;
332 for ( i=cvt->len_cvt/8; i; --i ) {
345 for ( i=cvt->len_cvt/8; i; --i ) {
361 cvt->len_cvt /= 2;
362 if ( cvt->filters[++cvt->filter_index] ) {
363 cvt->filters[cvt->filter_index](cvt, format);
368 void SDLCALL SDL_ConvertStereo(SDL_AudioCVT *cvt, Uint16 format)
378 src = (Uint16 *)(cvt->buf+cvt->len_cvt);
379 dst = (Uint16 *)(cvt->buf+cvt->len_cvt*2);
380 for ( i=cvt->len_cvt/2; i; --i ) {
389 src = cvt->buf+cvt->len_cvt;
390 dst = cvt->buf+cvt->len_cvt*2;
391 for ( i=cvt->len_cvt; i; --i ) {
398 cvt->len_cvt *= 2;
399 if ( cvt->filters[++cvt->filter_index] ) {
400 cvt->filters[cvt->filter_index](cvt, format);
406 void SDLCALL SDL_ConvertSurround(SDL_AudioCVT *cvt, Uint16 format)
418 src = (Uint8 *)(cvt->buf+cvt->len_cvt);
419 dst = (Uint8 *)(cvt->buf+cvt->len_cvt*3);
420 for ( i=cvt->len_cvt; i; --i ) {
439 src = (Sint8 *)cvt->buf+cvt->len_cvt;
440 dst = (Sint8 *)cvt->buf+cvt->len_cvt*3;
441 for ( i=cvt->len_cvt; i; --i ) {
461 src = cvt->buf+cvt->len_cvt;
462 dst = cvt->buf+cvt->len_cvt*3;
465 for ( i=cvt->len_cvt/4; i; --i ) {
489 for ( i=cvt->len_cvt/4; i; --i ) {
520 src = cvt->buf+cvt->len_cvt;
521 dst = cvt->buf+cvt->len_cvt*3;
524 for ( i=cvt->len_cvt/4; i; --i ) {
548 for ( i=cvt->len_cvt/4; i; --i ) {
575 cvt->len_cvt *= 3;
576 if ( cvt->filters[++cvt->filter_index] ) {
577 cvt->filters[cvt->filter_index](cvt, format);
583 void SDLCALL SDL_ConvertSurround_4(SDL_AudioCVT *cvt, Uint16 format)
595 src = (Uint8 *)(cvt->buf+cvt->len_cvt);
596 dst = (Uint8 *)(cvt->buf+cvt->len_cvt*2);
597 for ( i=cvt->len_cvt; i; --i ) {
614 src = (Sint8 *)cvt->buf+cvt->len_cvt;
615 dst = (Sint8 *)cvt->buf+cvt->len_cvt*2;
616 for ( i=cvt->len_cvt; i; --i ) {
634 src = cvt->buf+cvt->len_cvt;
635 dst = cvt->buf+cvt->len_cvt*2;
638 for ( i=cvt->len_cvt/4; i; --i ) {
657 for ( i=cvt->len_cvt/4; i; --i ) {
683 src = cvt->buf+cvt->len_cvt;
684 dst = cvt->buf+cvt->len_cvt*2;
687 for ( i=cvt->len_cvt/4; i; --i ) {
706 for ( i=cvt->len_cvt/4; i; --i ) {
728 cvt->len_cvt *= 2;
729 if ( cvt->filters[++cvt->filter_index] ) {
730 cvt->filters[cvt->filter_index](cvt, format);
736 void SDLCALL SDL_Convert16LSB(SDL_AudioCVT *cvt, Uint16 format)
744 src = cvt->buf+cvt->len_cvt;
745 dst = cvt->buf+cvt->len_cvt*2;
746 for ( i=cvt->len_cvt; i; --i ) {
753 cvt->len_cvt *= 2;
754 if ( cvt->filters[++cvt->filter_index] ) {
755 cvt->filters[cvt->filter_index](cvt, format);
759 void SDLCALL SDL_Convert16MSB(SDL_AudioCVT *cvt, Uint16 format)
767 src = cvt->buf+cvt->len_cvt;
768 dst = cvt->buf+cvt->len_cvt*2;
769 for ( i=cvt->len_cvt; i; --i ) {
776 cvt->len_cvt *= 2;
777 if ( cvt->filters[++cvt->filter_index] ) {
778 cvt->filters[cvt->filter_index](cvt, format);
783 void SDLCALL SDL_Convert8(SDL_AudioCVT *cvt, Uint16 format)
791 src = cvt->buf;
792 dst = cvt->buf;
796 for ( i=cvt->len_cvt/2; i; --i ) {
802 cvt->len_cvt /= 2;
803 if ( cvt->filters[++cvt->filter_index] ) {
804 cvt->filters[cvt->filter_index](cvt, format);
809 void SDLCALL SDL_ConvertSign(SDL_AudioCVT *cvt, Uint16 format)
817 data = cvt->buf;
822 for ( i=cvt->len_cvt/2; i; --i ) {
827 for ( i=cvt->len_cvt; i; --i ) {
832 if ( cvt->filters[++cvt->filter_index] ) {
833 cvt->filters[cvt->filter_index](cvt, format);
838 void SDLCALL SDL_ConvertEndian(SDL_AudioCVT *cvt, Uint16 format)
846 data = cvt->buf;
847 for ( i=cvt->len_cvt/2; i; --i ) {
854 if ( cvt->filters[++cvt->filter_index] ) {
855 cvt->filters[cvt->filter_index](cvt, format);
860 void SDLCALL SDL_RateMUL2(SDL_AudioCVT *cvt, Uint16 format)
868 src = cvt->buf+cvt->len_cvt;
869 dst = cvt->buf+cvt->len_cvt*2;
872 for ( i=cvt->len_cvt; i; --i ) {
880 for ( i=cvt->len_cvt/2; i; --i ) {
890 cvt->len_cvt *= 2;
891 if ( cvt->filters[++cvt->filter_index] ) {
892 cvt->filters[cvt->filter_index](cvt, format);
898 void SDLCALL SDL_RateMUL2_c2(SDL_AudioCVT *cvt, Uint16 format)
906 src = cvt->buf+cvt->len_cvt;
907 dst = cvt->buf+cvt->len_cvt*2;
910 for ( i=cvt->len_cvt/2; i; --i ) {
920 for ( i=cvt->len_cvt/4; i; --i ) {
934 cvt->len_cvt *= 2;
935 if ( cvt->filters[++cvt->filter_index] ) {
936 cvt->filters[cvt->filter_index](cvt, format);
941 void SDLCALL SDL_RateMUL2_c4(SDL_AudioCVT *cvt, Uint16 format)
949 src = cvt->buf+cvt->len_cvt;
950 dst = cvt->buf+cvt->len_cvt*2;
953 for ( i=cvt->len_cvt/4; i; --i ) {
967 for ( i=cvt->len_cvt/8; i; --i ) {
989 cvt->len_cvt *= 2;
990 if ( cvt->filters[++cvt->filter_index] ) {
991 cvt->filters[cvt->filter_index](cvt, format);
997 void SDLCALL SDL_RateMUL2_c6(SDL_AudioCVT *cvt, Uint16 format)
1005 src = cvt->buf+cvt->len_cvt;
1006 dst = cvt->buf+cvt->len_cvt*2;
1009 for ( i=cvt->len_cvt/6; i; --i ) {
1027 for ( i=cvt->len_cvt/12; i; --i ) {
1057 cvt->len_cvt *= 2;
1058 if ( cvt->filters[++cvt->filter_index] ) {
1059 cvt->filters[cvt->filter_index](cvt, format);
1064 void SDLCALL SDL_RateDIV2(SDL_AudioCVT *cvt, Uint16 format)
1072 src = cvt->buf;
1073 dst = cvt->buf;
1076 for ( i=cvt->len_cvt/2; i; --i ) {
1083 for ( i=cvt->len_cvt/4; i; --i ) {
1091 cvt->len_cvt /= 2;
1092 if ( cvt->filters[++cvt->filter_index] ) {
1093 cvt->filters[cvt->filter_index](cvt, format);
1099 void SDLCALL SDL_RateDIV2_c2(SDL_AudioCVT *cvt, Uint16 format)
1107 src = cvt->buf;
1108 dst = cvt->buf;
1111 for ( i=cvt->len_cvt/4; i; --i ) {
1119 for ( i=cvt->len_cvt/8; i; --i ) {
1129 cvt->len_cvt /= 2;
1130 if ( cvt->filters[++cvt->filter_index] ) {
1131 cvt->filters[cvt->filter_index](cvt, format);
1137 void SDLCALL SDL_RateDIV2_c4(SDL_AudioCVT *cvt, Uint16 format)
1145 src = cvt->buf;
1146 dst = cvt->buf;
1149 for ( i=cvt->len_cvt/8; i; --i ) {
1159 for ( i=cvt->len_cvt/16; i; --i ) {
1173 cvt->len_cvt /= 2;
1174 if ( cvt->filters[++cvt->filter_index] ) {
1175 cvt->filters[cvt->filter_index](cvt, format);
1180 void SDLCALL SDL_RateDIV2_c6(SDL_AudioCVT *cvt, Uint16 format)
1188 src = cvt->buf;
1189 dst = cvt->buf;
1192 for ( i=cvt->len_cvt/12; i; --i ) {
1204 for ( i=cvt->len_cvt/24; i; --i ) {
1222 cvt->len_cvt /= 2;
1223 if ( cvt->filters[++cvt->filter_index] ) {
1224 cvt->filters[cvt->filter_index](cvt, format);
1229 void SDLCALL SDL_RateSLOW(SDL_AudioCVT *cvt, Uint16 format)
1235 fprintf(stderr, "Converting audio rate * %4.4f\n", 1.0/cvt->rate_incr);
1237 clen = (int)((double)cvt->len_cvt / cvt->rate_incr);
1238 if ( cvt->rate_incr > 1.0 ) {
1243 output = cvt->buf;
1246 *output = cvt->buf[(int)ipos];
1247 ipos += cvt->rate_incr;
1257 output = (Uint16 *)cvt->buf;
1260 *output=((Uint16 *)cvt->buf)[(int)ipos];
1261 ipos += cvt->rate_incr;
1272 output = cvt->buf+clen;
1273 ipos = (double)cvt->len_cvt;
1275 ipos -= cvt->rate_incr;
1277 *output = cvt->buf[(int)ipos];
1286 output = (Uint16 *)(cvt->buf+clen);
1287 ipos = (double)cvt->len_cvt/2;
1289 ipos -= cvt->rate_incr;
1291 *output=((Uint16 *)cvt->buf)[(int)ipos];
1297 cvt->len_cvt = clen;
1298 if ( cvt->filters[++cvt->filter_index] ) {
1299 cvt->filters[cvt->filter_index](cvt, format);
1303 int SDL_ConvertAudio(SDL_AudioCVT *cvt)
1306 if ( cvt->buf == NULL ) {
1311 cvt->len_cvt = cvt->len;
1312 if ( cvt->filters[0] == NULL ) {
1317 cvt->filter_index = 0;
1318 cvt->filters[0](cvt, cvt->src_format);
1327 int SDL_BuildAudioCVT(SDL_AudioCVT *cvt,
1334 cvt->needed = 0;
1335 cvt->filter_index = 0;
1336 cvt->filters[0] = NULL;
1337 cvt->len_mult = 1;
1338 cvt->len_ratio = 1.0;
1343 cvt->filters[cvt->filter_index++] = SDL_ConvertEndian;
1348 cvt->filters[cvt->filter_index++] = SDL_ConvertSign;
1355 cvt->filters[cvt->filter_index++] =
1357 cvt->len_ratio /= 2;
1360 cvt->filters[cvt->filter_index++] =
1362 cvt->len_mult *= 2;
1363 cvt->len_ratio *= 2;
1366 cvt->filters[cvt->filter_index++] =
1368 cvt->len_mult *= 2;
1369 cvt->len_ratio *= 2;
1377 cvt->filters[cvt->filter_index++] =
1379 cvt->len_mult *= 2;
1381 cvt->len_ratio *= 2;
1385 cvt->filters[cvt->filter_index++] =
1388 cvt->len_mult *= 3;
1389 cvt->len_ratio *= 3;
1393 cvt->filters[cvt->filter_index++] =
1396 cvt->len_mult *= 2;
1397 cvt->len_ratio *= 2;
1400 cvt->filters[cvt->filter_index++] =
1402 cvt->len_mult *= 2;
1404 cvt->len_ratio *= 2;
1408 cvt->filters[cvt->filter_index++] =
1411 cvt->len_ratio /= 3;
1415 cvt->filters[cvt->filter_index++] =
1418 cvt->len_ratio /= 2;
1426 cvt->filters[cvt->filter_index++] =
1429 cvt->len_ratio /= 2;
1437 cvt->rate_incr = 0.0;
1442 void (SDLCALL *rate_cvt)(SDL_AudioCVT *cvt, Uint16 format);
1471 cvt->filters[cvt->filter_index++] = rate_cvt;
1472 cvt->len_mult *= len_mult;
1474 cvt->len_ratio *= len_ratio;
1488 cvt->rate_incr = (double)lo_rate/hi_rate;
1489 cvt->len_mult *= 2;
1490 cvt->len_ratio /= cvt->rate_incr;
1492 cvt->rate_incr = (double)hi_rate/lo_rate;
1493 cvt->len_ratio *= cvt->rate_incr;
1495 cvt->filters[cvt->filter_index++] = SDL_RateSLOW;
1501 if ( cvt->filter_index != 0 ) {
1502 cvt->needed = 1;
1503 cvt->src_format = src_format;
1504 cvt->dst_format = dst_format;
1505 cvt->len = 0;
1506 cvt->buf = NULL;
1507 cvt->filters[cvt->filter_index] = NULL;
1509 return(cvt->needed);