/OpenAL-Sample/src/mixaudio16.c
https://github.com/rpavlik/openal-svn-mirror · C · 2678 lines · 2304 code · 347 blank · 27 comment · 157 complexity · f21f226892480f0201938fd55aebe8db MD5 · raw file
- /* -*- mode: C; tab-width:8; c-basic-offset:8 -*-
- * vi:set ts=8:
- *
- * mixaudio16.c
- *
- * Where the mixing gets done.
- */
- #include "al_siteconfig.h"
- #include <AL/al.h>
- #include <string.h>
- #include <assert.h>
- #include "al_debug.h"
- #include "al_main.h"
- #include "al_types.h"
- #include "mixaudio16.h"
- #define MIN(a,b) ((a) < (b) ? (a) : (b))
- #define MAX(a,b) ((a) > (b) ? (a) : (b))
- /*
- * MixAudio16_n( ALshort *dst, alMixEntry *entries, ALuint numents );
- *
- * Mix a numents number of streams into dst, clamping above by max_audioval
- * and below by min_audioval to prevent overflow.
- *
- * FIXME: could be optimized to bisect the data until an "optimized"
- * MixAudio func could be used on it.
- */
- void MixAudio16_n( ALshort *dst, alMixEntry *entries, ALuint numents ) {
- int sample;
- ALuint i;
- int si = 0; /* source iterator */
- int len;
- if(numents == 0)
- {
- return;
- }
- len = entries[0].bytes; /* sure hope all the same */
- len /= sizeof(ALshort); /* len is in bytes */
- while(len--) {
- sample = 0;
- for(i = 0; i < numents; i++)
- {
- assert(entries[i].bytes >= si * (ALint)sizeof(ALshort));
- sample += ((ALshort *) entries[i].data)[si];
- }
- if(sample > max_audioval )
- {
- *dst = max_audioval;
- }
- else if(sample < min_audioval )
- {
- *dst = min_audioval;
- }
- else
- {
- *dst = sample;
- }
- dst++;
- si++;
- }
- return;
- }
- /*
- * Mixing functions.
- *
- * These are specialized functions which mix each entry in entries to
- * destination. They are called using a dispatch table generating by the
- * ALMixManager and ALMixFuncs.
- *
- * The number in the function name refers to the number of entries which the
- * function can handle. This number is exact, not an upperbound, so the
- * number of streams in entries must match the function exactly.
- */
- void MixAudio16_0(UNUSED(ALshort *dst), UNUSED(alMixEntry *entries)) {
- return;
- }
- void MixAudio16_1(ALshort *dst, alMixEntry *entries) {
- memcpy(dst, entries->data, (size_t)entries->bytes);
- return;
- }
- void MixAudio16_2(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_3(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1 = entries[2].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_4(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_5(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2 = entries[4].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_6(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_7(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3 = entries[6].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_8(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- dst++;
- }
-
- return;
- }
- #ifndef USE_LIGHT_GEN_MIXING
- void MixAudio16_9(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4 = entries[8].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_10(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_11(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5 = entries[10].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_12(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_13(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6 = entries[12].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_14(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_15(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7 = entries[14].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_16(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_17(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8 = entries[16].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_18(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_19(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9 = entries[18].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_20(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_21(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10 = entries[20].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_22(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_23(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11 = entries[22].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_24(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_25(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12 = entries[24].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_26(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12[0] = entries[24].data;
- srcs12[1] = entries[25].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12[0];
- sample += *srcs12[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12[0]++;
- srcs12[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_27(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12[2];
- ALshort *srcs13;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12[0] = entries[24].data;
- srcs12[1] = entries[25].data;
- srcs13 = entries[26].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12[0];
- sample += *srcs12[1];
- sample += *srcs13;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12[0]++;
- srcs12[1]++;
- srcs13++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_28(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12[2];
- ALshort *srcs13[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12[0] = entries[24].data;
- srcs12[1] = entries[25].data;
- srcs13[0] = entries[26].data;
- srcs13[1] = entries[27].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12[0];
- sample += *srcs12[1];
- sample += *srcs13[0];
- sample += *srcs13[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12[0]++;
- srcs12[1]++;
- srcs13[0]++;
- srcs13[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_29(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12[2];
- ALshort *srcs13[2];
- ALshort *srcs14;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12[0] = entries[24].data;
- srcs12[1] = entries[25].data;
- srcs13[0] = entries[26].data;
- srcs13[1] = entries[27].data;
- srcs14 = entries[28].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12[0];
- sample += *srcs12[1];
- sample += *srcs13[0];
- sample += *srcs13[1];
- sample += *srcs14;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12[0]++;
- srcs12[1]++;
- srcs13[0]++;
- srcs13[1]++;
- srcs14++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_30(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12[2];
- ALshort *srcs13[2];
- ALshort *srcs14[2];
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12[0] = entries[24].data;
- srcs12[1] = entries[25].data;
- srcs13[0] = entries[26].data;
- srcs13[1] = entries[27].data;
- srcs14[0] = entries[28].data;
- srcs14[1] = entries[29].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12[0];
- sample += *srcs12[1];
- sample += *srcs13[0];
- sample += *srcs13[1];
- sample += *srcs14[0];
- sample += *srcs14[1];
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12[0]++;
- srcs12[1]++;
- srcs13[0]++;
- srcs13[1]++;
- srcs14[0]++;
- srcs14[1]++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_31(ALshort *dst, alMixEntry *entries) {
- ALshort *srcs0[2];
- ALshort *srcs1[2];
- ALshort *srcs2[2];
- ALshort *srcs3[2];
- ALshort *srcs4[2];
- ALshort *srcs5[2];
- ALshort *srcs6[2];
- ALshort *srcs7[2];
- ALshort *srcs8[2];
- ALshort *srcs9[2];
- ALshort *srcs10[2];
- ALshort *srcs11[2];
- ALshort *srcs12[2];
- ALshort *srcs13[2];
- ALshort *srcs14[2];
- ALshort *srcs15;
- int len;
- int sample;
- len = entries[0].bytes;
- len /= sizeof(ALshort);
- srcs0[0] = entries[0].data;
- srcs0[1] = entries[1].data;
- srcs1[0] = entries[2].data;
- srcs1[1] = entries[3].data;
- srcs2[0] = entries[4].data;
- srcs2[1] = entries[5].data;
- srcs3[0] = entries[6].data;
- srcs3[1] = entries[7].data;
- srcs4[0] = entries[8].data;
- srcs4[1] = entries[9].data;
- srcs5[0] = entries[10].data;
- srcs5[1] = entries[11].data;
- srcs6[0] = entries[12].data;
- srcs6[1] = entries[13].data;
- srcs7[0] = entries[14].data;
- srcs7[1] = entries[15].data;
- srcs8[0] = entries[16].data;
- srcs8[1] = entries[17].data;
- srcs9[0] = entries[18].data;
- srcs9[1] = entries[19].data;
- srcs10[0] = entries[20].data;
- srcs10[1] = entries[21].data;
- srcs11[0] = entries[22].data;
- srcs11[1] = entries[23].data;
- srcs12[0] = entries[24].data;
- srcs12[1] = entries[25].data;
- srcs13[0] = entries[26].data;
- srcs13[1] = entries[27].data;
- srcs14[0] = entries[28].data;
- srcs14[1] = entries[29].data;
- srcs15 = entries[30].data;
- while(len--) {
- sample = *srcs0[0];
- sample += *srcs0[1];
- sample += *srcs1[0];
- sample += *srcs1[1];
- sample += *srcs2[0];
- sample += *srcs2[1];
- sample += *srcs3[0];
- sample += *srcs3[1];
- sample += *srcs4[0];
- sample += *srcs4[1];
- sample += *srcs5[0];
- sample += *srcs5[1];
- sample += *srcs6[0];
- sample += *srcs6[1];
- sample += *srcs7[0];
- sample += *srcs7[1];
- sample += *srcs8[0];
- sample += *srcs8[1];
- sample += *srcs9[0];
- sample += *srcs9[1];
- sample += *srcs10[0];
- sample += *srcs10[1];
- sample += *srcs11[0];
- sample += *srcs11[1];
- sample += *srcs12[0];
- sample += *srcs12[1];
- sample += *srcs13[0];
- sample += *srcs13[1];
- sample += *srcs14[0];
- sample += *srcs14[1];
- sample += *srcs15;
- if(sample > max_audioval ) {
- *dst = max_audioval;
- } else if(sample < min_audioval ) {
- *dst = min_audioval;
- } else {
- *dst = sample;
- }
- srcs0[0]++;
- srcs0[1]++;
- srcs1[0]++;
- srcs1[1]++;
- srcs2[0]++;
- srcs2[1]++;
- srcs3[0]++;
- srcs3[1]++;
- srcs4[0]++;
- srcs4[1]++;
- srcs5[0]++;
- srcs5[1]++;
- srcs6[0]++;
- srcs6[1]++;
- srcs7[0]++;
- srcs7[1]++;
- srcs8[0]++;
- srcs8[1]++;
- srcs9[0]++;
- srcs9[1]++;
- srcs10[0]++;
- srcs10[1]++;
- srcs11[0]++;
- srcs11[1]++;
- srcs12[0]++;
- srcs12[1]++;
- srcs13[0]++;
- srcs13[1]++;
- srcs14[0]++;
- srcs14[1]++;
- srcs15++;
- dst++;
- }
-
- return;
- }
- void MixAudio16_32(AL