Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/openal-0.0.8/src/mixaudio16.c @ 53

Last change on this file since 53 was 17, checked in by landauf, 17 years ago

added openal

File size: 181.4 KB
Line 
1
2/* -*- mode: C; tab-width:8; c-basic-offset:8 -*-
3 * vi:set ts=8:
4 *
5 * mixaudio16.c
6 *
7 * Where the mixing gets done.
8 */
9
10#include "al_siteconfig.h"
11
12#include <AL/al.h>
13#include <string.h>
14#include <assert.h>
15
16#include "al_debug.h"
17#include "al_main.h"
18#include "al_types.h"
19#include "mixaudio16.h"
20
21#define MIN(a,b) ((a) < (b) ? (a) : (b))
22#define MAX(a,b) ((a) > (b) ? (a) : (b))
23
24
25/*
26 * MixAudio16_n( ALshort *dst, alMixEntry *entries, ALuint numents );
27 *
28 * Mix a numents number of streams into dst, clamping above by max_audioval
29 * and below by min_audioval to prevent overflow.
30 *
31 * FIXME: could be optimized to bisect the data until an "optimized"
32 * MixAudio func could be used on it.
33 */
34void MixAudio16_n( ALshort *dst, alMixEntry *entries, ALuint numents ) {
35        int sample;
36        ALuint i;
37        int si = 0; /* source iterator */
38        int len;
39
40        if(numents == 0)
41        {
42                return;
43        }
44
45        len = entries[0].bytes; /* sure hope all the same */
46        len /= sizeof(ALshort);     /* len is in bytes */
47
48        while(len--) {
49                sample = 0;
50
51                for(i = 0; i < numents; i++)
52                {
53                        assert(entries[i].bytes >= si * (ALint)sizeof(ALshort));
54                        sample += ((ALshort *) entries[i].data)[si];
55                }
56
57                if(sample > max_audioval )
58                {
59                        *dst = max_audioval;
60                }
61                else if(sample < min_audioval )
62                {
63                        *dst = min_audioval;
64                }
65                else
66                {
67                        *dst = sample;
68                }
69
70                dst++;
71                si++;
72        }
73        return;
74}
75
76/*
77 * Mixing functions.
78 *
79 * These are specialized functions which mix each entry in entries to
80 * destination.  They are called using a dispatch table generating by the
81 * ALMixManager and ALMixFuncs.
82 *
83 * The number in the function name refers to the number of entries which the
84 * function can handle.  This number is exact, not an upperbound, so the
85 * number of streams in entries must match the function exactly.
86 */
87void MixAudio16_0(UNUSED(ALshort *dst), UNUSED(alMixEntry *entries)) {
88        return;
89}
90
91void MixAudio16_1(ALshort *dst, alMixEntry *entries) {
92        memcpy(dst, entries->data, (size_t)entries->bytes);
93
94        return;
95}
96
97void MixAudio16_2(ALshort *dst, alMixEntry *entries) {
98        ALshort *srcs0[2];
99
100        int len;
101        int sample;
102
103        len = entries[0].bytes;
104        len /= sizeof(ALshort);
105
106        srcs0[0] = entries[0].data;
107        srcs0[1] = entries[1].data;
108
109
110        while(len--) {
111                sample = *srcs0[0];
112                sample += *srcs0[1];
113
114                if(sample > max_audioval ) {
115                        *dst = max_audioval;
116                } else if(sample < min_audioval ) {
117                        *dst = min_audioval;
118                } else {
119                        *dst = sample;
120                }
121
122                srcs0[0]++;
123                srcs0[1]++;
124
125
126                dst++;
127        }
128       
129        return;
130}
131
132void MixAudio16_3(ALshort *dst, alMixEntry *entries) {
133        ALshort *srcs0[2];
134        ALshort *srcs1;
135
136        int len;
137        int sample;
138
139        len = entries[0].bytes;
140        len /= sizeof(ALshort);
141
142        srcs0[0] = entries[0].data;
143        srcs0[1] = entries[1].data;
144        srcs1    = entries[2].data;
145
146
147        while(len--) {
148                sample = *srcs0[0];
149                sample += *srcs0[1];
150                sample += *srcs1;
151
152                if(sample > max_audioval ) {
153                        *dst = max_audioval;
154                } else if(sample < min_audioval ) {
155                        *dst = min_audioval;
156                } else {
157                        *dst = sample;
158                }
159
160                srcs0[0]++;
161                srcs0[1]++;
162                srcs1++;
163
164
165                dst++;
166        }
167       
168        return;
169}
170
171void MixAudio16_4(ALshort *dst, alMixEntry *entries) {
172        ALshort *srcs0[2];
173        ALshort *srcs1[2];
174
175        int len;
176        int sample;
177
178        len = entries[0].bytes;
179        len /= sizeof(ALshort);
180
181        srcs0[0] = entries[0].data;
182        srcs0[1] = entries[1].data;
183        srcs1[0] = entries[2].data;
184        srcs1[1] = entries[3].data;
185
186
187        while(len--) {
188                sample = *srcs0[0];
189                sample += *srcs0[1];
190                sample += *srcs1[0];
191                sample += *srcs1[1];
192
193                if(sample > max_audioval ) {
194                        *dst = max_audioval;
195                } else if(sample < min_audioval ) {
196                        *dst = min_audioval;
197                } else {
198                        *dst = sample;
199                }
200
201                srcs0[0]++;
202                srcs0[1]++;
203                srcs1[0]++;
204                srcs1[1]++;
205
206
207                dst++;
208        }
209       
210        return;
211}
212
213void MixAudio16_5(ALshort *dst, alMixEntry *entries) {
214        ALshort *srcs0[2];
215        ALshort *srcs1[2];
216        ALshort *srcs2;
217
218        int len;
219        int sample;
220
221        len = entries[0].bytes;
222        len /= sizeof(ALshort);
223
224        srcs0[0] = entries[0].data;
225        srcs0[1] = entries[1].data;
226        srcs1[0] = entries[2].data;
227        srcs1[1] = entries[3].data;
228        srcs2    = entries[4].data;
229
230
231        while(len--) {
232                sample = *srcs0[0];
233                sample += *srcs0[1];
234                sample += *srcs1[0];
235                sample += *srcs1[1];
236                sample += *srcs2;
237
238                if(sample > max_audioval ) {
239                        *dst = max_audioval;
240                } else if(sample < min_audioval ) {
241                        *dst = min_audioval;
242                } else {
243                        *dst = sample;
244                }
245
246                srcs0[0]++;
247                srcs0[1]++;
248                srcs1[0]++;
249                srcs1[1]++;
250                srcs2++;
251
252
253                dst++;
254        }
255       
256        return;
257}
258
259void MixAudio16_6(ALshort *dst, alMixEntry *entries) {
260        ALshort *srcs0[2];
261        ALshort *srcs1[2];
262        ALshort *srcs2[2];
263
264        int len;
265        int sample;
266
267        len = entries[0].bytes;
268        len /= sizeof(ALshort);
269
270        srcs0[0] = entries[0].data;
271        srcs0[1] = entries[1].data;
272        srcs1[0] = entries[2].data;
273        srcs1[1] = entries[3].data;
274        srcs2[0] = entries[4].data;
275        srcs2[1] = entries[5].data;
276
277
278        while(len--) {
279                sample = *srcs0[0];
280                sample += *srcs0[1];
281                sample += *srcs1[0];
282                sample += *srcs1[1];
283                sample += *srcs2[0];
284                sample += *srcs2[1];
285
286                if(sample > max_audioval ) {
287                        *dst = max_audioval;
288                } else if(sample < min_audioval ) {
289                        *dst = min_audioval;
290                } else {
291                        *dst = sample;
292                }
293
294                srcs0[0]++;
295                srcs0[1]++;
296                srcs1[0]++;
297                srcs1[1]++;
298                srcs2[0]++;
299                srcs2[1]++;
300
301
302                dst++;
303        }
304       
305        return;
306}
307
308void MixAudio16_7(ALshort *dst, alMixEntry *entries) {
309        ALshort *srcs0[2];
310        ALshort *srcs1[2];
311        ALshort *srcs2[2];
312        ALshort *srcs3;
313
314        int len;
315        int sample;
316
317        len = entries[0].bytes;
318        len /= sizeof(ALshort);
319
320        srcs0[0] = entries[0].data;
321        srcs0[1] = entries[1].data;
322        srcs1[0] = entries[2].data;
323        srcs1[1] = entries[3].data;
324        srcs2[0] = entries[4].data;
325        srcs2[1] = entries[5].data;
326        srcs3    = entries[6].data;
327
328
329        while(len--) {
330                sample = *srcs0[0];
331                sample += *srcs0[1];
332                sample += *srcs1[0];
333                sample += *srcs1[1];
334                sample += *srcs2[0];
335                sample += *srcs2[1];
336                sample += *srcs3;
337
338                if(sample > max_audioval ) {
339                        *dst = max_audioval;
340                } else if(sample < min_audioval ) {
341                        *dst = min_audioval;
342                } else {
343                        *dst = sample;
344                }
345
346                srcs0[0]++;
347                srcs0[1]++;
348                srcs1[0]++;
349                srcs1[1]++;
350                srcs2[0]++;
351                srcs2[1]++;
352                srcs3++;
353
354
355                dst++;
356        }
357       
358        return;
359}
360
361void MixAudio16_8(ALshort *dst, alMixEntry *entries) {
362        ALshort *srcs0[2];
363        ALshort *srcs1[2];
364        ALshort *srcs2[2];
365        ALshort *srcs3[2];
366
367        int len;
368        int sample;
369
370        len = entries[0].bytes;
371        len /= sizeof(ALshort);
372
373        srcs0[0] = entries[0].data;
374        srcs0[1] = entries[1].data;
375        srcs1[0] = entries[2].data;
376        srcs1[1] = entries[3].data;
377        srcs2[0] = entries[4].data;
378        srcs2[1] = entries[5].data;
379        srcs3[0] = entries[6].data;
380        srcs3[1] = entries[7].data;
381
382
383        while(len--) {
384                sample = *srcs0[0];
385                sample += *srcs0[1];
386                sample += *srcs1[0];
387                sample += *srcs1[1];
388                sample += *srcs2[0];
389                sample += *srcs2[1];
390                sample += *srcs3[0];
391                sample += *srcs3[1];
392
393                if(sample > max_audioval ) {
394                        *dst = max_audioval;
395                } else if(sample < min_audioval ) {
396                        *dst = min_audioval;
397                } else {
398                        *dst = sample;
399                }
400
401                srcs0[0]++;
402                srcs0[1]++;
403                srcs1[0]++;
404                srcs1[1]++;
405                srcs2[0]++;
406                srcs2[1]++;
407                srcs3[0]++;
408                srcs3[1]++;
409
410
411                dst++;
412        }
413       
414        return;
415}
416
417#ifndef USE_LIGHT_GEN_MIXING
418void MixAudio16_9(ALshort *dst, alMixEntry *entries) {
419        ALshort *srcs0[2];
420        ALshort *srcs1[2];
421        ALshort *srcs2[2];
422        ALshort *srcs3[2];
423        ALshort *srcs4;
424
425        int len;
426        int sample;
427
428        len = entries[0].bytes;
429        len /= sizeof(ALshort);
430
431        srcs0[0] = entries[0].data;
432        srcs0[1] = entries[1].data;
433        srcs1[0] = entries[2].data;
434        srcs1[1] = entries[3].data;
435        srcs2[0] = entries[4].data;
436        srcs2[1] = entries[5].data;
437        srcs3[0] = entries[6].data;
438        srcs3[1] = entries[7].data;
439        srcs4    = entries[8].data;
440
441
442        while(len--) {
443                sample = *srcs0[0];
444                sample += *srcs0[1];
445                sample += *srcs1[0];
446                sample += *srcs1[1];
447                sample += *srcs2[0];
448                sample += *srcs2[1];
449                sample += *srcs3[0];
450                sample += *srcs3[1];
451                sample += *srcs4;
452
453                if(sample > max_audioval ) {
454                        *dst = max_audioval;
455                } else if(sample < min_audioval ) {
456                        *dst = min_audioval;
457                } else {
458                        *dst = sample;
459                }
460
461                srcs0[0]++;
462                srcs0[1]++;
463                srcs1[0]++;
464                srcs1[1]++;
465                srcs2[0]++;
466                srcs2[1]++;
467                srcs3[0]++;
468                srcs3[1]++;
469                srcs4++;
470
471
472                dst++;
473        }
474       
475        return;
476}
477
478void MixAudio16_10(ALshort *dst, alMixEntry *entries) {
479        ALshort *srcs0[2];
480        ALshort *srcs1[2];
481        ALshort *srcs2[2];
482        ALshort *srcs3[2];
483        ALshort *srcs4[2];
484
485        int len;
486        int sample;
487
488        len = entries[0].bytes;
489        len /= sizeof(ALshort);
490
491        srcs0[0] = entries[0].data;
492        srcs0[1] = entries[1].data;
493        srcs1[0] = entries[2].data;
494        srcs1[1] = entries[3].data;
495        srcs2[0] = entries[4].data;
496        srcs2[1] = entries[5].data;
497        srcs3[0] = entries[6].data;
498        srcs3[1] = entries[7].data;
499        srcs4[0] = entries[8].data;
500        srcs4[1] = entries[9].data;
501
502
503        while(len--) {
504                sample = *srcs0[0];
505                sample += *srcs0[1];
506                sample += *srcs1[0];
507                sample += *srcs1[1];
508                sample += *srcs2[0];
509                sample += *srcs2[1];
510                sample += *srcs3[0];
511                sample += *srcs3[1];
512                sample += *srcs4[0];
513                sample += *srcs4[1];
514
515                if(sample > max_audioval ) {
516                        *dst = max_audioval;
517                } else if(sample < min_audioval ) {
518                        *dst = min_audioval;
519                } else {
520                        *dst = sample;
521                }
522
523                srcs0[0]++;
524                srcs0[1]++;
525                srcs1[0]++;
526                srcs1[1]++;
527                srcs2[0]++;
528                srcs2[1]++;
529                srcs3[0]++;
530                srcs3[1]++;
531                srcs4[0]++;
532                srcs4[1]++;
533
534
535                dst++;
536        }
537       
538        return;
539}
540
541void MixAudio16_11(ALshort *dst, alMixEntry *entries) {
542        ALshort *srcs0[2];
543        ALshort *srcs1[2];
544        ALshort *srcs2[2];
545        ALshort *srcs3[2];
546        ALshort *srcs4[2];
547        ALshort *srcs5;
548
549        int len;
550        int sample;
551
552        len = entries[0].bytes;
553        len /= sizeof(ALshort);
554
555        srcs0[0] = entries[0].data;
556        srcs0[1] = entries[1].data;
557        srcs1[0] = entries[2].data;
558        srcs1[1] = entries[3].data;
559        srcs2[0] = entries[4].data;
560        srcs2[1] = entries[5].data;
561        srcs3[0] = entries[6].data;
562        srcs3[1] = entries[7].data;
563        srcs4[0] = entries[8].data;
564        srcs4[1] = entries[9].data;
565        srcs5    = entries[10].data;
566
567
568        while(len--) {
569                sample = *srcs0[0];
570                sample += *srcs0[1];
571                sample += *srcs1[0];
572                sample += *srcs1[1];
573                sample += *srcs2[0];
574                sample += *srcs2[1];
575                sample += *srcs3[0];
576                sample += *srcs3[1];
577                sample += *srcs4[0];
578                sample += *srcs4[1];
579                sample += *srcs5;
580
581                if(sample > max_audioval ) {
582                        *dst = max_audioval;
583                } else if(sample < min_audioval ) {
584                        *dst = min_audioval;
585                } else {
586                        *dst = sample;
587                }
588
589                srcs0[0]++;
590                srcs0[1]++;
591                srcs1[0]++;
592                srcs1[1]++;
593                srcs2[0]++;
594                srcs2[1]++;
595                srcs3[0]++;
596                srcs3[1]++;
597                srcs4[0]++;
598                srcs4[1]++;
599                srcs5++;
600
601
602                dst++;
603        }
604       
605        return;
606}
607
608void MixAudio16_12(ALshort *dst, alMixEntry *entries) {
609        ALshort *srcs0[2];
610        ALshort *srcs1[2];
611        ALshort *srcs2[2];
612        ALshort *srcs3[2];
613        ALshort *srcs4[2];
614        ALshort *srcs5[2];
615
616        int len;
617        int sample;
618
619        len = entries[0].bytes;
620        len /= sizeof(ALshort);
621
622        srcs0[0] = entries[0].data;
623        srcs0[1] = entries[1].data;
624        srcs1[0] = entries[2].data;
625        srcs1[1] = entries[3].data;
626        srcs2[0] = entries[4].data;
627        srcs2[1] = entries[5].data;
628        srcs3[0] = entries[6].data;
629        srcs3[1] = entries[7].data;
630        srcs4[0] = entries[8].data;
631        srcs4[1] = entries[9].data;
632        srcs5[0] = entries[10].data;
633        srcs5[1] = entries[11].data;
634
635
636        while(len--) {
637                sample = *srcs0[0];
638                sample += *srcs0[1];
639                sample += *srcs1[0];
640                sample += *srcs1[1];
641                sample += *srcs2[0];
642                sample += *srcs2[1];
643                sample += *srcs3[0];
644                sample += *srcs3[1];
645                sample += *srcs4[0];
646                sample += *srcs4[1];
647                sample += *srcs5[0];
648                sample += *srcs5[1];
649
650                if(sample > max_audioval ) {
651                        *dst = max_audioval;
652                } else if(sample < min_audioval ) {
653                        *dst = min_audioval;
654                } else {
655                        *dst = sample;
656                }
657
658                srcs0[0]++;
659                srcs0[1]++;
660                srcs1[0]++;
661                srcs1[1]++;
662                srcs2[0]++;
663                srcs2[1]++;
664                srcs3[0]++;
665                srcs3[1]++;
666                srcs4[0]++;
667                srcs4[1]++;
668                srcs5[0]++;
669                srcs5[1]++;
670
671
672                dst++;
673        }
674       
675        return;
676}
677
678void MixAudio16_13(ALshort *dst, alMixEntry *entries) {
679        ALshort *srcs0[2];
680        ALshort *srcs1[2];
681        ALshort *srcs2[2];
682        ALshort *srcs3[2];
683        ALshort *srcs4[2];
684        ALshort *srcs5[2];
685        ALshort *srcs6;
686
687        int len;
688        int sample;
689
690        len = entries[0].bytes;
691        len /= sizeof(ALshort);
692
693        srcs0[0] = entries[0].data;
694        srcs0[1] = entries[1].data;
695        srcs1[0] = entries[2].data;
696        srcs1[1] = entries[3].data;
697        srcs2[0] = entries[4].data;
698        srcs2[1] = entries[5].data;
699        srcs3[0] = entries[6].data;
700        srcs3[1] = entries[7].data;
701        srcs4[0] = entries[8].data;
702        srcs4[1] = entries[9].data;
703        srcs5[0] = entries[10].data;
704        srcs5[1] = entries[11].data;
705        srcs6    = entries[12].data;
706
707
708        while(len--) {
709                sample = *srcs0[0];
710                sample += *srcs0[1];
711                sample += *srcs1[0];
712                sample += *srcs1[1];
713                sample += *srcs2[0];
714                sample += *srcs2[1];
715                sample += *srcs3[0];
716                sample += *srcs3[1];
717                sample += *srcs4[0];
718                sample += *srcs4[1];
719                sample += *srcs5[0];
720                sample += *srcs5[1];
721                sample += *srcs6;
722
723                if(sample > max_audioval ) {
724                        *dst = max_audioval;
725                } else if(sample < min_audioval ) {
726                        *dst = min_audioval;
727                } else {
728                        *dst = sample;
729                }
730
731                srcs0[0]++;
732                srcs0[1]++;
733                srcs1[0]++;
734                srcs1[1]++;
735                srcs2[0]++;
736                srcs2[1]++;
737                srcs3[0]++;
738                srcs3[1]++;
739                srcs4[0]++;
740                srcs4[1]++;
741                srcs5[0]++;
742                srcs5[1]++;
743                srcs6++;
744
745
746                dst++;
747        }
748       
749        return;
750}
751
752void MixAudio16_14(ALshort *dst, alMixEntry *entries) {
753        ALshort *srcs0[2];
754        ALshort *srcs1[2];
755        ALshort *srcs2[2];
756        ALshort *srcs3[2];
757        ALshort *srcs4[2];
758        ALshort *srcs5[2];
759        ALshort *srcs6[2];
760
761        int len;
762        int sample;
763
764        len = entries[0].bytes;
765        len /= sizeof(ALshort);
766
767        srcs0[0] = entries[0].data;
768        srcs0[1] = entries[1].data;
769        srcs1[0] = entries[2].data;
770        srcs1[1] = entries[3].data;
771        srcs2[0] = entries[4].data;
772        srcs2[1] = entries[5].data;
773        srcs3[0] = entries[6].data;
774        srcs3[1] = entries[7].data;
775        srcs4[0] = entries[8].data;
776        srcs4[1] = entries[9].data;
777        srcs5[0] = entries[10].data;
778        srcs5[1] = entries[11].data;
779        srcs6[0] = entries[12].data;
780        srcs6[1] = entries[13].data;
781
782
783        while(len--) {
784                sample = *srcs0[0];
785                sample += *srcs0[1];
786                sample += *srcs1[0];
787                sample += *srcs1[1];
788                sample += *srcs2[0];
789                sample += *srcs2[1];
790                sample += *srcs3[0];
791                sample += *srcs3[1];
792                sample += *srcs4[0];
793                sample += *srcs4[1];
794                sample += *srcs5[0];
795                sample += *srcs5[1];
796                sample += *srcs6[0];
797                sample += *srcs6[1];
798
799                if(sample > max_audioval ) {
800                        *dst = max_audioval;
801                } else if(sample < min_audioval ) {
802                        *dst = min_audioval;
803                } else {
804                        *dst = sample;
805                }
806
807                srcs0[0]++;
808                srcs0[1]++;
809                srcs1[0]++;
810                srcs1[1]++;
811                srcs2[0]++;
812                srcs2[1]++;
813                srcs3[0]++;
814                srcs3[1]++;
815                srcs4[0]++;
816                srcs4[1]++;
817                srcs5[0]++;
818                srcs5[1]++;
819                srcs6[0]++;
820                srcs6[1]++;
821
822
823                dst++;
824        }
825       
826        return;
827}
828
829void MixAudio16_15(ALshort *dst, alMixEntry *entries) {
830        ALshort *srcs0[2];
831        ALshort *srcs1[2];
832        ALshort *srcs2[2];
833        ALshort *srcs3[2];
834        ALshort *srcs4[2];
835        ALshort *srcs5[2];
836        ALshort *srcs6[2];
837        ALshort *srcs7;
838
839        int len;
840        int sample;
841
842        len = entries[0].bytes;
843        len /= sizeof(ALshort);
844
845        srcs0[0] = entries[0].data;
846        srcs0[1] = entries[1].data;
847        srcs1[0] = entries[2].data;
848        srcs1[1] = entries[3].data;
849        srcs2[0] = entries[4].data;
850        srcs2[1] = entries[5].data;
851        srcs3[0] = entries[6].data;
852        srcs3[1] = entries[7].data;
853        srcs4[0] = entries[8].data;
854        srcs4[1] = entries[9].data;
855        srcs5[0] = entries[10].data;
856        srcs5[1] = entries[11].data;
857        srcs6[0] = entries[12].data;
858        srcs6[1] = entries[13].data;
859        srcs7    = entries[14].data;
860
861
862        while(len--) {
863                sample = *srcs0[0];
864                sample += *srcs0[1];
865                sample += *srcs1[0];
866                sample += *srcs1[1];
867                sample += *srcs2[0];
868                sample += *srcs2[1];
869                sample += *srcs3[0];
870                sample += *srcs3[1];
871                sample += *srcs4[0];
872                sample += *srcs4[1];
873                sample += *srcs5[0];
874                sample += *srcs5[1];
875                sample += *srcs6[0];
876                sample += *srcs6[1];
877                sample += *srcs7;
878
879                if(sample > max_audioval ) {
880                        *dst = max_audioval;
881                } else if(sample < min_audioval ) {
882                        *dst = min_audioval;
883                } else {
884                        *dst = sample;
885                }
886
887                srcs0[0]++;
888                srcs0[1]++;
889                srcs1[0]++;
890                srcs1[1]++;
891                srcs2[0]++;
892                srcs2[1]++;
893                srcs3[0]++;
894                srcs3[1]++;
895                srcs4[0]++;
896                srcs4[1]++;
897                srcs5[0]++;
898                srcs5[1]++;
899                srcs6[0]++;
900                srcs6[1]++;
901                srcs7++;
902
903
904                dst++;
905        }
906       
907        return;
908}
909
910void MixAudio16_16(ALshort *dst, alMixEntry *entries) {
911        ALshort *srcs0[2];
912        ALshort *srcs1[2];
913        ALshort *srcs2[2];
914        ALshort *srcs3[2];
915        ALshort *srcs4[2];
916        ALshort *srcs5[2];
917        ALshort *srcs6[2];
918        ALshort *srcs7[2];
919
920        int len;
921        int sample;
922
923        len = entries[0].bytes;
924        len /= sizeof(ALshort);
925
926        srcs0[0] = entries[0].data;
927        srcs0[1] = entries[1].data;
928        srcs1[0] = entries[2].data;
929        srcs1[1] = entries[3].data;
930        srcs2[0] = entries[4].data;
931        srcs2[1] = entries[5].data;
932        srcs3[0] = entries[6].data;
933        srcs3[1] = entries[7].data;
934        srcs4[0] = entries[8].data;
935        srcs4[1] = entries[9].data;
936        srcs5[0] = entries[10].data;
937        srcs5[1] = entries[11].data;
938        srcs6[0] = entries[12].data;
939        srcs6[1] = entries[13].data;
940        srcs7[0] = entries[14].data;
941        srcs7[1] = entries[15].data;
942
943
944        while(len--) {
945                sample = *srcs0[0];
946                sample += *srcs0[1];
947                sample += *srcs1[0];
948                sample += *srcs1[1];
949                sample += *srcs2[0];
950                sample += *srcs2[1];
951                sample += *srcs3[0];
952                sample += *srcs3[1];
953                sample += *srcs4[0];
954                sample += *srcs4[1];
955                sample += *srcs5[0];
956                sample += *srcs5[1];
957                sample += *srcs6[0];
958                sample += *srcs6[1];
959                sample += *srcs7[0];
960                sample += *srcs7[1];
961
962                if(sample > max_audioval ) {
963                        *dst = max_audioval;
964                } else if(sample < min_audioval ) {
965                        *dst = min_audioval;
966                } else {
967                        *dst = sample;
968                }
969
970                srcs0[0]++;
971                srcs0[1]++;
972                srcs1[0]++;
973                srcs1[1]++;
974                srcs2[0]++;
975                srcs2[1]++;
976                srcs3[0]++;
977                srcs3[1]++;
978                srcs4[0]++;
979                srcs4[1]++;
980                srcs5[0]++;
981                srcs5[1]++;
982                srcs6[0]++;
983                srcs6[1]++;
984                srcs7[0]++;
985                srcs7[1]++;
986
987
988                dst++;
989        }
990       
991        return;
992}
993
994void MixAudio16_17(ALshort *dst, alMixEntry *entries) {
995        ALshort *srcs0[2];
996        ALshort *srcs1[2];
997        ALshort *srcs2[2];
998        ALshort *srcs3[2];
999        ALshort *srcs4[2];
1000        ALshort *srcs5[2];
1001        ALshort *srcs6[2];
1002        ALshort *srcs7[2];
1003        ALshort *srcs8;
1004
1005        int len;
1006        int sample;
1007
1008        len = entries[0].bytes;
1009        len /= sizeof(ALshort);
1010
1011        srcs0[0] = entries[0].data;
1012        srcs0[1] = entries[1].data;
1013        srcs1[0] = entries[2].data;
1014        srcs1[1] = entries[3].data;
1015        srcs2[0] = entries[4].data;
1016        srcs2[1] = entries[5].data;
1017        srcs3[0] = entries[6].data;
1018        srcs3[1] = entries[7].data;
1019        srcs4[0] = entries[8].data;
1020        srcs4[1] = entries[9].data;
1021        srcs5[0] = entries[10].data;
1022        srcs5[1] = entries[11].data;
1023        srcs6[0] = entries[12].data;
1024        srcs6[1] = entries[13].data;
1025        srcs7[0] = entries[14].data;
1026        srcs7[1] = entries[15].data;
1027        srcs8    = entries[16].data;
1028
1029
1030        while(len--) {
1031                sample = *srcs0[0];
1032                sample += *srcs0[1];
1033                sample += *srcs1[0];
1034                sample += *srcs1[1];
1035                sample += *srcs2[0];
1036                sample += *srcs2[1];
1037                sample += *srcs3[0];
1038                sample += *srcs3[1];
1039                sample += *srcs4[0];
1040                sample += *srcs4[1];
1041                sample += *srcs5[0];
1042                sample += *srcs5[1];
1043                sample += *srcs6[0];
1044                sample += *srcs6[1];
1045                sample += *srcs7[0];
1046                sample += *srcs7[1];
1047                sample += *srcs8;
1048
1049                if(sample > max_audioval ) {
1050                        *dst = max_audioval;
1051                } else if(sample < min_audioval ) {
1052                        *dst = min_audioval;
1053                } else {
1054                        *dst = sample;
1055                }
1056
1057                srcs0[0]++;
1058                srcs0[1]++;
1059                srcs1[0]++;
1060                srcs1[1]++;
1061                srcs2[0]++;
1062                srcs2[1]++;
1063                srcs3[0]++;
1064                srcs3[1]++;
1065                srcs4[0]++;
1066                srcs4[1]++;
1067                srcs5[0]++;
1068                srcs5[1]++;
1069                srcs6[0]++;
1070                srcs6[1]++;
1071                srcs7[0]++;
1072                srcs7[1]++;
1073                srcs8++;
1074
1075
1076                dst++;
1077        }
1078       
1079        return;
1080}
1081
1082void MixAudio16_18(ALshort *dst, alMixEntry *entries) {
1083        ALshort *srcs0[2];
1084        ALshort *srcs1[2];
1085        ALshort *srcs2[2];
1086        ALshort *srcs3[2];
1087        ALshort *srcs4[2];
1088        ALshort *srcs5[2];
1089        ALshort *srcs6[2];
1090        ALshort *srcs7[2];
1091        ALshort *srcs8[2];
1092
1093        int len;
1094        int sample;
1095
1096        len = entries[0].bytes;
1097        len /= sizeof(ALshort);
1098
1099        srcs0[0] = entries[0].data;
1100        srcs0[1] = entries[1].data;
1101        srcs1[0] = entries[2].data;
1102        srcs1[1] = entries[3].data;
1103        srcs2[0] = entries[4].data;
1104        srcs2[1] = entries[5].data;
1105        srcs3[0] = entries[6].data;
1106        srcs3[1] = entries[7].data;
1107        srcs4[0] = entries[8].data;
1108        srcs4[1] = entries[9].data;
1109        srcs5[0] = entries[10].data;
1110        srcs5[1] = entries[11].data;
1111        srcs6[0] = entries[12].data;
1112        srcs6[1] = entries[13].data;
1113        srcs7[0] = entries[14].data;
1114        srcs7[1] = entries[15].data;
1115        srcs8[0] = entries[16].data;
1116        srcs8[1] = entries[17].data;
1117
1118
1119        while(len--) {
1120                sample = *srcs0[0];
1121                sample += *srcs0[1];
1122                sample += *srcs1[0];
1123                sample += *srcs1[1];
1124                sample += *srcs2[0];
1125                sample += *srcs2[1];
1126                sample += *srcs3[0];
1127                sample += *srcs3[1];
1128                sample += *srcs4[0];
1129                sample += *srcs4[1];
1130                sample += *srcs5[0];
1131                sample += *srcs5[1];
1132                sample += *srcs6[0];
1133                sample += *srcs6[1];
1134                sample += *srcs7[0];
1135                sample += *srcs7[1];
1136                sample += *srcs8[0];
1137                sample += *srcs8[1];
1138
1139                if(sample > max_audioval ) {
1140                        *dst = max_audioval;
1141                } else if(sample < min_audioval ) {
1142                        *dst = min_audioval;
1143                } else {
1144                        *dst = sample;
1145                }
1146
1147                srcs0[0]++;
1148                srcs0[1]++;
1149                srcs1[0]++;
1150                srcs1[1]++;
1151                srcs2[0]++;
1152                srcs2[1]++;
1153                srcs3[0]++;
1154                srcs3[1]++;
1155                srcs4[0]++;
1156                srcs4[1]++;
1157                srcs5[0]++;
1158                srcs5[1]++;
1159                srcs6[0]++;
1160                srcs6[1]++;
1161                srcs7[0]++;
1162                srcs7[1]++;
1163                srcs8[0]++;
1164                srcs8[1]++;
1165
1166
1167                dst++;
1168        }
1169       
1170        return;
1171}
1172
1173void MixAudio16_19(ALshort *dst, alMixEntry *entries) {
1174        ALshort *srcs0[2];
1175        ALshort *srcs1[2];
1176        ALshort *srcs2[2];
1177        ALshort *srcs3[2];
1178        ALshort *srcs4[2];
1179        ALshort *srcs5[2];
1180        ALshort *srcs6[2];
1181        ALshort *srcs7[2];
1182        ALshort *srcs8[2];
1183        ALshort *srcs9;
1184
1185        int len;
1186        int sample;
1187
1188        len = entries[0].bytes;
1189        len /= sizeof(ALshort);
1190
1191        srcs0[0] = entries[0].data;
1192        srcs0[1] = entries[1].data;
1193        srcs1[0] = entries[2].data;
1194        srcs1[1] = entries[3].data;
1195        srcs2[0] = entries[4].data;
1196        srcs2[1] = entries[5].data;
1197        srcs3[0] = entries[6].data;
1198        srcs3[1] = entries[7].data;
1199        srcs4[0] = entries[8].data;
1200        srcs4[1] = entries[9].data;
1201        srcs5[0] = entries[10].data;
1202        srcs5[1] = entries[11].data;
1203        srcs6[0] = entries[12].data;
1204        srcs6[1] = entries[13].data;
1205        srcs7[0] = entries[14].data;
1206        srcs7[1] = entries[15].data;
1207        srcs8[0] = entries[16].data;
1208        srcs8[1] = entries[17].data;
1209        srcs9    = entries[18].data;
1210
1211
1212        while(len--) {
1213                sample = *srcs0[0];
1214                sample += *srcs0[1];
1215                sample += *srcs1[0];
1216                sample += *srcs1[1];
1217                sample += *srcs2[0];
1218                sample += *srcs2[1];
1219                sample += *srcs3[0];
1220                sample += *srcs3[1];
1221                sample += *srcs4[0];
1222                sample += *srcs4[1];
1223                sample += *srcs5[0];
1224                sample += *srcs5[1];
1225                sample += *srcs6[0];
1226                sample += *srcs6[1];
1227                sample += *srcs7[0];
1228                sample += *srcs7[1];
1229                sample += *srcs8[0];
1230                sample += *srcs8[1];
1231                sample += *srcs9;
1232
1233                if(sample > max_audioval ) {
1234                        *dst = max_audioval;
1235                } else if(sample < min_audioval ) {
1236                        *dst = min_audioval;
1237                } else {
1238                        *dst = sample;
1239                }
1240
1241                srcs0[0]++;
1242                srcs0[1]++;
1243                srcs1[0]++;
1244                srcs1[1]++;
1245                srcs2[0]++;
1246                srcs2[1]++;
1247                srcs3[0]++;
1248                srcs3[1]++;
1249                srcs4[0]++;
1250                srcs4[1]++;
1251                srcs5[0]++;
1252                srcs5[1]++;
1253                srcs6[0]++;
1254                srcs6[1]++;
1255                srcs7[0]++;
1256                srcs7[1]++;
1257                srcs8[0]++;
1258                srcs8[1]++;
1259                srcs9++;
1260
1261
1262                dst++;
1263        }
1264       
1265        return;
1266}
1267
1268void MixAudio16_20(ALshort *dst, alMixEntry *entries) {
1269        ALshort *srcs0[2];
1270        ALshort *srcs1[2];
1271        ALshort *srcs2[2];
1272        ALshort *srcs3[2];
1273        ALshort *srcs4[2];
1274        ALshort *srcs5[2];
1275        ALshort *srcs6[2];
1276        ALshort *srcs7[2];
1277        ALshort *srcs8[2];
1278        ALshort *srcs9[2];
1279
1280        int len;
1281        int sample;
1282
1283        len = entries[0].bytes;
1284        len /= sizeof(ALshort);
1285
1286        srcs0[0] = entries[0].data;
1287        srcs0[1] = entries[1].data;
1288        srcs1[0] = entries[2].data;
1289        srcs1[1] = entries[3].data;
1290        srcs2[0] = entries[4].data;
1291        srcs2[1] = entries[5].data;
1292        srcs3[0] = entries[6].data;
1293        srcs3[1] = entries[7].data;
1294        srcs4[0] = entries[8].data;
1295        srcs4[1] = entries[9].data;
1296        srcs5[0] = entries[10].data;
1297        srcs5[1] = entries[11].data;
1298        srcs6[0] = entries[12].data;
1299        srcs6[1] = entries[13].data;
1300        srcs7[0] = entries[14].data;
1301        srcs7[1] = entries[15].data;
1302        srcs8[0] = entries[16].data;
1303        srcs8[1] = entries[17].data;
1304        srcs9[0] = entries[18].data;
1305        srcs9[1] = entries[19].data;
1306
1307
1308        while(len--) {
1309                sample = *srcs0[0];
1310                sample += *srcs0[1];
1311                sample += *srcs1[0];
1312                sample += *srcs1[1];
1313                sample += *srcs2[0];
1314                sample += *srcs2[1];
1315                sample += *srcs3[0];
1316                sample += *srcs3[1];
1317                sample += *srcs4[0];
1318                sample += *srcs4[1];
1319                sample += *srcs5[0];
1320                sample += *srcs5[1];
1321                sample += *srcs6[0];
1322                sample += *srcs6[1];
1323                sample += *srcs7[0];
1324                sample += *srcs7[1];
1325                sample += *srcs8[0];
1326                sample += *srcs8[1];
1327                sample += *srcs9[0];
1328                sample += *srcs9[1];
1329
1330                if(sample > max_audioval ) {
1331                        *dst = max_audioval;
1332                } else if(sample < min_audioval ) {
1333                        *dst = min_audioval;
1334                } else {
1335                        *dst = sample;
1336                }
1337
1338                srcs0[0]++;
1339                srcs0[1]++;
1340                srcs1[0]++;
1341                srcs1[1]++;
1342                srcs2[0]++;
1343                srcs2[1]++;
1344                srcs3[0]++;
1345                srcs3[1]++;
1346                srcs4[0]++;
1347                srcs4[1]++;
1348                srcs5[0]++;
1349                srcs5[1]++;
1350                srcs6[0]++;
1351                srcs6[1]++;
1352                srcs7[0]++;
1353                srcs7[1]++;
1354                srcs8[0]++;
1355                srcs8[1]++;
1356                srcs9[0]++;
1357                srcs9[1]++;
1358
1359
1360                dst++;
1361        }
1362       
1363        return;
1364}
1365
1366void MixAudio16_21(ALshort *dst, alMixEntry *entries) {
1367        ALshort *srcs0[2];
1368        ALshort *srcs1[2];
1369        ALshort *srcs2[2];
1370        ALshort *srcs3[2];
1371        ALshort *srcs4[2];
1372        ALshort *srcs5[2];
1373        ALshort *srcs6[2];
1374        ALshort *srcs7[2];
1375        ALshort *srcs8[2];
1376        ALshort *srcs9[2];
1377        ALshort *srcs10;
1378
1379        int len;
1380        int sample;
1381
1382        len = entries[0].bytes;
1383        len /= sizeof(ALshort);
1384
1385        srcs0[0] = entries[0].data;
1386        srcs0[1] = entries[1].data;
1387        srcs1[0] = entries[2].data;
1388        srcs1[1] = entries[3].data;
1389        srcs2[0] = entries[4].data;
1390        srcs2[1] = entries[5].data;
1391        srcs3[0] = entries[6].data;
1392        srcs3[1] = entries[7].data;
1393        srcs4[0] = entries[8].data;
1394        srcs4[1] = entries[9].data;
1395        srcs5[0] = entries[10].data;
1396        srcs5[1] = entries[11].data;
1397        srcs6[0] = entries[12].data;
1398        srcs6[1] = entries[13].data;
1399        srcs7[0] = entries[14].data;
1400        srcs7[1] = entries[15].data;
1401        srcs8[0] = entries[16].data;
1402        srcs8[1] = entries[17].data;
1403        srcs9[0] = entries[18].data;
1404        srcs9[1] = entries[19].data;
1405        srcs10    = entries[20].data;
1406
1407
1408        while(len--) {
1409                sample = *srcs0[0];
1410                sample += *srcs0[1];
1411                sample += *srcs1[0];
1412                sample += *srcs1[1];
1413                sample += *srcs2[0];
1414                sample += *srcs2[1];
1415                sample += *srcs3[0];
1416                sample += *srcs3[1];
1417                sample += *srcs4[0];
1418                sample += *srcs4[1];
1419                sample += *srcs5[0];
1420                sample += *srcs5[1];
1421                sample += *srcs6[0];
1422                sample += *srcs6[1];
1423                sample += *srcs7[0];
1424                sample += *srcs7[1];
1425                sample += *srcs8[0];
1426                sample += *srcs8[1];
1427                sample += *srcs9[0];
1428                sample += *srcs9[1];
1429                sample += *srcs10;
1430
1431                if(sample > max_audioval ) {
1432                        *dst = max_audioval;
1433                } else if(sample < min_audioval ) {
1434                        *dst = min_audioval;
1435                } else {
1436                        *dst = sample;
1437                }
1438
1439                srcs0[0]++;
1440                srcs0[1]++;
1441                srcs1[0]++;
1442                srcs1[1]++;
1443                srcs2[0]++;
1444                srcs2[1]++;
1445                srcs3[0]++;
1446                srcs3[1]++;
1447                srcs4[0]++;
1448                srcs4[1]++;
1449                srcs5[0]++;
1450                srcs5[1]++;
1451                srcs6[0]++;
1452                srcs6[1]++;
1453                srcs7[0]++;
1454                srcs7[1]++;
1455                srcs8[0]++;
1456                srcs8[1]++;
1457                srcs9[0]++;
1458                srcs9[1]++;
1459                srcs10++;
1460
1461
1462                dst++;
1463        }
1464       
1465        return;
1466}
1467
1468void MixAudio16_22(ALshort *dst, alMixEntry *entries) {
1469        ALshort *srcs0[2];
1470        ALshort *srcs1[2];
1471        ALshort *srcs2[2];
1472        ALshort *srcs3[2];
1473        ALshort *srcs4[2];
1474        ALshort *srcs5[2];
1475        ALshort *srcs6[2];
1476        ALshort *srcs7[2];
1477        ALshort *srcs8[2];
1478        ALshort *srcs9[2];
1479        ALshort *srcs10[2];
1480
1481        int len;
1482        int sample;
1483
1484        len = entries[0].bytes;
1485        len /= sizeof(ALshort);
1486
1487        srcs0[0] = entries[0].data;
1488        srcs0[1] = entries[1].data;
1489        srcs1[0] = entries[2].data;
1490        srcs1[1] = entries[3].data;
1491        srcs2[0] = entries[4].data;
1492        srcs2[1] = entries[5].data;
1493        srcs3[0] = entries[6].data;
1494        srcs3[1] = entries[7].data;
1495        srcs4[0] = entries[8].data;
1496        srcs4[1] = entries[9].data;
1497        srcs5[0] = entries[10].data;
1498        srcs5[1] = entries[11].data;
1499        srcs6[0] = entries[12].data;
1500        srcs6[1] = entries[13].data;
1501        srcs7[0] = entries[14].data;
1502        srcs7[1] = entries[15].data;
1503        srcs8[0] = entries[16].data;
1504        srcs8[1] = entries[17].data;
1505        srcs9[0] = entries[18].data;
1506        srcs9[1] = entries[19].data;
1507        srcs10[0] = entries[20].data;
1508        srcs10[1] = entries[21].data;
1509
1510
1511        while(len--) {
1512                sample = *srcs0[0];
1513                sample += *srcs0[1];
1514                sample += *srcs1[0];
1515                sample += *srcs1[1];
1516                sample += *srcs2[0];
1517                sample += *srcs2[1];
1518                sample += *srcs3[0];
1519                sample += *srcs3[1];
1520                sample += *srcs4[0];
1521                sample += *srcs4[1];
1522                sample += *srcs5[0];
1523                sample += *srcs5[1];
1524                sample += *srcs6[0];
1525                sample += *srcs6[1];
1526                sample += *srcs7[0];
1527                sample += *srcs7[1];
1528                sample += *srcs8[0];
1529                sample += *srcs8[1];
1530                sample += *srcs9[0];
1531                sample += *srcs9[1];
1532                sample += *srcs10[0];
1533                sample += *srcs10[1];
1534
1535                if(sample > max_audioval ) {
1536                        *dst = max_audioval;
1537                } else if(sample < min_audioval ) {
1538                        *dst = min_audioval;
1539                } else {
1540                        *dst = sample;
1541                }
1542
1543                srcs0[0]++;
1544                srcs0[1]++;
1545                srcs1[0]++;
1546                srcs1[1]++;
1547                srcs2[0]++;
1548                srcs2[1]++;
1549                srcs3[0]++;
1550                srcs3[1]++;
1551                srcs4[0]++;
1552                srcs4[1]++;
1553                srcs5[0]++;
1554                srcs5[1]++;
1555                srcs6[0]++;
1556                srcs6[1]++;
1557                srcs7[0]++;
1558                srcs7[1]++;
1559                srcs8[0]++;
1560                srcs8[1]++;
1561                srcs9[0]++;
1562                srcs9[1]++;
1563                srcs10[0]++;
1564                srcs10[1]++;
1565
1566
1567                dst++;
1568        }
1569       
1570        return;
1571}
1572
1573void MixAudio16_23(ALshort *dst, alMixEntry *entries) {
1574        ALshort *srcs0[2];
1575        ALshort *srcs1[2];
1576        ALshort *srcs2[2];
1577        ALshort *srcs3[2];
1578        ALshort *srcs4[2];
1579        ALshort *srcs5[2];
1580        ALshort *srcs6[2];
1581        ALshort *srcs7[2];
1582        ALshort *srcs8[2];
1583        ALshort *srcs9[2];
1584        ALshort *srcs10[2];
1585        ALshort *srcs11;
1586
1587        int len;
1588        int sample;
1589
1590        len = entries[0].bytes;
1591        len /= sizeof(ALshort);
1592
1593        srcs0[0] = entries[0].data;
1594        srcs0[1] = entries[1].data;
1595        srcs1[0] = entries[2].data;
1596        srcs1[1] = entries[3].data;
1597        srcs2[0] = entries[4].data;
1598        srcs2[1] = entries[5].data;
1599        srcs3[0] = entries[6].data;
1600        srcs3[1] = entries[7].data;
1601        srcs4[0] = entries[8].data;
1602        srcs4[1] = entries[9].data;
1603        srcs5[0] = entries[10].data;
1604        srcs5[1] = entries[11].data;
1605        srcs6[0] = entries[12].data;
1606        srcs6[1] = entries[13].data;
1607        srcs7[0] = entries[14].data;
1608        srcs7[1] = entries[15].data;
1609        srcs8[0] = entries[16].data;
1610        srcs8[1] = entries[17].data;
1611        srcs9[0] = entries[18].data;
1612        srcs9[1] = entries[19].data;
1613        srcs10[0] = entries[20].data;
1614        srcs10[1] = entries[21].data;
1615        srcs11    = entries[22].data;
1616
1617
1618        while(len--) {
1619                sample = *srcs0[0];
1620                sample += *srcs0[1];
1621                sample += *srcs1[0];
1622                sample += *srcs1[1];
1623                sample += *srcs2[0];
1624                sample += *srcs2[1];
1625                sample += *srcs3[0];
1626                sample += *srcs3[1];
1627                sample += *srcs4[0];
1628                sample += *srcs4[1];
1629                sample += *srcs5[0];
1630                sample += *srcs5[1];
1631                sample += *srcs6[0];
1632                sample += *srcs6[1];
1633                sample += *srcs7[0];
1634                sample += *srcs7[1];
1635                sample += *srcs8[0];
1636                sample += *srcs8[1];
1637                sample += *srcs9[0];
1638                sample += *srcs9[1];
1639                sample += *srcs10[0];
1640                sample += *srcs10[1];
1641                sample += *srcs11;
1642
1643                if(sample > max_audioval ) {
1644                        *dst = max_audioval;
1645                } else if(sample < min_audioval ) {
1646                        *dst = min_audioval;
1647                } else {
1648                        *dst = sample;
1649                }
1650
1651                srcs0[0]++;
1652                srcs0[1]++;
1653                srcs1[0]++;
1654                srcs1[1]++;
1655                srcs2[0]++;
1656                srcs2[1]++;
1657                srcs3[0]++;
1658                srcs3[1]++;
1659                srcs4[0]++;
1660                srcs4[1]++;
1661                srcs5[0]++;
1662                srcs5[1]++;
1663                srcs6[0]++;
1664                srcs6[1]++;
1665                srcs7[0]++;
1666                srcs7[1]++;
1667                srcs8[0]++;
1668                srcs8[1]++;
1669                srcs9[0]++;
1670                srcs9[1]++;
1671                srcs10[0]++;
1672                srcs10[1]++;
1673                srcs11++;
1674
1675
1676                dst++;
1677        }
1678       
1679        return;
1680}
1681
1682void MixAudio16_24(ALshort *dst, alMixEntry *entries) {
1683        ALshort *srcs0[2];
1684        ALshort *srcs1[2];
1685        ALshort *srcs2[2];
1686        ALshort *srcs3[2];
1687        ALshort *srcs4[2];
1688        ALshort *srcs5[2];
1689        ALshort *srcs6[2];
1690        ALshort *srcs7[2];
1691        ALshort *srcs8[2];
1692        ALshort *srcs9[2];
1693        ALshort *srcs10[2];
1694        ALshort *srcs11[2];
1695
1696        int len;
1697        int sample;
1698
1699        len = entries[0].bytes;
1700        len /= sizeof(ALshort);
1701
1702        srcs0[0] = entries[0].data;
1703        srcs0[1] = entries[1].data;
1704        srcs1[0] = entries[2].data;
1705        srcs1[1] = entries[3].data;
1706        srcs2[0] = entries[4].data;
1707        srcs2[1] = entries[5].data;
1708        srcs3[0] = entries[6].data;
1709        srcs3[1] = entries[7].data;
1710        srcs4[0] = entries[8].data;
1711        srcs4[1] = entries[9].data;
1712        srcs5[0] = entries[10].data;
1713        srcs5[1] = entries[11].data;
1714        srcs6[0] = entries[12].data;
1715        srcs6[1] = entries[13].data;
1716        srcs7[0] = entries[14].data;
1717        srcs7[1] = entries[15].data;
1718        srcs8[0] = entries[16].data;
1719        srcs8[1] = entries[17].data;
1720        srcs9[0] = entries[18].data;
1721        srcs9[1] = entries[19].data;
1722        srcs10[0] = entries[20].data;
1723        srcs10[1] = entries[21].data;
1724        srcs11[0] = entries[22].data;
1725        srcs11[1] = entries[23].data;
1726
1727
1728        while(len--) {
1729                sample = *srcs0[0];
1730                sample += *srcs0[1];
1731                sample += *srcs1[0];
1732                sample += *srcs1[1];
1733                sample += *srcs2[0];
1734                sample += *srcs2[1];
1735                sample += *srcs3[0];
1736                sample += *srcs3[1];
1737                sample += *srcs4[0];
1738                sample += *srcs4[1];
1739                sample += *srcs5[0];
1740                sample += *srcs5[1];
1741                sample += *srcs6[0];
1742                sample += *srcs6[1];
1743                sample += *srcs7[0];
1744                sample += *srcs7[1];
1745                sample += *srcs8[0];
1746                sample += *srcs8[1];
1747                sample += *srcs9[0];
1748                sample += *srcs9[1];
1749                sample += *srcs10[0];
1750                sample += *srcs10[1];
1751                sample += *srcs11[0];
1752                sample += *srcs11[1];
1753
1754                if(sample > max_audioval ) {
1755                        *dst = max_audioval;
1756                } else if(sample < min_audioval ) {
1757                        *dst = min_audioval;
1758                } else {
1759                        *dst = sample;
1760                }
1761
1762                srcs0[0]++;
1763                srcs0[1]++;
1764                srcs1[0]++;
1765                srcs1[1]++;
1766                srcs2[0]++;
1767                srcs2[1]++;
1768                srcs3[0]++;
1769                srcs3[1]++;
1770                srcs4[0]++;
1771                srcs4[1]++;
1772                srcs5[0]++;
1773                srcs5[1]++;
1774                srcs6[0]++;
1775                srcs6[1]++;
1776                srcs7[0]++;
1777                srcs7[1]++;
1778                srcs8[0]++;
1779                srcs8[1]++;
1780                srcs9[0]++;
1781                srcs9[1]++;
1782                srcs10[0]++;
1783                srcs10[1]++;
1784                srcs11[0]++;
1785                srcs11[1]++;
1786
1787
1788                dst++;
1789        }
1790       
1791        return;
1792}
1793
1794void MixAudio16_25(ALshort *dst, alMixEntry *entries) {
1795        ALshort *srcs0[2];
1796        ALshort *srcs1[2];
1797        ALshort *srcs2[2];
1798        ALshort *srcs3[2];
1799        ALshort *srcs4[2];
1800        ALshort *srcs5[2];
1801        ALshort *srcs6[2];
1802        ALshort *srcs7[2];
1803        ALshort *srcs8[2];
1804        ALshort *srcs9[2];
1805        ALshort *srcs10[2];
1806        ALshort *srcs11[2];
1807        ALshort *srcs12;
1808
1809        int len;
1810        int sample;
1811
1812        len = entries[0].bytes;
1813        len /= sizeof(ALshort);
1814
1815        srcs0[0] = entries[0].data;
1816        srcs0[1] = entries[1].data;
1817        srcs1[0] = entries[2].data;
1818        srcs1[1] = entries[3].data;
1819        srcs2[0] = entries[4].data;
1820        srcs2[1] = entries[5].data;
1821        srcs3[0] = entries[6].data;
1822        srcs3[1] = entries[7].data;
1823        srcs4[0] = entries[8].data;
1824        srcs4[1] = entries[9].data;
1825        srcs5[0] = entries[10].data;
1826        srcs5[1] = entries[11].data;
1827        srcs6[0] = entries[12].data;
1828        srcs6[1] = entries[13].data;
1829        srcs7[0] = entries[14].data;
1830        srcs7[1] = entries[15].data;
1831        srcs8[0] = entries[16].data;
1832        srcs8[1] = entries[17].data;
1833        srcs9[0] = entries[18].data;
1834        srcs9[1] = entries[19].data;
1835        srcs10[0] = entries[20].data;
1836        srcs10[1] = entries[21].data;
1837        srcs11[0] = entries[22].data;
1838        srcs11[1] = entries[23].data;
1839        srcs12    = entries[24].data;
1840
1841
1842        while(len--) {
1843                sample = *srcs0[0];
1844                sample += *srcs0[1];
1845                sample += *srcs1[0];
1846                sample += *srcs1[1];
1847                sample += *srcs2[0];
1848                sample += *srcs2[1];
1849                sample += *srcs3[0];
1850                sample += *srcs3[1];
1851                sample += *srcs4[0];
1852                sample += *srcs4[1];
1853                sample += *srcs5[0];
1854                sample += *srcs5[1];
1855                sample += *srcs6[0];
1856                sample += *srcs6[1];
1857                sample += *srcs7[0];
1858                sample += *srcs7[1];
1859                sample += *srcs8[0];
1860                sample += *srcs8[1];
1861                sample += *srcs9[0];
1862                sample += *srcs9[1];
1863                sample += *srcs10[0];
1864                sample += *srcs10[1];
1865                sample += *srcs11[0];
1866                sample += *srcs11[1];
1867                sample += *srcs12;
1868
1869                if(sample > max_audioval ) {
1870                        *dst = max_audioval;
1871                } else if(sample < min_audioval ) {
1872                        *dst = min_audioval;
1873                } else {
1874                        *dst = sample;
1875                }
1876
1877                srcs0[0]++;
1878                srcs0[1]++;
1879                srcs1[0]++;
1880                srcs1[1]++;
1881                srcs2[0]++;
1882                srcs2[1]++;
1883                srcs3[0]++;
1884                srcs3[1]++;
1885                srcs4[0]++;
1886                srcs4[1]++;
1887                srcs5[0]++;
1888                srcs5[1]++;
1889                srcs6[0]++;
1890                srcs6[1]++;
1891                srcs7[0]++;
1892                srcs7[1]++;
1893                srcs8[0]++;
1894                srcs8[1]++;
1895                srcs9[0]++;
1896                srcs9[1]++;
1897                srcs10[0]++;
1898                srcs10[1]++;
1899                srcs11[0]++;
1900                srcs11[1]++;
1901                srcs12++;
1902
1903
1904                dst++;
1905        }
1906       
1907        return;
1908}
1909
1910void MixAudio16_26(ALshort *dst, alMixEntry *entries) {
1911        ALshort *srcs0[2];
1912        ALshort *srcs1[2];
1913        ALshort *srcs2[2];
1914        ALshort *srcs3[2];
1915        ALshort *srcs4[2];
1916        ALshort *srcs5[2];
1917        ALshort *srcs6[2];
1918        ALshort *srcs7[2];
1919        ALshort *srcs8[2];
1920        ALshort *srcs9[2];
1921        ALshort *srcs10[2];
1922        ALshort *srcs11[2];
1923        ALshort *srcs12[2];
1924
1925        int len;
1926        int sample;
1927
1928        len = entries[0].bytes;
1929        len /= sizeof(ALshort);
1930
1931        srcs0[0] = entries[0].data;
1932        srcs0[1] = entries[1].data;
1933        srcs1[0] = entries[2].data;
1934        srcs1[1] = entries[3].data;
1935        srcs2[0] = entries[4].data;
1936        srcs2[1] = entries[5].data;
1937        srcs3[0] = entries[6].data;
1938        srcs3[1] = entries[7].data;
1939        srcs4[0] = entries[8].data;
1940        srcs4[1] = entries[9].data;
1941        srcs5[0] = entries[10].data;
1942        srcs5[1] = entries[11].data;
1943        srcs6[0] = entries[12].data;
1944        srcs6[1] = entries[13].data;
1945        srcs7[0] = entries[14].data;
1946        srcs7[1] = entries[15].data;
1947        srcs8[0] = entries[16].data;
1948        srcs8[1] = entries[17].data;
1949        srcs9[0] = entries[18].data;
1950        srcs9[1] = entries[19].data;
1951        srcs10[0] = entries[20].data;
1952        srcs10[1] = entries[21].data;
1953        srcs11[0] = entries[22].data;
1954        srcs11[1] = entries[23].data;
1955        srcs12[0] = entries[24].data;
1956        srcs12[1] = entries[25].data;
1957
1958
1959        while(len--) {
1960                sample = *srcs0[0];
1961                sample += *srcs0[1];
1962                sample += *srcs1[0];
1963                sample += *srcs1[1];
1964                sample += *srcs2[0];
1965                sample += *srcs2[1];
1966                sample += *srcs3[0];
1967                sample += *srcs3[1];
1968                sample += *srcs4[0];
1969                sample += *srcs4[1];
1970                sample += *srcs5[0];
1971                sample += *srcs5[1];
1972                sample += *srcs6[0];
1973                sample += *srcs6[1];
1974                sample += *srcs7[0];
1975                sample += *srcs7[1];
1976                sample += *srcs8[0];
1977                sample += *srcs8[1];
1978                sample += *srcs9[0];
1979                sample += *srcs9[1];
1980                sample += *srcs10[0];
1981                sample += *srcs10[1];
1982                sample += *srcs11[0];
1983                sample += *srcs11[1];
1984                sample += *srcs12[0];
1985                sample += *srcs12[1];
1986
1987                if(sample > max_audioval ) {
1988                        *dst = max_audioval;
1989                } else if(sample < min_audioval ) {
1990                        *dst = min_audioval;
1991                } else {
1992                        *dst = sample;
1993                }
1994
1995                srcs0[0]++;
1996                srcs0[1]++;
1997                srcs1[0]++;
1998                srcs1[1]++;
1999                srcs2[0]++;
2000                srcs2[1]++;
2001                srcs3[0]++;
2002                srcs3[1]++;
2003                srcs4[0]++;
2004                srcs4[1]++;
2005                srcs5[0]++;
2006                srcs5[1]++;
2007                srcs6[0]++;
2008                srcs6[1]++;
2009                srcs7[0]++;
2010                srcs7[1]++;
2011                srcs8[0]++;
2012                srcs8[1]++;
2013                srcs9[0]++;
2014                srcs9[1]++;
2015                srcs10[0]++;
2016                srcs10[1]++;
2017                srcs11[0]++;
2018                srcs11[1]++;
2019                srcs12[0]++;
2020                srcs12[1]++;
2021
2022
2023                dst++;
2024        }
2025       
2026        return;
2027}
2028
2029void MixAudio16_27(ALshort *dst, alMixEntry *entries) {
2030        ALshort *srcs0[2];
2031        ALshort *srcs1[2];
2032        ALshort *srcs2[2];
2033        ALshort *srcs3[2];
2034        ALshort *srcs4[2];
2035        ALshort *srcs5[2];
2036        ALshort *srcs6[2];
2037        ALshort *srcs7[2];
2038        ALshort *srcs8[2];
2039        ALshort *srcs9[2];
2040        ALshort *srcs10[2];
2041        ALshort *srcs11[2];
2042        ALshort *srcs12[2];
2043        ALshort *srcs13;
2044
2045        int len;
2046        int sample;
2047
2048        len = entries[0].bytes;
2049        len /= sizeof(ALshort);
2050
2051        srcs0[0] = entries[0].data;
2052        srcs0[1] = entries[1].data;
2053        srcs1[0] = entries[2].data;
2054        srcs1[1] = entries[3].data;
2055        srcs2[0] = entries[4].data;
2056        srcs2[1] = entries[5].data;
2057        srcs3[0] = entries[6].data;
2058        srcs3[1] = entries[7].data;
2059        srcs4[0] = entries[8].data;
2060        srcs4[1] = entries[9].data;
2061        srcs5[0] = entries[10].data;
2062        srcs5[1] = entries[11].data;
2063        srcs6[0] = entries[12].data;
2064        srcs6[1] = entries[13].data;
2065        srcs7[0] = entries[14].data;
2066        srcs7[1] = entries[15].data;
2067        srcs8[0] = entries[16].data;
2068        srcs8[1] = entries[17].data;
2069        srcs9[0] = entries[18].data;
2070        srcs9[1] = entries[19].data;
2071        srcs10[0] = entries[20].data;
2072        srcs10[1] = entries[21].data;
2073        srcs11[0] = entries[22].data;
2074        srcs11[1] = entries[23].data;
2075        srcs12[0] = entries[24].data;
2076        srcs12[1] = entries[25].data;
2077        srcs13    = entries[26].data;
2078
2079
2080        while(len--) {
2081                sample = *srcs0[0];
2082                sample += *srcs0[1];
2083                sample += *srcs1[0];
2084                sample += *srcs1[1];
2085                sample += *srcs2[0];
2086                sample += *srcs2[1];
2087                sample += *srcs3[0];
2088                sample += *srcs3[1];
2089                sample += *srcs4[0];
2090                sample += *srcs4[1];
2091                sample += *srcs5[0];
2092                sample += *srcs5[1];
2093                sample += *srcs6[0];
2094                sample += *srcs6[1];
2095                sample += *srcs7[0];
2096                sample += *srcs7[1];
2097                sample += *srcs8[0];
2098                sample += *srcs8[1];
2099                sample += *srcs9[0];
2100                sample += *srcs9[1];
2101                sample += *srcs10[0];
2102                sample += *srcs10[1];
2103                sample += *srcs11[0];
2104                sample += *srcs11[1];
2105                sample += *srcs12[0];
2106                sample += *srcs12[1];
2107                sample += *srcs13;
2108
2109                if(sample > max_audioval ) {
2110                        *dst = max_audioval;
2111                } else if(sample < min_audioval ) {
2112                        *dst = min_audioval;
2113                } else {
2114                        *dst = sample;
2115                }
2116
2117                srcs0[0]++;
2118                srcs0[1]++;
2119                srcs1[0]++;
2120                srcs1[1]++;
2121                srcs2[0]++;
2122                srcs2[1]++;
2123                srcs3[0]++;
2124                srcs3[1]++;
2125                srcs4[0]++;
2126                srcs4[1]++;
2127                srcs5[0]++;
2128                srcs5[1]++;
2129                srcs6[0]++;
2130                srcs6[1]++;
2131                srcs7[0]++;
2132                srcs7[1]++;
2133                srcs8[0]++;
2134                srcs8[1]++;
2135                srcs9[0]++;
2136                srcs9[1]++;
2137                srcs10[0]++;
2138                srcs10[1]++;
2139                srcs11[0]++;
2140                srcs11[1]++;
2141                srcs12[0]++;
2142                srcs12[1]++;
2143                srcs13++;
2144
2145
2146                dst++;
2147        }
2148       
2149        return;
2150}
2151
2152void MixAudio16_28(ALshort *dst, alMixEntry *entries) {
2153        ALshort *srcs0[2];
2154        ALshort *srcs1[2];
2155        ALshort *srcs2[2];
2156        ALshort *srcs3[2];
2157        ALshort *srcs4[2];
2158        ALshort *srcs5[2];
2159        ALshort *srcs6[2];
2160        ALshort *srcs7[2];
2161        ALshort *srcs8[2];
2162        ALshort *srcs9[2];
2163        ALshort *srcs10[2];
2164        ALshort *srcs11[2];
2165        ALshort *srcs12[2];
2166        ALshort *srcs13[2];
2167
2168        int len;
2169        int sample;
2170
2171        len = entries[0].bytes;
2172        len /= sizeof(ALshort);
2173
2174        srcs0[0] = entries[0].data;
2175        srcs0[1] = entries[1].data;
2176        srcs1[0] = entries[2].data;
2177        srcs1[1] = entries[3].data;
2178        srcs2[0] = entries[4].data;
2179        srcs2[1] = entries[5].data;
2180        srcs3[0] = entries[6].data;
2181        srcs3[1] = entries[7].data;
2182        srcs4[0] = entries[8].data;
2183        srcs4[1] = entries[9].data;
2184        srcs5[0] = entries[10].data;
2185        srcs5[1] = entries[11].data;
2186        srcs6[0] = entries[12].data;
2187        srcs6[1] = entries[13].data;
2188        srcs7[0] = entries[14].data;
2189        srcs7[1] = entries[15].data;
2190        srcs8[0] = entries[16].data;
2191        srcs8[1] = entries[17].data;
2192        srcs9[0] = entries[18].data;
2193        srcs9[1] = entries[19].data;
2194        srcs10[0] = entries[20].data;
2195        srcs10[1] = entries[21].data;
2196        srcs11[0] = entries[22].data;
2197        srcs11[1] = entries[23].data;
2198        srcs12[0] = entries[24].data;
2199        srcs12[1] = entries[25].data;
2200        srcs13[0] = entries[26].data;
2201        srcs13[1] = entries[27].data;
2202
2203
2204        while(len--) {
2205                sample = *srcs0[0];
2206                sample += *srcs0[1];
2207                sample += *srcs1[0];
2208                sample += *srcs1[1];
2209                sample += *srcs2[0];
2210                sample += *srcs2[1];
2211                sample += *srcs3[0];
2212                sample += *srcs3[1];
2213                sample += *srcs4[0];
2214                sample += *srcs4[1];
2215                sample += *srcs5[0];
2216                sample += *srcs5[1];
2217                sample += *srcs6[0];
2218                sample += *srcs6[1];
2219                sample += *srcs7[0];
2220                sample += *srcs7[1];
2221                sample += *srcs8[0];
2222                sample += *srcs8[1];
2223                sample += *srcs9[0];
2224                sample += *srcs9[1];
2225                sample += *srcs10[0];
2226                sample += *srcs10[1];
2227                sample += *srcs11[0];
2228                sample += *srcs11[1];
2229                sample += *srcs12[0];
2230                sample += *srcs12[1];
2231                sample += *srcs13[0];
2232                sample += *srcs13[1];
2233
2234                if(sample > max_audioval ) {
2235                        *dst = max_audioval;
2236                } else if(sample < min_audioval ) {
2237                        *dst = min_audioval;
2238                } else {
2239                        *dst = sample;
2240                }
2241
2242                srcs0[0]++;
2243                srcs0[1]++;
2244                srcs1[0]++;
2245                srcs1[1]++;
2246                srcs2[0]++;
2247                srcs2[1]++;
2248                srcs3[0]++;
2249                srcs3[1]++;
2250                srcs4[0]++;
2251                srcs4[1]++;
2252                srcs5[0]++;
2253                srcs5[1]++;
2254                srcs6[0]++;
2255                srcs6[1]++;
2256                srcs7[0]++;
2257                srcs7[1]++;
2258                srcs8[0]++;
2259                srcs8[1]++;
2260                srcs9[0]++;
2261                srcs9[1]++;
2262                srcs10[0]++;
2263                srcs10[1]++;
2264                srcs11[0]++;
2265                srcs11[1]++;
2266                srcs12[0]++;
2267                srcs12[1]++;
2268                srcs13[0]++;
2269                srcs13[1]++;
2270
2271
2272                dst++;
2273        }
2274       
2275        return;
2276}
2277
2278void MixAudio16_29(ALshort *dst, alMixEntry *entries) {
2279        ALshort *srcs0[2];
2280        ALshort *srcs1[2];
2281        ALshort *srcs2[2];
2282        ALshort *srcs3[2];
2283        ALshort *srcs4[2];
2284        ALshort *srcs5[2];
2285        ALshort *srcs6[2];
2286        ALshort *srcs7[2];
2287        ALshort *srcs8[2];
2288        ALshort *srcs9[2];
2289        ALshort *srcs10[2];
2290        ALshort *srcs11[2];
2291        ALshort *srcs12[2];
2292        ALshort *srcs13[2];
2293        ALshort *srcs14;
2294
2295        int len;
2296        int sample;
2297
2298        len = entries[0].bytes;
2299        len /= sizeof(ALshort);
2300
2301        srcs0[0] = entries[0].data;
2302        srcs0[1] = entries[1].data;
2303        srcs1[0] = entries[2].data;
2304        srcs1[1] = entries[3].data;
2305        srcs2[0] = entries[4].data;
2306        srcs2[1] = entries[5].data;
2307        srcs3[0] = entries[6].data;
2308        srcs3[1] = entries[7].data;
2309        srcs4[0] = entries[8].data;
2310        srcs4[1] = entries[9].data;
2311        srcs5[0] = entries[10].data;
2312        srcs5[1] = entries[11].data;
2313        srcs6[0] = entries[12].data;
2314        srcs6[1] = entries[13].data;
2315        srcs7[0] = entries[14].data;
2316        srcs7[1] = entries[15].data;
2317        srcs8[0] = entries[16].data;
2318        srcs8[1] = entries[17].data;
2319        srcs9[0] = entries[18].data;
2320        srcs9[1] = entries[19].data;
2321        srcs10[0] = entries[20].data;
2322        srcs10[1] = entries[21].data;
2323        srcs11[0] = entries[22].data;
2324        srcs11[1] = entries[23].data;
2325        srcs12[0] = entries[24].data;
2326        srcs12[1] = entries[25].data;
2327        srcs13[0] = entries[26].data;
2328        srcs13[1] = entries[27].data;
2329        srcs14    = entries[28].data;
2330
2331
2332        while(len--) {
2333                sample = *srcs0[0];
2334                sample += *srcs0[1];
2335                sample += *srcs1[0];
2336                sample += *srcs1[1];
2337                sample += *srcs2[0];
2338                sample += *srcs2[1];
2339                sample += *srcs3[0];
2340                sample += *srcs3[1];
2341                sample += *srcs4[0];
2342                sample += *srcs4[1];
2343                sample += *srcs5[0];
2344                sample += *srcs5[1];
2345                sample += *srcs6[0];
2346                sample += *srcs6[1];
2347                sample += *srcs7[0];
2348                sample += *srcs7[1];
2349                sample += *srcs8[0];
2350                sample += *srcs8[1];
2351                sample += *srcs9[0];
2352                sample += *srcs9[1];
2353                sample += *srcs10[0];
2354                sample += *srcs10[1];
2355                sample += *srcs11[0];
2356                sample += *srcs11[1];
2357                sample += *srcs12[0];
2358                sample += *srcs12[1];
2359                sample += *srcs13[0];
2360                sample += *srcs13[1];
2361                sample += *srcs14;
2362
2363                if(sample > max_audioval ) {
2364                        *dst = max_audioval;
2365                } else if(sample < min_audioval ) {
2366                        *dst = min_audioval;
2367                } else {
2368                        *dst = sample;
2369                }
2370
2371                srcs0[0]++;
2372                srcs0[1]++;
2373                srcs1[0]++;
2374                srcs1[1]++;
2375                srcs2[0]++;
2376                srcs2[1]++;
2377                srcs3[0]++;
2378                srcs3[1]++;
2379                srcs4[0]++;
2380                srcs4[1]++;
2381                srcs5[0]++;
2382                srcs5[1]++;
2383                srcs6[0]++;
2384                srcs6[1]++;
2385                srcs7[0]++;
2386                srcs7[1]++;
2387                srcs8[0]++;
2388                srcs8[1]++;
2389                srcs9[0]++;
2390                srcs9[1]++;
2391                srcs10[0]++;
2392                srcs10[1]++;
2393                srcs11[0]++;
2394                srcs11[1]++;
2395                srcs12[0]++;
2396                srcs12[1]++;
2397                srcs13[0]++;
2398                srcs13[1]++;
2399                srcs14++;
2400
2401
2402                dst++;
2403        }
2404       
2405        return;
2406}
2407
2408void MixAudio16_30(ALshort *dst, alMixEntry *entries) {
2409        ALshort *srcs0[2];
2410        ALshort *srcs1[2];
2411        ALshort *srcs2[2];
2412        ALshort *srcs3[2];
2413        ALshort *srcs4[2];
2414        ALshort *srcs5[2];
2415        ALshort *srcs6[2];
2416        ALshort *srcs7[2];
2417        ALshort *srcs8[2];
2418        ALshort *srcs9[2];
2419        ALshort *srcs10[2];
2420        ALshort *srcs11[2];
2421        ALshort *srcs12[2];
2422        ALshort *srcs13[2];
2423        ALshort *srcs14[2];
2424
2425        int len;
2426        int sample;
2427
2428        len = entries[0].bytes;
2429        len /= sizeof(ALshort);
2430
2431        srcs0[0] = entries[0].data;
2432        srcs0[1] = entries[1].data;
2433        srcs1[0] = entries[2].data;
2434        srcs1[1] = entries[3].data;
2435        srcs2[0] = entries[4].data;
2436        srcs2[1] = entries[5].data;
2437        srcs3[0] = entries[6].data;
2438        srcs3[1] = entries[7].data;
2439        srcs4[0] = entries[8].data;
2440        srcs4[1] = entries[9].data;
2441        srcs5[0] = entries[10].data;
2442        srcs5[1] = entries[11].data;
2443        srcs6[0] = entries[12].data;
2444        srcs6[1] = entries[13].data;
2445        srcs7[0] = entries[14].data;
2446        srcs7[1] = entries[15].data;
2447        srcs8[0] = entries[16].data;
2448        srcs8[1] = entries[17].data;
2449        srcs9[0] = entries[18].data;
2450        srcs9[1] = entries[19].data;
2451        srcs10[0] = entries[20].data;
2452        srcs10[1] = entries[21].data;
2453        srcs11[0] = entries[22].data;
2454        srcs11[1] = entries[23].data;
2455        srcs12[0] = entries[24].data;
2456        srcs12[1] = entries[25].data;
2457        srcs13[0] = entries[26].data;
2458        srcs13[1] = entries[27].data;
2459        srcs14[0] = entries[28].data;
2460        srcs14[1] = entries[29].data;
2461
2462
2463        while(len--) {
2464                sample = *srcs0[0];
2465                sample += *srcs0[1];
2466                sample += *srcs1[0];
2467                sample += *srcs1[1];
2468                sample += *srcs2[0];
2469                sample += *srcs2[1];
2470                sample += *srcs3[0];
2471                sample += *srcs3[1];
2472                sample += *srcs4[0];
2473                sample += *srcs4[1];
2474                sample += *srcs5[0];
2475                sample += *srcs5[1];
2476                sample += *srcs6[0];
2477                sample += *srcs6[1];
2478                sample += *srcs7[0];
2479                sample += *srcs7[1];
2480                sample += *srcs8[0];
2481                sample += *srcs8[1];
2482                sample += *srcs9[0];
2483                sample += *srcs9[1];
2484                sample += *srcs10[0];
2485                sample += *srcs10[1];
2486                sample += *srcs11[0];
2487                sample += *srcs11[1];
2488                sample += *srcs12[0];
2489                sample += *srcs12[1];
2490                sample += *srcs13[0];
2491                sample += *srcs13[1];
2492                sample += *srcs14[0];
2493                sample += *srcs14[1];
2494
2495                if(sample > max_audioval ) {
2496                        *dst = max_audioval;
2497                } else if(sample < min_audioval ) {
2498                        *dst = min_audioval;
2499                } else {
2500                        *dst = sample;
2501                }
2502
2503                srcs0[0]++;
2504                srcs0[1]++;
2505                srcs1[0]++;
2506                srcs1[1]++;
2507                srcs2[0]++;
2508                srcs2[1]++;
2509                srcs3[0]++;
2510                srcs3[1]++;
2511                srcs4[0]++;
2512                srcs4[1]++;
2513                srcs5[0]++;
2514                srcs5[1]++;
2515                srcs6[0]++;
2516                srcs6[1]++;
2517                srcs7[0]++;
2518                srcs7[1]++;
2519                srcs8[0]++;
2520                srcs8[1]++;
2521                srcs9[0]++;
2522                srcs9[1]++;
2523                srcs10[0]++;
2524                srcs10[1]++;
2525                srcs11[0]++;
2526                srcs11[1]++;
2527                srcs12[0]++;
2528                srcs12[1]++;
2529                srcs13[0]++;
2530                srcs13[1]++;
2531                srcs14[0]++;
2532                srcs14[1]++;
2533
2534
2535                dst++;
2536        }
2537       
2538        return;
2539}
2540
2541void MixAudio16_31(ALshort *dst, alMixEntry *entries) {
2542        ALshort *srcs0[2];
2543        ALshort *srcs1[2];
2544        ALshort *srcs2[2];
2545        ALshort *srcs3[2];
2546        ALshort *srcs4[2];
2547        ALshort *srcs5[2];
2548        ALshort *srcs6[2];
2549        ALshort *srcs7[2];
2550        ALshort *srcs8[2];
2551        ALshort *srcs9[2];
2552        ALshort *srcs10[2];
2553        ALshort *srcs11[2];
2554        ALshort *srcs12[2];
2555        ALshort *srcs13[2];
2556        ALshort *srcs14[2];
2557        ALshort *srcs15;
2558
2559        int len;
2560        int sample;
2561
2562        len = entries[0].bytes;
2563        len /= sizeof(ALshort);
2564
2565        srcs0[0] = entries[0].data;
2566        srcs0[1] = entries[1].data;
2567        srcs1[0] = entries[2].data;
2568        srcs1[1] = entries[3].data;
2569        srcs2[0] = entries[4].data;
2570        srcs2[1] = entries[5].data;
2571        srcs3[0] = entries[6].data;
2572        srcs3[1] = entries[7].data;
2573        srcs4[0] = entries[8].data;
2574        srcs4[1] = entries[9].data;
2575        srcs5[0] = entries[10].data;
2576        srcs5[1] = entries[11].data;
2577        srcs6[0] = entries[12].data;
2578        srcs6[1] = entries[13].data;
2579        srcs7[0] = entries[14].data;
2580        srcs7[1] = entries[15].data;
2581        srcs8[0] = entries[16].data;
2582        srcs8[1] = entries[17].data;
2583        srcs9[0] = entries[18].data;
2584        srcs9[1] = entries[19].data;
2585        srcs10[0] = entries[20].data;
2586        srcs10[1] = entries[21].data;
2587        srcs11[0] = entries[22].data;
2588        srcs11[1] = entries[23].data;
2589        srcs12[0] = entries[24].data;
2590        srcs12[1] = entries[25].data;
2591        srcs13[0] = entries[26].data;
2592        srcs13[1] = entries[27].data;
2593        srcs14[0] = entries[28].data;
2594        srcs14[1] = entries[29].data;
2595        srcs15    = entries[30].data;
2596
2597
2598        while(len--) {
2599                sample = *srcs0[0];
2600                sample += *srcs0[1];
2601                sample += *srcs1[0];
2602                sample += *srcs1[1];
2603                sample += *srcs2[0];
2604                sample += *srcs2[1];
2605                sample += *srcs3[0];
2606                sample += *srcs3[1];
2607                sample += *srcs4[0];
2608                sample += *srcs4[1];
2609                sample += *srcs5[0];
2610                sample += *srcs5[1];
2611                sample += *srcs6[0];
2612                sample += *srcs6[1];
2613                sample += *srcs7[0];
2614                sample += *srcs7[1];
2615                sample += *srcs8[0];
2616                sample += *srcs8[1];
2617                sample += *srcs9[0];
2618                sample += *srcs9[1];
2619                sample += *srcs10[0];
2620                sample += *srcs10[1];
2621                sample += *srcs11[0];
2622                sample += *srcs11[1];
2623                sample += *srcs12[0];
2624                sample += *srcs12[1];
2625                sample += *srcs13[0];
2626                sample += *srcs13[1];
2627                sample += *srcs14[0];
2628                sample += *srcs14[1];
2629                sample += *srcs15;
2630
2631                if(sample > max_audioval ) {
2632                        *dst = max_audioval;
2633                } else if(sample < min_audioval ) {
2634                        *dst = min_audioval;
2635                } else {
2636                        *dst = sample;
2637                }
2638
2639                srcs0[0]++;
2640                srcs0[1]++;
2641                srcs1[0]++;
2642                srcs1[1]++;
2643                srcs2[0]++;
2644                srcs2[1]++;
2645                srcs3[0]++;
2646                srcs3[1]++;
2647                srcs4[0]++;
2648                srcs4[1]++;
2649                srcs5[0]++;
2650                srcs5[1]++;
2651                srcs6[0]++;
2652                srcs6[1]++;
2653                srcs7[0]++;
2654                srcs7[1]++;
2655                srcs8[0]++;
2656                srcs8[1]++;
2657                srcs9[0]++;
2658                srcs9[1]++;
2659                srcs10[0]++;
2660                srcs10[1]++;
2661                srcs11[0]++;
2662                srcs11[1]++;
2663                srcs12[0]++;
2664                srcs12[1]++;
2665                srcs13[0]++;
2666                srcs13[1]++;
2667                srcs14[0]++;
2668                srcs14[1]++;
2669                srcs15++;
2670
2671
2672                dst++;
2673        }
2674       
2675        return;
2676}
2677
2678void MixAudio16_32(ALshort *dst, alMixEntry *entries) {
2679        ALshort *srcs0[2];
2680        ALshort *srcs1[2];
2681        ALshort *srcs2[2];
2682        ALshort *srcs3[2];
2683        ALshort *srcs4[2];
2684        ALshort *srcs5[2];
2685        ALshort *srcs6[2];
2686        ALshort *srcs7[2];
2687        ALshort *srcs8[2];
2688        ALshort *srcs9[2];
2689        ALshort *srcs10[2];
2690        ALshort *srcs11[2];
2691        ALshort *srcs12[2];
2692        ALshort *srcs13[2];
2693        ALshort *srcs14[2];
2694        ALshort *srcs15[2];
2695
2696        int len;
2697        int sample;
2698
2699        len = entries[0].bytes;
2700        len /= sizeof(ALshort);
2701
2702        srcs0[0] = entries[0].data;
2703        srcs0[1] = entries[1].data;
2704        srcs1[0] = entries[2].data;
2705        srcs1[1] = entries[3].data;
2706        srcs2[0] = entries[4].data;
2707        srcs2[1] = entries[5].data;
2708        srcs3[0] = entries[6].data;
2709        srcs3[1] = entries[7].data;
2710        srcs4[0] = entries[8].data;
2711        srcs4[1] = entries[9].data;
2712        srcs5[0] = entries[10].data;
2713        srcs5[1] = entries[11].data;
2714        srcs6[0] = entries[12].data;
2715        srcs6[1] = entries[13].data;
2716        srcs7[0] = entries[14].data;
2717        srcs7[1] = entries[15].data;
2718        srcs8[0] = entries[16].data;
2719        srcs8[1] = entries[17].data;
2720        srcs9[0] = entries[18].data;
2721        srcs9[1] = entries[19].data;
2722        srcs10[0] = entries[20].data;
2723        srcs10[1] = entries[21].data;
2724        srcs11[0] = entries[22].data;
2725        srcs11[1] = entries[23].data;
2726        srcs12[0] = entries[24].data;
2727        srcs12[1] = entries[25].data;
2728        srcs13[0] = entries[26].data;
2729        srcs13[1] = entries[27].data;
2730        srcs14[0] = entries[28].data;
2731        srcs14[1] = entries[29].data;
2732        srcs15[0] = entries[30].data;
2733        srcs15[1] = entries[31].data;
2734
2735
2736        while(len--) {
2737                sample = *srcs0[0];
2738                sample += *srcs0[1];
2739                sample += *srcs1[0];
2740                sample += *srcs1[1];
2741                sample += *srcs2[0];
2742                sample += *srcs2[1];
2743                sample += *srcs3[0];
2744                sample += *srcs3[1];
2745                sample += *srcs4[0];
2746                sample += *srcs4[1];
2747                sample += *srcs5[0];
2748                sample += *srcs5[1];
2749                sample += *srcs6[0];
2750                sample += *srcs6[1];
2751                sample += *srcs7[0];
2752                sample += *srcs7[1];
2753                sample += *srcs8[0];
2754                sample += *srcs8[1];
2755                sample += *srcs9[0];
2756                sample += *srcs9[1];
2757                sample += *srcs10[0];
2758                sample += *srcs10[1];
2759                sample += *srcs11[0];
2760                sample += *srcs11[1];
2761                sample += *srcs12[0];
2762                sample += *srcs12[1];
2763                sample += *srcs13[0];
2764                sample += *srcs13[1];
2765                sample += *srcs14[0];
2766                sample += *srcs14[1];
2767                sample += *srcs15[0];
2768                sample += *srcs15[1];
2769
2770                if(sample > max_audioval ) {
2771                        *dst = max_audioval;
2772                } else if(sample < min_audioval ) {
2773                        *dst = min_audioval;
2774                } else {
2775                        *dst = sample;
2776                }
2777
2778                srcs0[0]++;
2779                srcs0[1]++;
2780                srcs1[0]++;
2781                srcs1[1]++;
2782                srcs2[0]++;
2783                srcs2[1]++;
2784                srcs3[0]++;
2785                srcs3[1]++;
2786                srcs4[0]++;
2787                srcs4[1]++;
2788                srcs5[0]++;
2789                srcs5[1]++;
2790                srcs6[0]++;
2791                srcs6[1]++;
2792                srcs7[0]++;
2793                srcs7[1]++;
2794                srcs8[0]++;
2795                srcs8[1]++;
2796                srcs9[0]++;
2797                srcs9[1]++;
2798                srcs10[0]++;
2799                srcs10[1]++;
2800                srcs11[0]++;
2801                srcs11[1]++;
2802                srcs12[0]++;
2803                srcs12[1]++;
2804                srcs13[0]++;
2805                srcs13[1]++;
2806                srcs14[0]++;
2807                srcs14[1]++;
2808                srcs15[0]++;
2809                srcs15[1]++;
2810
2811
2812                dst++;
2813        }
2814       
2815        return;
2816}
2817
2818void MixAudio16_33(ALshort *dst, alMixEntry *entries) {
2819        ALshort *srcs0[2];
2820        ALshort *srcs1[2];
2821        ALshort *srcs2[2];
2822        ALshort *srcs3[2];
2823        ALshort *srcs4[2];
2824        ALshort *srcs5[2];
2825        ALshort *srcs6[2];
2826        ALshort *srcs7[2];
2827        ALshort *srcs8[2];
2828        ALshort *srcs9[2];
2829        ALshort *srcs10[2];
2830        ALshort *srcs11[2];
2831        ALshort *srcs12[2];
2832        ALshort *srcs13[2];
2833        ALshort *srcs14[2];
2834        ALshort *srcs15[2];
2835        ALshort *srcs16;
2836
2837        int len;
2838        int sample;
2839
2840        len = entries[0].bytes;
2841        len /= sizeof(ALshort);
2842
2843        srcs0[0] = entries[0].data;
2844        srcs0[1] = entries[1].data;
2845        srcs1[0] = entries[2].data;
2846        srcs1[1] = entries[3].data;
2847        srcs2[0] = entries[4].data;
2848        srcs2[1] = entries[5].data;
2849        srcs3[0] = entries[6].data;
2850        srcs3[1] = entries[7].data;
2851        srcs4[0] = entries[8].data;
2852        srcs4[1] = entries[9].data;
2853        srcs5[0] = entries[10].data;
2854        srcs5[1] = entries[11].data;
2855        srcs6[0] = entries[12].data;
2856        srcs6[1] = entries[13].data;
2857        srcs7[0] = entries[14].data;
2858        srcs7[1] = entries[15].data;
2859        srcs8[0] = entries[16].data;
2860        srcs8[1] = entries[17].data;
2861        srcs9[0] = entries[18].data;
2862        srcs9[1] = entries[19].data;
2863        srcs10[0] = entries[20].data;
2864        srcs10[1] = entries[21].data;
2865        srcs11[0] = entries[22].data;
2866        srcs11[1] = entries[23].data;
2867        srcs12[0] = entries[24].data;
2868        srcs12[1] = entries[25].data;
2869        srcs13[0] = entries[26].data;
2870        srcs13[1] = entries[27].data;
2871        srcs14[0] = entries[28].data;
2872        srcs14[1] = entries[29].data;
2873        srcs15[0] = entries[30].data;
2874        srcs15[1] = entries[31].data;
2875        srcs16    = entries[32].data;
2876
2877
2878        while(len--) {
2879                sample = *srcs0[0];
2880                sample += *srcs0[1];
2881                sample += *srcs1[0];
2882                sample += *srcs1[1];
2883                sample += *srcs2[0];
2884                sample += *srcs2[1];
2885                sample += *srcs3[0];
2886                sample += *srcs3[1];
2887                sample += *srcs4[0];
2888                sample += *srcs4[1];
2889                sample += *srcs5[0];
2890                sample += *srcs5[1];
2891                sample += *srcs6[0];
2892                sample += *srcs6[1];
2893                sample += *srcs7[0];
2894                sample += *srcs7[1];
2895                sample += *srcs8[0];
2896                sample += *srcs8[1];
2897                sample += *srcs9[0];
2898                sample += *srcs9[1];
2899                sample += *srcs10[0];
2900                sample += *srcs10[1];
2901                sample += *srcs11[0];
2902                sample += *srcs11[1];
2903                sample += *srcs12[0];
2904                sample += *srcs12[1];
2905                sample += *srcs13[0];
2906                sample += *srcs13[1];
2907                sample += *srcs14[0];
2908                sample += *srcs14[1];
2909                sample += *srcs15[0];
2910                sample += *srcs15[1];
2911                sample += *srcs16;
2912
2913                if(sample > max_audioval ) {
2914                        *dst = max_audioval;
2915                } else if(sample < min_audioval ) {
2916                        *dst = min_audioval;
2917                } else {
2918                        *dst = sample;
2919                }
2920
2921                srcs0[0]++;
2922                srcs0[1]++;
2923                srcs1[0]++;
2924                srcs1[1]++;
2925                srcs2[0]++;
2926                srcs2[1]++;
2927                srcs3[0]++;
2928                srcs3[1]++;
2929                srcs4[0]++;
2930                srcs4[1]++;
2931                srcs5[0]++;
2932                srcs5[1]++;
2933                srcs6[0]++;
2934                srcs6[1]++;
2935                srcs7[0]++;
2936                srcs7[1]++;
2937                srcs8[0]++;
2938                srcs8[1]++;
2939                srcs9[0]++;
2940                srcs9[1]++;
2941                srcs10[0]++;
2942                srcs10[1]++;
2943                srcs11[0]++;
2944                srcs11[1]++;
2945                srcs12[0]++;
2946                srcs12[1]++;
2947                srcs13[0]++;
2948                srcs13[1]++;
2949                srcs14[0]++;
2950                srcs14[1]++;
2951                srcs15[0]++;
2952                srcs15[1]++;
2953                srcs16++;
2954
2955
2956                dst++;
2957        }
2958       
2959        return;
2960}
2961
2962void MixAudio16_34(ALshort *dst, alMixEntry *entries) {
2963        ALshort *srcs0[2];
2964        ALshort *srcs1[2];
2965        ALshort *srcs2[2];
2966        ALshort *srcs3[2];
2967        ALshort *srcs4[2];
2968        ALshort *srcs5[2];
2969        ALshort *srcs6[2];
2970        ALshort *srcs7[2];
2971        ALshort *srcs8[2];
2972        ALshort *srcs9[2];
2973        ALshort *srcs10[2];
2974        ALshort *srcs11[2];
2975        ALshort *srcs12[2];
2976        ALshort *srcs13[2];
2977        ALshort *srcs14[2];
2978        ALshort *srcs15[2];
2979        ALshort *srcs16[2];
2980
2981        int len;
2982        int sample;
2983
2984        len = entries[0].bytes;
2985        len /= sizeof(ALshort);
2986
2987        srcs0[0] = entries[0].data;
2988        srcs0[1] = entries[1].data;
2989        srcs1[0] = entries[2].data;
2990        srcs1[1] = entries[3].data;
2991        srcs2[0] = entries[4].data;
2992        srcs2[1] = entries[5].data;
2993        srcs3[0] = entries[6].data;
2994        srcs3[1] = entries[7].data;
2995        srcs4[0] = entries[8].data;
2996        srcs4[1] = entries[9].data;
2997        srcs5[0] = entries[10].data;
2998        srcs5[1] = entries[11].data;
2999        srcs6[0] = entries[12].data;
3000        srcs6[1] = entries[13].data;
3001        srcs7[0] = entries[14].data;
3002        srcs7[1] = entries[15].data;
3003        srcs8[0] = entries[16].data;
3004        srcs8[1] = entries[17].data;
3005        srcs9[0] = entries[18].data;
3006        srcs9[1] = entries[19].data;
3007        srcs10[0] = entries[20].data;
3008        srcs10[1] = entries[21].data;
3009        srcs11[0] = entries[22].data;
3010        srcs11[1] = entries[23].data;
3011        srcs12[0] = entries[24].data;
3012        srcs12[1] = entries[25].data;
3013        srcs13[0] = entries[26].data;
3014        srcs13[1] = entries[27].data;
3015        srcs14[0] = entries[28].data;
3016        srcs14[1] = entries[29].data;
3017        srcs15[0] = entries[30].data;
3018        srcs15[1] = entries[31].data;
3019        srcs16[0] = entries[32].data;
3020        srcs16[1] = entries[33].data;
3021
3022
3023        while(len--) {
3024                sample = *srcs0[0];
3025                sample += *srcs0[1];
3026                sample += *srcs1[0];
3027                sample += *srcs1[1];
3028                sample += *srcs2[0];
3029                sample += *srcs2[1];
3030                sample += *srcs3[0];
3031                sample += *srcs3[1];
3032                sample += *srcs4[0];
3033                sample += *srcs4[1];
3034                sample += *srcs5[0];
3035                sample += *srcs5[1];
3036                sample += *srcs6[0];
3037                sample += *srcs6[1];
3038                sample += *srcs7[0];
3039                sample += *srcs7[1];
3040                sample += *srcs8[0];
3041                sample += *srcs8[1];
3042                sample += *srcs9[0];
3043                sample += *srcs9[1];
3044                sample += *srcs10[0];
3045                sample += *srcs10[1];
3046                sample += *srcs11[0];
3047                sample += *srcs11[1];
3048                sample += *srcs12[0];
3049                sample += *srcs12[1];
3050                sample += *srcs13[0];
3051                sample += *srcs13[1];
3052                sample += *srcs14[0];
3053                sample += *srcs14[1];
3054                sample += *srcs15[0];
3055                sample += *srcs15[1];
3056                sample += *srcs16[0];
3057                sample += *srcs16[1];
3058
3059                if(sample > max_audioval ) {
3060                        *dst = max_audioval;
3061                } else if(sample < min_audioval ) {
3062                        *dst = min_audioval;
3063                } else {
3064                        *dst = sample;
3065                }
3066
3067                srcs0[0]++;
3068                srcs0[1]++;
3069                srcs1[0]++;
3070                srcs1[1]++;
3071                srcs2[0]++;
3072                srcs2[1]++;
3073                srcs3[0]++;
3074                srcs3[1]++;
3075                srcs4[0]++;
3076                srcs4[1]++;
3077                srcs5[0]++;
3078                srcs5[1]++;
3079                srcs6[0]++;
3080                srcs6[1]++;
3081                srcs7[0]++;
3082                srcs7[1]++;
3083                srcs8[0]++;
3084                srcs8[1]++;
3085                srcs9[0]++;
3086                srcs9[1]++;
3087                srcs10[0]++;
3088                srcs10[1]++;
3089                srcs11[0]++;
3090                srcs11[1]++;
3091                srcs12[0]++;
3092                srcs12[1]++;
3093                srcs13[0]++;
3094                srcs13[1]++;
3095                srcs14[0]++;
3096                srcs14[1]++;
3097                srcs15[0]++;
3098                srcs15[1]++;
3099                srcs16[0]++;
3100                srcs16[1]++;
3101
3102
3103                dst++;
3104        }
3105       
3106        return;
3107}
3108
3109void MixAudio16_35(ALshort *dst, alMixEntry *entries) {
3110        ALshort *srcs0[2];
3111        ALshort *srcs1[2];
3112        ALshort *srcs2[2];
3113        ALshort *srcs3[2];
3114        ALshort *srcs4[2];
3115        ALshort *srcs5[2];
3116        ALshort *srcs6[2];
3117        ALshort *srcs7[2];
3118        ALshort *srcs8[2];
3119        ALshort *srcs9[2];
3120        ALshort *srcs10[2];
3121        ALshort *srcs11[2];
3122        ALshort *srcs12[2];
3123        ALshort *srcs13[2];
3124        ALshort *srcs14[2];
3125        ALshort *srcs15[2];
3126        ALshort *srcs16[2];
3127        ALshort *srcs17;
3128
3129        int len;
3130        int sample;
3131
3132        len = entries[0].bytes;
3133        len /= sizeof(ALshort);
3134
3135        srcs0[0] = entries[0].data;
3136        srcs0[1] = entries[1].data;
3137        srcs1[0] = entries[2].data;
3138        srcs1[1] = entries[3].data;
3139        srcs2[0] = entries[4].data;
3140        srcs2[1] = entries[5].data;
3141        srcs3[0] = entries[6].data;
3142        srcs3[1] = entries[7].data;
3143        srcs4[0] = entries[8].data;
3144        srcs4[1] = entries[9].data;
3145        srcs5[0] = entries[10].data;
3146        srcs5[1] = entries[11].data;
3147        srcs6[0] = entries[12].data;
3148        srcs6[1] = entries[13].data;
3149        srcs7[0] = entries[14].data;
3150        srcs7[1] = entries[15].data;
3151        srcs8[0] = entries[16].data;
3152        srcs8[1] = entries[17].data;
3153        srcs9[0] = entries[18].data;
3154        srcs9[1] = entries[19].data;
3155        srcs10[0] = entries[20].data;
3156        srcs10[1] = entries[21].data;
3157        srcs11[0] = entries[22].data;
3158        srcs11[1] = entries[23].data;
3159        srcs12[0] = entries[24].data;
3160        srcs12[1] = entries[25].data;
3161        srcs13[0] = entries[26].data;
3162        srcs13[1] = entries[27].data;
3163        srcs14[0] = entries[28].data;
3164        srcs14[1] = entries[29].data;
3165        srcs15[0] = entries[30].data;
3166        srcs15[1] = entries[31].data;
3167        srcs16[0] = entries[32].data;
3168        srcs16[1] = entries[33].data;
3169        srcs17    = entries[34].data;
3170
3171
3172        while(len--) {
3173                sample = *srcs0[0];
3174                sample += *srcs0[1];
3175                sample += *srcs1[0];
3176                sample += *srcs1[1];
3177                sample += *srcs2[0];
3178                sample += *srcs2[1];
3179                sample += *srcs3[0];
3180                sample += *srcs3[1];
3181                sample += *srcs4[0];
3182                sample += *srcs4[1];
3183                sample += *srcs5[0];
3184                sample += *srcs5[1];
3185                sample += *srcs6[0];
3186                sample += *srcs6[1];
3187                sample += *srcs7[0];
3188                sample += *srcs7[1];
3189                sample += *srcs8[0];
3190                sample += *srcs8[1];
3191                sample += *srcs9[0];
3192                sample += *srcs9[1];
3193                sample += *srcs10[0];
3194                sample += *srcs10[1];
3195                sample += *srcs11[0];
3196                sample += *srcs11[1];
3197                sample += *srcs12[0];
3198                sample += *srcs12[1];
3199                sample += *srcs13[0];
3200                sample += *srcs13[1];
3201                sample += *srcs14[0];
3202                sample += *srcs14[1];
3203                sample += *srcs15[0];
3204                sample += *srcs15[1];
3205                sample += *srcs16[0];
3206                sample += *srcs16[1];
3207                sample += *srcs17;
3208
3209                if(sample > max_audioval ) {
3210                        *dst = max_audioval;
3211                } else if(sample < min_audioval ) {
3212                        *dst = min_audioval;
3213                } else {
3214                        *dst = sample;
3215                }
3216
3217                srcs0[0]++;
3218                srcs0[1]++;
3219                srcs1[0]++;
3220                srcs1[1]++;
3221                srcs2[0]++;
3222                srcs2[1]++;
3223                srcs3[0]++;
3224                srcs3[1]++;
3225                srcs4[0]++;
3226                srcs4[1]++;
3227                srcs5[0]++;
3228                srcs5[1]++;
3229                srcs6[0]++;
3230                srcs6[1]++;
3231                srcs7[0]++;
3232                srcs7[1]++;
3233                srcs8[0]++;
3234                srcs8[1]++;
3235                srcs9[0]++;
3236                srcs9[1]++;
3237                srcs10[0]++;
3238                srcs10[1]++;
3239                srcs11[0]++;
3240                srcs11[1]++;
3241                srcs12[0]++;
3242                srcs12[1]++;
3243                srcs13[0]++;
3244                srcs13[1]++;
3245                srcs14[0]++;
3246                srcs14[1]++;
3247                srcs15[0]++;
3248                srcs15[1]++;
3249                srcs16[0]++;
3250                srcs16[1]++;
3251                srcs17++;
3252
3253
3254                dst++;
3255        }
3256       
3257        return;
3258}
3259
3260void MixAudio16_36(ALshort *dst, alMixEntry *entries) {
3261        ALshort *srcs0[2];
3262        ALshort *srcs1[2];
3263        ALshort *srcs2[2];
3264        ALshort *srcs3[2];
3265        ALshort *srcs4[2];
3266        ALshort *srcs5[2];
3267        ALshort *srcs6[2];
3268        ALshort *srcs7[2];
3269        ALshort *srcs8[2];
3270        ALshort *srcs9[2];
3271        ALshort *srcs10[2];
3272        ALshort *srcs11[2];
3273        ALshort *srcs12[2];
3274        ALshort *srcs13[2];
3275        ALshort *srcs14[2];
3276        ALshort *srcs15[2];
3277        ALshort *srcs16[2];
3278        ALshort *srcs17[2];
3279
3280        int len;
3281        int sample;
3282
3283        len = entries[0].bytes;
3284        len /= sizeof(ALshort);
3285
3286        srcs0[0] = entries[0].data;
3287        srcs0[1] = entries[1].data;
3288        srcs1[0] = entries[2].data;
3289        srcs1[1] = entries[3].data;
3290        srcs2[0] = entries[4].data;
3291        srcs2[1] = entries[5].data;
3292        srcs3[0] = entries[6].data;
3293        srcs3[1] = entries[7].data;
3294        srcs4[0] = entries[8].data;
3295        srcs4[1] = entries[9].data;
3296        srcs5[0] = entries[10].data;
3297        srcs5[1] = entries[11].data;
3298        srcs6[0] = entries[12].data;
3299        srcs6[1] = entries[13].data;
3300        srcs7[0] = entries[14].data;
3301        srcs7[1] = entries[15].data;
3302        srcs8[0] = entries[16].data;
3303        srcs8[1] = entries[17].data;
3304        srcs9[0] = entries[18].data;
3305        srcs9[1] = entries[19].data;
3306        srcs10[0] = entries[20].data;
3307        srcs10[1] = entries[21].data;
3308        srcs11[0] = entries[22].data;
3309        srcs11[1] = entries[23].data;
3310        srcs12[0] = entries[24].data;
3311        srcs12[1] = entries[25].data;
3312        srcs13[0] = entries[26].data;
3313        srcs13[1] = entries[27].data;
3314        srcs14[0] = entries[28].data;
3315        srcs14[1] = entries[29].data;
3316        srcs15[0] = entries[30].data;
3317        srcs15[1] = entries[31].data;
3318        srcs16[0] = entries[32].data;
3319        srcs16[1] = entries[33].data;
3320        srcs17[0] = entries[34].data;
3321        srcs17[1] = entries[35].data;
3322
3323
3324        while(len--) {
3325                sample = *srcs0[0];
3326                sample += *srcs0[1];
3327                sample += *srcs1[0];
3328                sample += *srcs1[1];
3329                sample += *srcs2[0];
3330                sample += *srcs2[1];
3331                sample += *srcs3[0];
3332                sample += *srcs3[1];
3333                sample += *srcs4[0];
3334                sample += *srcs4[1];
3335                sample += *srcs5[0];
3336                sample += *srcs5[1];
3337                sample += *srcs6[0];
3338                sample += *srcs6[1];
3339                sample += *srcs7[0];
3340                sample += *srcs7[1];
3341                sample += *srcs8[0];
3342                sample += *srcs8[1];
3343                sample += *srcs9[0];
3344                sample += *srcs9[1];
3345                sample += *srcs10[0];
3346                sample += *srcs10[1];
3347                sample += *srcs11[0];
3348                sample += *srcs11[1];
3349                sample += *srcs12[0];
3350                sample += *srcs12[1];
3351                sample += *srcs13[0];
3352                sample += *srcs13[1];
3353                sample += *srcs14[0];
3354                sample += *srcs14[1];
3355                sample += *srcs15[0];
3356                sample += *srcs15[1];
3357                sample += *srcs16[0];
3358                sample += *srcs16[1];
3359                sample += *srcs17[0];
3360                sample += *srcs17[1];
3361
3362                if(sample > max_audioval ) {
3363                        *dst = max_audioval;
3364                } else if(sample < min_audioval ) {
3365                        *dst = min_audioval;
3366                } else {
3367                        *dst = sample;
3368                }
3369
3370                srcs0[0]++;
3371                srcs0[1]++;
3372                srcs1[0]++;
3373                srcs1[1]++;
3374                srcs2[0]++;
3375                srcs2[1]++;
3376                srcs3[0]++;
3377                srcs3[1]++;
3378                srcs4[0]++;
3379                srcs4[1]++;
3380                srcs5[0]++;
3381                srcs5[1]++;
3382                srcs6[0]++;
3383                srcs6[1]++;
3384                srcs7[0]++;
3385                srcs7[1]++;
3386                srcs8[0]++;
3387                srcs8[1]++;
3388                srcs9[0]++;
3389                srcs9[1]++;
3390                srcs10[0]++;
3391                srcs10[1]++;
3392                srcs11[0]++;
3393                srcs11[1]++;
3394                srcs12[0]++;
3395                srcs12[1]++;
3396                srcs13[0]++;
3397                srcs13[1]++;
3398                srcs14[0]++;
3399                srcs14[1]++;
3400                srcs15[0]++;
3401                srcs15[1]++;
3402                srcs16[0]++;
3403                srcs16[1]++;
3404                srcs17[0]++;
3405                srcs17[1]++;
3406
3407
3408                dst++;
3409        }
3410       
3411        return;
3412}
3413
3414void MixAudio16_37(ALshort *dst, alMixEntry *entries) {
3415        ALshort *srcs0[2];
3416        ALshort *srcs1[2];
3417        ALshort *srcs2[2];
3418        ALshort *srcs3[2];
3419        ALshort *srcs4[2];
3420        ALshort *srcs5[2];
3421        ALshort *srcs6[2];
3422        ALshort *srcs7[2];
3423        ALshort *srcs8[2];
3424        ALshort *srcs9[2];
3425        ALshort *srcs10[2];
3426        ALshort *srcs11[2];
3427        ALshort *srcs12[2];
3428        ALshort *srcs13[2];
3429        ALshort *srcs14[2];
3430        ALshort *srcs15[2];
3431        ALshort *srcs16[2];
3432        ALshort *srcs17[2];
3433        ALshort *srcs18;
3434
3435        int len;
3436        int sample;
3437
3438        len = entries[0].bytes;
3439        len /= sizeof(ALshort);
3440
3441        srcs0[0] = entries[0].data;
3442        srcs0[1] = entries[1].data;
3443        srcs1[0] = entries[2].data;
3444        srcs1[1] = entries[3].data;
3445        srcs2[0] = entries[4].data;
3446        srcs2[1] = entries[5].data;
3447        srcs3[0] = entries[6].data;
3448        srcs3[1] = entries[7].data;
3449        srcs4[0] = entries[8].data;
3450        srcs4[1] = entries[9].data;
3451        srcs5[0] = entries[10].data;
3452        srcs5[1] = entries[11].data;
3453        srcs6[0] = entries[12].data;
3454        srcs6[1] = entries[13].data;
3455        srcs7[0] = entries[14].data;
3456        srcs7[1] = entries[15].data;
3457        srcs8[0] = entries[16].data;
3458        srcs8[1] = entries[17].data;
3459        srcs9[0] = entries[18].data;
3460        srcs9[1] = entries[19].data;
3461        srcs10[0] = entries[20].data;
3462        srcs10[1] = entries[21].data;
3463        srcs11[0] = entries[22].data;
3464        srcs11[1] = entries[23].data;
3465        srcs12[0] = entries[24].data;
3466        srcs12[1] = entries[25].data;
3467        srcs13[0] = entries[26].data;
3468        srcs13[1] = entries[27].data;
3469        srcs14[0] = entries[28].data;
3470        srcs14[1] = entries[29].data;
3471        srcs15[0] = entries[30].data;
3472        srcs15[1] = entries[31].data;
3473        srcs16[0] = entries[32].data;
3474        srcs16[1] = entries[33].data;
3475        srcs17[0] = entries[34].data;
3476        srcs17[1] = entries[35].data;
3477        srcs18    = entries[36].data;
3478
3479
3480        while(len--) {
3481                sample = *srcs0[0];
3482                sample += *srcs0[1];
3483                sample += *srcs1[0];
3484                sample += *srcs1[1];
3485                sample += *srcs2[0];
3486                sample += *srcs2[1];
3487                sample += *srcs3[0];
3488                sample += *srcs3[1];
3489                sample += *srcs4[0];
3490                sample += *srcs4[1];
3491                sample += *srcs5[0];
3492                sample += *srcs5[1];
3493                sample += *srcs6[0];
3494                sample += *srcs6[1];
3495                sample += *srcs7[0];
3496                sample += *srcs7[1];
3497                sample += *srcs8[0];
3498                sample += *srcs8[1];
3499                sample += *srcs9[0];
3500                sample += *srcs9[1];
3501                sample += *srcs10[0];
3502                sample += *srcs10[1];
3503                sample += *srcs11[0];
3504                sample += *srcs11[1];
3505                sample += *srcs12[0];
3506                sample += *srcs12[1];
3507                sample += *srcs13[0];
3508                sample += *srcs13[1];
3509                sample += *srcs14[0];
3510                sample += *srcs14[1];
3511                sample += *srcs15[0];
3512                sample += *srcs15[1];
3513                sample += *srcs16[0];
3514                sample += *srcs16[1];
3515                sample += *srcs17[0];
3516                sample += *srcs17[1];
3517                sample += *srcs18;
3518
3519                if(sample > max_audioval ) {
3520                        *dst = max_audioval;
3521                } else if(sample < min_audioval ) {
3522                        *dst = min_audioval;
3523                } else {
3524                        *dst = sample;
3525                }
3526
3527                srcs0[0]++;
3528                srcs0[1]++;
3529                srcs1[0]++;
3530                srcs1[1]++;
3531                srcs2[0]++;
3532                srcs2[1]++;
3533                srcs3[0]++;
3534                srcs3[1]++;
3535                srcs4[0]++;
3536                srcs4[1]++;
3537                srcs5[0]++;
3538                srcs5[1]++;
3539                srcs6[0]++;
3540                srcs6[1]++;
3541                srcs7[0]++;
3542                srcs7[1]++;
3543                srcs8[0]++;
3544                srcs8[1]++;
3545                srcs9[0]++;
3546                srcs9[1]++;
3547                srcs10[0]++;
3548                srcs10[1]++;
3549                srcs11[0]++;
3550                srcs11[1]++;
3551                srcs12[0]++;
3552                srcs12[1]++;
3553                srcs13[0]++;
3554                srcs13[1]++;
3555                srcs14[0]++;
3556                srcs14[1]++;
3557                srcs15[0]++;
3558                srcs15[1]++;
3559                srcs16[0]++;
3560                srcs16[1]++;
3561                srcs17[0]++;
3562                srcs17[1]++;
3563                srcs18++;
3564
3565
3566                dst++;
3567        }
3568       
3569        return;
3570}
3571
3572void MixAudio16_38(ALshort *dst, alMixEntry *entries) {
3573        ALshort *srcs0[2];
3574        ALshort *srcs1[2];
3575        ALshort *srcs2[2];
3576        ALshort *srcs3[2];
3577        ALshort *srcs4[2];
3578        ALshort *srcs5[2];
3579        ALshort *srcs6[2];
3580        ALshort *srcs7[2];
3581        ALshort *srcs8[2];
3582        ALshort *srcs9[2];
3583        ALshort *srcs10[2];
3584        ALshort *srcs11[2];
3585        ALshort *srcs12[2];
3586        ALshort *srcs13[2];
3587        ALshort *srcs14[2];
3588        ALshort *srcs15[2];
3589        ALshort *srcs16[2];
3590        ALshort *srcs17[2];
3591        ALshort *srcs18[2];
3592
3593        int len;
3594        int sample;
3595
3596        len = entries[0].bytes;
3597        len /= sizeof(ALshort);
3598
3599        srcs0[0] = entries[0].data;
3600        srcs0[1] = entries[1].data;
3601        srcs1[0] = entries[2].data;
3602        srcs1[1] = entries[3].data;
3603        srcs2[0] = entries[4].data;
3604        srcs2[1] = entries[5].data;
3605        srcs3[0] = entries[6].data;
3606        srcs3[1] = entries[7].data;
3607        srcs4[0] = entries[8].data;
3608        srcs4[1] = entries[9].data;
3609        srcs5[0] = entries[10].data;
3610        srcs5[1] = entries[11].data;
3611        srcs6[0] = entries[12].data;
3612        srcs6[1] = entries[13].data;
3613        srcs7[0] = entries[14].data;
3614        srcs7[1] = entries[15].data;
3615        srcs8[0] = entries[16].data;
3616        srcs8[1] = entries[17].data;
3617        srcs9[0] = entries[18].data;
3618        srcs9[1] = entries[19].data;
3619        srcs10[0] = entries[20].data;
3620        srcs10[1] = entries[21].data;
3621        srcs11[0] = entries[22].data;
3622        srcs11[1] = entries[23].data;
3623        srcs12[0] = entries[24].data;
3624        srcs12[1] = entries[25].data;
3625        srcs13[0] = entries[26].data;
3626        srcs13[1] = entries[27].data;
3627        srcs14[0] = entries[28].data;
3628        srcs14[1] = entries[29].data;
3629        srcs15[0] = entries[30].data;
3630        srcs15[1] = entries[31].data;
3631        srcs16[0] = entries[32].data;
3632        srcs16[1] = entries[33].data;
3633        srcs17[0] = entries[34].data;
3634        srcs17[1] = entries[35].data;
3635        srcs18[0] = entries[36].data;
3636        srcs18[1] = entries[37].data;
3637
3638
3639        while(len--) {
3640                sample = *srcs0[0];
3641                sample += *srcs0[1];
3642                sample += *srcs1[0];
3643                sample += *srcs1[1];
3644                sample += *srcs2[0];
3645                sample += *srcs2[1];
3646                sample += *srcs3[0];
3647                sample += *srcs3[1];
3648                sample += *srcs4[0];
3649                sample += *srcs4[1];
3650                sample += *srcs5[0];
3651                sample += *srcs5[1];
3652                sample += *srcs6[0];
3653                sample += *srcs6[1];
3654                sample += *srcs7[0];
3655                sample += *srcs7[1];
3656                sample += *srcs8[0];
3657                sample += *srcs8[1];
3658                sample += *srcs9[0];
3659                sample += *srcs9[1];
3660                sample += *srcs10[0];
3661                sample += *srcs10[1];
3662                sample += *srcs11[0];
3663                sample += *srcs11[1];
3664                sample += *srcs12[0];
3665                sample += *srcs12[1];
3666                sample += *srcs13[0];
3667                sample += *srcs13[1];
3668                sample += *srcs14[0];
3669                sample += *srcs14[1];
3670                sample += *srcs15[0];
3671                sample += *srcs15[1];
3672                sample += *srcs16[0];
3673                sample += *srcs16[1];
3674                sample += *srcs17[0];
3675                sample += *srcs17[1];
3676                sample += *srcs18[0];
3677                sample += *srcs18[1];
3678
3679                if(sample > max_audioval ) {
3680                        *dst = max_audioval;
3681                } else if(sample < min_audioval ) {
3682                        *dst = min_audioval;
3683                } else {
3684                        *dst = sample;
3685                }
3686
3687                srcs0[0]++;
3688                srcs0[1]++;
3689                srcs1[0]++;
3690                srcs1[1]++;
3691                srcs2[0]++;
3692                srcs2[1]++;
3693                srcs3[0]++;
3694                srcs3[1]++;
3695                srcs4[0]++;
3696                srcs4[1]++;
3697                srcs5[0]++;
3698                srcs5[1]++;
3699                srcs6[0]++;
3700                srcs6[1]++;
3701                srcs7[0]++;
3702                srcs7[1]++;
3703                srcs8[0]++;
3704                srcs8[1]++;
3705                srcs9[0]++;
3706                srcs9[1]++;
3707                srcs10[0]++;
3708                srcs10[1]++;
3709                srcs11[0]++;
3710                srcs11[1]++;
3711                srcs12[0]++;
3712                srcs12[1]++;
3713                srcs13[0]++;
3714                srcs13[1]++;
3715                srcs14[0]++;
3716                srcs14[1]++;
3717                srcs15[0]++;
3718                srcs15[1]++;
3719                srcs16[0]++;
3720                srcs16[1]++;
3721                srcs17[0]++;
3722                srcs17[1]++;
3723                srcs18[0]++;
3724                srcs18[1]++;
3725
3726
3727                dst++;
3728        }
3729       
3730        return;
3731}
3732
3733void MixAudio16_39(ALshort *dst, alMixEntry *entries) {
3734        ALshort *srcs0[2];
3735        ALshort *srcs1[2];
3736        ALshort *srcs2[2];
3737        ALshort *srcs3[2];
3738        ALshort *srcs4[2];
3739        ALshort *srcs5[2];
3740        ALshort *srcs6[2];
3741        ALshort *srcs7[2];
3742        ALshort *srcs8[2];
3743        ALshort *srcs9[2];
3744        ALshort *srcs10[2];
3745        ALshort *srcs11[2];
3746        ALshort *srcs12[2];
3747        ALshort *srcs13[2];
3748        ALshort *srcs14[2];
3749        ALshort *srcs15[2];
3750        ALshort *srcs16[2];
3751        ALshort *srcs17[2];
3752        ALshort *srcs18[2];
3753        ALshort *srcs19;
3754
3755        int len;
3756        int sample;
3757
3758        len = entries[0].bytes;
3759        len /= sizeof(ALshort);
3760
3761        srcs0[0] = entries[0].data;
3762        srcs0[1] = entries[1].data;
3763        srcs1[0] = entries[2].data;
3764        srcs1[1] = entries[3].data;
3765        srcs2[0] = entries[4].data;
3766        srcs2[1] = entries[5].data;
3767        srcs3[0] = entries[6].data;
3768        srcs3[1] = entries[7].data;
3769        srcs4[0] = entries[8].data;
3770        srcs4[1] = entries[9].data;
3771        srcs5[0] = entries[10].data;
3772        srcs5[1] = entries[11].data;
3773        srcs6[0] = entries[12].data;
3774        srcs6[1] = entries[13].data;
3775        srcs7[0] = entries[14].data;
3776        srcs7[1] = entries[15].data;
3777        srcs8[0] = entries[16].data;
3778        srcs8[1] = entries[17].data;
3779        srcs9[0] = entries[18].data;
3780        srcs9[1] = entries[19].data;
3781        srcs10[0] = entries[20].data;
3782        srcs10[1] = entries[21].data;
3783        srcs11[0] = entries[22].data;
3784        srcs11[1] = entries[23].data;
3785        srcs12[0] = entries[24].data;
3786        srcs12[1] = entries[25].data;
3787        srcs13[0] = entries[26].data;
3788        srcs13[1] = entries[27].data;
3789        srcs14[0] = entries[28].data;
3790        srcs14[1] = entries[29].data;
3791        srcs15[0] = entries[30].data;
3792        srcs15[1] = entries[31].data;
3793        srcs16[0] = entries[32].data;
3794        srcs16[1] = entries[33].data;
3795        srcs17[0] = entries[34].data;
3796        srcs17[1] = entries[35].data;
3797        srcs18[0] = entries[36].data;
3798        srcs18[1] = entries[37].data;
3799        srcs19    = entries[38].data;
3800
3801
3802        while(len--) {
3803                sample = *srcs0[0];
3804                sample += *srcs0[1];
3805                sample += *srcs1[0];
3806                sample += *srcs1[1];
3807                sample += *srcs2[0];
3808                sample += *srcs2[1];
3809                sample += *srcs3[0];
3810                sample += *srcs3[1];
3811                sample += *srcs4[0];
3812                sample += *srcs4[1];
3813                sample += *srcs5[0];
3814                sample += *srcs5[1];
3815                sample += *srcs6[0];
3816                sample += *srcs6[1];
3817                sample += *srcs7[0];
3818                sample += *srcs7[1];
3819                sample += *srcs8[0];
3820                sample += *srcs8[1];
3821                sample += *srcs9[0];
3822                sample += *srcs9[1];
3823                sample += *srcs10[0];
3824                sample += *srcs10[1];
3825                sample += *srcs11[0];
3826                sample += *srcs11[1];
3827                sample += *srcs12[0];
3828                sample += *srcs12[1];
3829                sample += *srcs13[0];
3830                sample += *srcs13[1];
3831                sample += *srcs14[0];
3832                sample += *srcs14[1];
3833                sample += *srcs15[0];
3834                sample += *srcs15[1];
3835                sample += *srcs16[0];
3836                sample += *srcs16[1];
3837                sample += *srcs17[0];
3838                sample += *srcs17[1];
3839                sample += *srcs18[0];
3840                sample += *srcs18[1];
3841                sample += *srcs19;
3842
3843                if(sample > max_audioval ) {
3844                        *dst = max_audioval;
3845                } else if(sample < min_audioval ) {
3846                        *dst = min_audioval;
3847                } else {
3848                        *dst = sample;
3849                }
3850
3851                srcs0[0]++;
3852                srcs0[1]++;
3853                srcs1[0]++;
3854                srcs1[1]++;
3855                srcs2[0]++;
3856                srcs2[1]++;
3857                srcs3[0]++;
3858                srcs3[1]++;
3859                srcs4[0]++;
3860                srcs4[1]++;
3861                srcs5[0]++;
3862                srcs5[1]++;
3863                srcs6[0]++;
3864                srcs6[1]++;
3865                srcs7[0]++;
3866                srcs7[1]++;
3867                srcs8[0]++;
3868                srcs8[1]++;
3869                srcs9[0]++;
3870                srcs9[1]++;
3871                srcs10[0]++;
3872                srcs10[1]++;
3873                srcs11[0]++;
3874                srcs11[1]++;
3875                srcs12[0]++;
3876                srcs12[1]++;
3877                srcs13[0]++;
3878                srcs13[1]++;
3879                srcs14[0]++;
3880                srcs14[1]++;
3881                srcs15[0]++;
3882                srcs15[1]++;
3883                srcs16[0]++;
3884                srcs16[1]++;
3885                srcs17[0]++;
3886                srcs17[1]++;
3887                srcs18[0]++;
3888                srcs18[1]++;
3889                srcs19++;
3890
3891
3892                dst++;
3893        }
3894       
3895        return;
3896}
3897
3898void MixAudio16_40(ALshort *dst, alMixEntry *entries) {
3899        ALshort *srcs0[2];
3900        ALshort *srcs1[2];
3901        ALshort *srcs2[2];
3902        ALshort *srcs3[2];
3903        ALshort *srcs4[2];
3904        ALshort *srcs5[2];
3905        ALshort *srcs6[2];
3906        ALshort *srcs7[2];
3907        ALshort *srcs8[2];
3908        ALshort *srcs9[2];
3909        ALshort *srcs10[2];
3910        ALshort *srcs11[2];
3911        ALshort *srcs12[2];
3912        ALshort *srcs13[2];
3913        ALshort *srcs14[2];
3914        ALshort *srcs15[2];
3915        ALshort *srcs16[2];
3916        ALshort *srcs17[2];
3917        ALshort *srcs18[2];
3918        ALshort *srcs19[2];
3919
3920        int len;
3921        int sample;
3922
3923        len = entries[0].bytes;
3924        len /= sizeof(ALshort);
3925
3926        srcs0[0] = entries[0].data;
3927        srcs0[1] = entries[1].data;
3928        srcs1[0] = entries[2].data;
3929        srcs1[1] = entries[3].data;
3930        srcs2[0] = entries[4].data;
3931        srcs2[1] = entries[5].data;
3932        srcs3[0] = entries[6].data;
3933        srcs3[1] = entries[7].data;
3934        srcs4[0] = entries[8].data;
3935        srcs4[1] = entries[9].data;
3936        srcs5[0] = entries[10].data;
3937        srcs5[1] = entries[11].data;
3938        srcs6[0] = entries[12].data;
3939        srcs6[1] = entries[13].data;
3940        srcs7[0] = entries[14].data;
3941        srcs7[1] = entries[15].data;
3942        srcs8[0] = entries[16].data;
3943        srcs8[1] = entries[17].data;
3944        srcs9[0] = entries[18].data;
3945        srcs9[1] = entries[19].data;
3946        srcs10[0] = entries[20].data;
3947        srcs10[1] = entries[21].data;
3948        srcs11[0] = entries[22].data;
3949        srcs11[1] = entries[23].data;
3950        srcs12[0] = entries[24].data;
3951        srcs12[1] = entries[25].data;
3952        srcs13[0] = entries[26].data;
3953        srcs13[1] = entries[27].data;
3954        srcs14[0] = entries[28].data;
3955        srcs14[1] = entries[29].data;
3956        srcs15[0] = entries[30].data;
3957        srcs15[1] = entries[31].data;
3958        srcs16[0] = entries[32].data;
3959        srcs16[1] = entries[33].data;
3960        srcs17[0] = entries[34].data;
3961        srcs17[1] = entries[35].data;
3962        srcs18[0] = entries[36].data;
3963        srcs18[1] = entries[37].data;
3964        srcs19[0] = entries[38].data;
3965        srcs19[1] = entries[39].data;
3966
3967
3968        while(len--) {
3969                sample = *srcs0[0];
3970                sample += *srcs0[1];
3971                sample += *srcs1[0];
3972                sample += *srcs1[1];
3973                sample += *srcs2[0];
3974                sample += *srcs2[1];
3975                sample += *srcs3[0];
3976                sample += *srcs3[1];
3977                sample += *srcs4[0];
3978                sample += *srcs4[1];
3979                sample += *srcs5[0];
3980                sample += *srcs5[1];
3981                sample += *srcs6[0];
3982                sample += *srcs6[1];
3983                sample += *srcs7[0];
3984                sample += *srcs7[1];
3985                sample += *srcs8[0];
3986                sample += *srcs8[1];
3987                sample += *srcs9[0];
3988                sample += *srcs9[1];
3989                sample += *srcs10[0];
3990                sample += *srcs10[1];
3991                sample += *srcs11[0];
3992                sample += *srcs11[1];
3993                sample += *srcs12[0];
3994                sample += *srcs12[1];
3995                sample += *srcs13[0];
3996                sample += *srcs13[1];
3997                sample += *srcs14[0];
3998                sample += *srcs14[1];
3999                sample += *srcs15[0];
4000                sample += *srcs15[1];
4001                sample += *srcs16[0];
4002                sample += *srcs16[1];
4003                sample += *srcs17[0];
4004                sample += *srcs17[1];
4005                sample += *srcs18[0];
4006                sample += *srcs18[1];
4007                sample += *srcs19[0];
4008                sample += *srcs19[1];
4009
4010                if(sample > max_audioval ) {
4011                        *dst = max_audioval;
4012                } else if(sample < min_audioval ) {
4013                        *dst = min_audioval;
4014                } else {
4015                        *dst = sample;
4016                }
4017
4018                srcs0[0]++;
4019                srcs0[1]++;
4020                srcs1[0]++;
4021                srcs1[1]++;
4022                srcs2[0]++;
4023                srcs2[1]++;
4024                srcs3[0]++;
4025                srcs3[1]++;
4026                srcs4[0]++;
4027                srcs4[1]++;
4028                srcs5[0]++;
4029                srcs5[1]++;
4030                srcs6[0]++;
4031                srcs6[1]++;
4032                srcs7[0]++;
4033                srcs7[1]++;
4034                srcs8[0]++;
4035                srcs8[1]++;
4036                srcs9[0]++;
4037                srcs9[1]++;
4038                srcs10[0]++;
4039                srcs10[1]++;
4040                srcs11[0]++;
4041                srcs11[1]++;
4042                srcs12[0]++;
4043                srcs12[1]++;
4044                srcs13[0]++;
4045                srcs13[1]++;
4046                srcs14[0]++;
4047                srcs14[1]++;
4048                srcs15[0]++;
4049                srcs15[1]++;
4050                srcs16[0]++;
4051                srcs16[1]++;
4052                srcs17[0]++;
4053                srcs17[1]++;
4054                srcs18[0]++;
4055                srcs18[1]++;
4056                srcs19[0]++;
4057                srcs19[1]++;
4058
4059
4060                dst++;
4061        }
4062       
4063        return;
4064}
4065
4066void MixAudio16_41(ALshort *dst, alMixEntry *entries) {
4067        ALshort *srcs0[2];
4068        ALshort *srcs1[2];
4069        ALshort *srcs2[2];
4070        ALshort *srcs3[2];
4071        ALshort *srcs4[2];
4072        ALshort *srcs5[2];
4073        ALshort *srcs6[2];
4074        ALshort *srcs7[2];
4075        ALshort *srcs8[2];
4076        ALshort *srcs9[2];
4077        ALshort *srcs10[2];
4078        ALshort *srcs11[2];
4079        ALshort *srcs12[2];
4080        ALshort *srcs13[2];
4081        ALshort *srcs14[2];
4082        ALshort *srcs15[2];
4083        ALshort *srcs16[2];
4084        ALshort *srcs17[2];
4085        ALshort *srcs18[2];
4086        ALshort *srcs19[2];
4087        ALshort *srcs20;
4088
4089        int len;
4090        int sample;
4091
4092        len = entries[0].bytes;
4093        len /= sizeof(ALshort);
4094
4095        srcs0[0] = entries[0].data;
4096        srcs0[1] = entries[1].data;
4097        srcs1[0] = entries[2].data;
4098        srcs1[1] = entries[3].data;
4099        srcs2[0] = entries[4].data;
4100        srcs2[1] = entries[5].data;
4101        srcs3[0] = entries[6].data;
4102        srcs3[1] = entries[7].data;
4103        srcs4[0] = entries[8].data;
4104        srcs4[1] = entries[9].data;
4105        srcs5[0] = entries[10].data;
4106        srcs5[1] = entries[11].data;
4107        srcs6[0] = entries[12].data;
4108        srcs6[1] = entries[13].data;
4109        srcs7[0] = entries[14].data;
4110        srcs7[1] = entries[15].data;
4111        srcs8[0] = entries[16].data;
4112        srcs8[1] = entries[17].data;
4113        srcs9[0] = entries[18].data;
4114        srcs9[1] = entries[19].data;
4115        srcs10[0] = entries[20].data;
4116        srcs10[1] = entries[21].data;
4117        srcs11[0] = entries[22].data;
4118        srcs11[1] = entries[23].data;
4119        srcs12[0] = entries[24].data;
4120        srcs12[1] = entries[25].data;
4121        srcs13[0] = entries[26].data;
4122        srcs13[1] = entries[27].data;
4123        srcs14[0] = entries[28].data;
4124        srcs14[1] = entries[29].data;
4125        srcs15[0] = entries[30].data;
4126        srcs15[1] = entries[31].data;
4127        srcs16[0] = entries[32].data;
4128        srcs16[1] = entries[33].data;
4129        srcs17[0] = entries[34].data;
4130        srcs17[1] = entries[35].data;
4131        srcs18[0] = entries[36].data;
4132        srcs18[1] = entries[37].data;
4133        srcs19[0] = entries[38].data;
4134        srcs19[1] = entries[39].data;
4135        srcs20    = entries[40].data;
4136
4137
4138        while(len--) {
4139                sample = *srcs0[0];
4140                sample += *srcs0[1];
4141                sample += *srcs1[0];
4142                sample += *srcs1[1];
4143                sample += *srcs2[0];
4144                sample += *srcs2[1];
4145                sample += *srcs3[0];
4146                sample += *srcs3[1];
4147                sample += *srcs4[0];
4148                sample += *srcs4[1];
4149                sample += *srcs5[0];
4150                sample += *srcs5[1];
4151                sample += *srcs6[0];
4152                sample += *srcs6[1];
4153                sample += *srcs7[0];
4154                sample += *srcs7[1];
4155                sample += *srcs8[0];
4156                sample += *srcs8[1];
4157                sample += *srcs9[0];
4158                sample += *srcs9[1];
4159                sample += *srcs10[0];
4160                sample += *srcs10[1];
4161                sample += *srcs11[0];
4162                sample += *srcs11[1];
4163                sample += *srcs12[0];
4164                sample += *srcs12[1];
4165                sample += *srcs13[0];
4166                sample += *srcs13[1];
4167                sample += *srcs14[0];
4168                sample += *srcs14[1];
4169                sample += *srcs15[0];
4170                sample += *srcs15[1];
4171                sample += *srcs16[0];
4172                sample += *srcs16[1];
4173                sample += *srcs17[0];
4174                sample += *srcs17[1];
4175                sample += *srcs18[0];
4176                sample += *srcs18[1];
4177                sample += *srcs19[0];
4178                sample += *srcs19[1];
4179                sample += *srcs20;
4180
4181                if(sample > max_audioval ) {
4182                        *dst = max_audioval;
4183                } else if(sample < min_audioval ) {
4184                        *dst = min_audioval;
4185                } else {
4186                        *dst = sample;
4187                }
4188
4189                srcs0[0]++;
4190                srcs0[1]++;
4191                srcs1[0]++;
4192                srcs1[1]++;
4193                srcs2[0]++;
4194                srcs2[1]++;
4195                srcs3[0]++;
4196                srcs3[1]++;
4197                srcs4[0]++;
4198                srcs4[1]++;
4199                srcs5[0]++;
4200                srcs5[1]++;
4201                srcs6[0]++;
4202                srcs6[1]++;
4203                srcs7[0]++;
4204                srcs7[1]++;
4205                srcs8[0]++;
4206                srcs8[1]++;
4207                srcs9[0]++;
4208                srcs9[1]++;
4209                srcs10[0]++;
4210                srcs10[1]++;
4211                srcs11[0]++;
4212                srcs11[1]++;
4213                srcs12[0]++;
4214                srcs12[1]++;
4215                srcs13[0]++;
4216                srcs13[1]++;
4217                srcs14[0]++;
4218                srcs14[1]++;
4219                srcs15[0]++;
4220                srcs15[1]++;
4221                srcs16[0]++;
4222                srcs16[1]++;
4223                srcs17[0]++;
4224                srcs17[1]++;
4225                srcs18[0]++;
4226                srcs18[1]++;
4227                srcs19[0]++;
4228                srcs19[1]++;
4229                srcs20++;
4230
4231
4232                dst++;
4233        }
4234       
4235        return;
4236}
4237
4238void MixAudio16_42(ALshort *dst, alMixEntry *entries) {
4239        ALshort *srcs0[2];
4240        ALshort *srcs1[2];
4241        ALshort *srcs2[2];
4242        ALshort *srcs3[2];
4243        ALshort *srcs4[2];
4244        ALshort *srcs5[2];
4245        ALshort *srcs6[2];
4246        ALshort *srcs7[2];
4247        ALshort *srcs8[2];
4248        ALshort *srcs9[2];
4249        ALshort *srcs10[2];
4250        ALshort *srcs11[2];
4251        ALshort *srcs12[2];
4252        ALshort *srcs13[2];
4253        ALshort *srcs14[2];
4254        ALshort *srcs15[2];
4255        ALshort *srcs16[2];
4256        ALshort *srcs17[2];
4257        ALshort *srcs18[2];
4258        ALshort *srcs19[2];
4259        ALshort *srcs20[2];
4260
4261        int len;
4262        int sample;
4263
4264        len = entries[0].bytes;
4265        len /= sizeof(ALshort);
4266
4267        srcs0[0] = entries[0].data;
4268        srcs0[1] = entries[1].data;
4269        srcs1[0] = entries[2].data;
4270        srcs1[1] = entries[3].data;
4271        srcs2[0] = entries[4].data;
4272        srcs2[1] = entries[5].data;
4273        srcs3[0] = entries[6].data;
4274        srcs3[1] = entries[7].data;
4275        srcs4[0] = entries[8].data;
4276        srcs4[1] = entries[9].data;
4277        srcs5[0] = entries[10].data;
4278        srcs5[1] = entries[11].data;
4279        srcs6[0] = entries[12].data;
4280        srcs6[1] = entries[13].data;
4281        srcs7[0] = entries[14].data;
4282        srcs7[1] = entries[15].data;
4283        srcs8[0] = entries[16].data;
4284        srcs8[1] = entries[17].data;
4285        srcs9[0] = entries[18].data;
4286        srcs9[1] = entries[19].data;
4287        srcs10[0] = entries[20].data;
4288        srcs10[1] = entries[21].data;
4289        srcs11[0] = entries[22].data;
4290        srcs11[1] = entries[23].data;
4291        srcs12[0] = entries[24].data;
4292        srcs12[1] = entries[25].data;
4293        srcs13[0] = entries[26].data;
4294        srcs13[1] = entries[27].data;
4295        srcs14[0] = entries[28].data;
4296        srcs14[1] = entries[29].data;
4297        srcs15[0] = entries[30].data;
4298        srcs15[1] = entries[31].data;
4299        srcs16[0] = entries[32].data;
4300        srcs16[1] = entries[33].data;
4301        srcs17[0] = entries[34].data;
4302        srcs17[1] = entries[35].data;
4303        srcs18[0] = entries[36].data;
4304        srcs18[1] = entries[37].data;
4305        srcs19[0] = entries[38].data;
4306        srcs19[1] = entries[39].data;
4307        srcs20[0] = entries[40].data;
4308        srcs20[1] = entries[41].data;
4309
4310
4311        while(len--) {
4312                sample = *srcs0[0];
4313                sample += *srcs0[1];
4314                sample += *srcs1[0];
4315                sample += *srcs1[1];
4316                sample += *srcs2[0];
4317                sample += *srcs2[1];
4318                sample += *srcs3[0];
4319                sample += *srcs3[1];
4320                sample += *srcs4[0];
4321                sample += *srcs4[1];
4322                sample += *srcs5[0];
4323                sample += *srcs5[1];
4324                sample += *srcs6[0];
4325                sample += *srcs6[1];
4326                sample += *srcs7[0];
4327                sample += *srcs7[1];
4328                sample += *srcs8[0];
4329                sample += *srcs8[1];
4330                sample += *srcs9[0];
4331                sample += *srcs9[1];
4332                sample += *srcs10[0];
4333                sample += *srcs10[1];
4334                sample += *srcs11[0];
4335                sample += *srcs11[1];
4336                sample += *srcs12[0];
4337                sample += *srcs12[1];
4338                sample += *srcs13[0];
4339                sample += *srcs13[1];
4340                sample += *srcs14[0];
4341                sample += *srcs14[1];
4342                sample += *srcs15[0];
4343                sample += *srcs15[1];
4344                sample += *srcs16[0];
4345                sample += *srcs16[1];
4346                sample += *srcs17[0];
4347                sample += *srcs17[1];
4348                sample += *srcs18[0];
4349                sample += *srcs18[1];
4350                sample += *srcs19[0];
4351                sample += *srcs19[1];
4352                sample += *srcs20[0];
4353                sample += *srcs20[1];
4354
4355                if(sample > max_audioval ) {
4356                        *dst = max_audioval;
4357                } else if(sample < min_audioval ) {
4358                        *dst = min_audioval;
4359                } else {
4360                        *dst = sample;
4361                }
4362
4363                srcs0[0]++;
4364                srcs0[1]++;
4365                srcs1[0]++;
4366                srcs1[1]++;
4367                srcs2[0]++;
4368                srcs2[1]++;
4369                srcs3[0]++;
4370                srcs3[1]++;
4371                srcs4[0]++;
4372                srcs4[1]++;
4373                srcs5[0]++;
4374                srcs5[1]++;
4375                srcs6[0]++;
4376                srcs6[1]++;
4377                srcs7[0]++;
4378                srcs7[1]++;
4379                srcs8[0]++;
4380                srcs8[1]++;
4381                srcs9[0]++;
4382                srcs9[1]++;
4383                srcs10[0]++;
4384                srcs10[1]++;
4385                srcs11[0]++;
4386                srcs11[1]++;
4387                srcs12[0]++;
4388                srcs12[1]++;
4389                srcs13[0]++;
4390                srcs13[1]++;
4391                srcs14[0]++;
4392                srcs14[1]++;
4393                srcs15[0]++;
4394                srcs15[1]++;
4395                srcs16[0]++;
4396                srcs16[1]++;
4397                srcs17[0]++;
4398                srcs17[1]++;
4399                srcs18[0]++;
4400                srcs18[1]++;
4401                srcs19[0]++;
4402                srcs19[1]++;
4403                srcs20[0]++;
4404                srcs20[1]++;
4405
4406
4407                dst++;
4408        }
4409       
4410        return;
4411}
4412
4413void MixAudio16_43(ALshort *dst, alMixEntry *entries) {
4414        ALshort *srcs0[2];
4415        ALshort *srcs1[2];
4416        ALshort *srcs2[2];
4417        ALshort *srcs3[2];
4418        ALshort *srcs4[2];
4419        ALshort *srcs5[2];
4420        ALshort *srcs6[2];
4421        ALshort *srcs7[2];
4422        ALshort *srcs8[2];
4423        ALshort *srcs9[2];
4424        ALshort *srcs10[2];
4425        ALshort *srcs11[2];
4426        ALshort *srcs12[2];
4427        ALshort *srcs13[2];
4428        ALshort *srcs14[2];
4429        ALshort *srcs15[2];
4430        ALshort *srcs16[2];
4431        ALshort *srcs17[2];
4432        ALshort *srcs18[2];
4433        ALshort *srcs19[2];
4434        ALshort *srcs20[2];
4435        ALshort *srcs21;
4436
4437        int len;
4438        int sample;
4439
4440        len = entries[0].bytes;
4441        len /= sizeof(ALshort);
4442
4443        srcs0[0] = entries[0].data;
4444        srcs0[1] = entries[1].data;
4445        srcs1[0] = entries[2].data;
4446        srcs1[1] = entries[3].data;
4447        srcs2[0] = entries[4].data;
4448        srcs2[1] = entries[5].data;
4449        srcs3[0] = entries[6].data;
4450        srcs3[1] = entries[7].data;
4451        srcs4[0] = entries[8].data;
4452        srcs4[1] = entries[9].data;
4453        srcs5[0] = entries[10].data;
4454        srcs5[1] = entries[11].data;
4455        srcs6[0] = entries[12].data;
4456        srcs6[1] = entries[13].data;
4457        srcs7[0] = entries[14].data;
4458        srcs7[1] = entries[15].data;
4459        srcs8[0] = entries[16].data;
4460        srcs8[1] = entries[17].data;
4461        srcs9[0] = entries[18].data;
4462        srcs9[1] = entries[19].data;
4463        srcs10[0] = entries[20].data;
4464        srcs10[1] = entries[21].data;
4465        srcs11[0] = entries[22].data;
4466        srcs11[1] = entries[23].data;
4467        srcs12[0] = entries[24].data;
4468        srcs12[1] = entries[25].data;
4469        srcs13[0] = entries[26].data;
4470        srcs13[1] = entries[27].data;
4471        srcs14[0] = entries[28].data;
4472        srcs14[1] = entries[29].data;
4473        srcs15[0] = entries[30].data;
4474        srcs15[1] = entries[31].data;
4475        srcs16[0] = entries[32].data;
4476        srcs16[1] = entries[33].data;
4477        srcs17[0] = entries[34].data;
4478        srcs17[1] = entries[35].data;
4479        srcs18[0] = entries[36].data;
4480        srcs18[1] = entries[37].data;
4481        srcs19[0] = entries[38].data;
4482        srcs19[1] = entries[39].data;
4483        srcs20[0] = entries[40].data;
4484        srcs20[1] = entries[41].data;
4485        srcs21    = entries[42].data;
4486
4487
4488        while(len--) {
4489                sample = *srcs0[0];
4490                sample += *srcs0[1];
4491                sample += *srcs1[0];
4492                sample += *srcs1[1];
4493                sample += *srcs2[0];
4494                sample += *srcs2[1];
4495                sample += *srcs3[0];
4496                sample += *srcs3[1];
4497                sample += *srcs4[0];
4498                sample += *srcs4[1];
4499                sample += *srcs5[0];
4500                sample += *srcs5[1];
4501                sample += *srcs6[0];
4502                sample += *srcs6[1];
4503                sample += *srcs7[0];
4504                sample += *srcs7[1];
4505                sample += *srcs8[0];
4506                sample += *srcs8[1];
4507                sample += *srcs9[0];
4508                sample += *srcs9[1];
4509                sample += *srcs10[0];
4510                sample += *srcs10[1];
4511                sample += *srcs11[0];
4512                sample += *srcs11[1];
4513                sample += *srcs12[0];
4514                sample += *srcs12[1];
4515                sample += *srcs13[0];
4516                sample += *srcs13[1];
4517                sample += *srcs14[0];
4518                sample += *srcs14[1];
4519                sample += *srcs15[0];
4520                sample += *srcs15[1];
4521                sample += *srcs16[0];
4522                sample += *srcs16[1];
4523                sample += *srcs17[0];
4524                sample += *srcs17[1];
4525                sample += *srcs18[0];
4526                sample += *srcs18[1];
4527                sample += *srcs19[0];
4528                sample += *srcs19[1];
4529                sample += *srcs20[0];
4530                sample += *srcs20[1];
4531                sample += *srcs21;
4532
4533                if(sample > max_audioval ) {
4534                        *dst = max_audioval;
4535                } else if(sample < min_audioval ) {
4536                        *dst = min_audioval;
4537                } else {
4538                        *dst = sample;
4539                }
4540
4541                srcs0[0]++;
4542                srcs0[1]++;
4543                srcs1[0]++;
4544                srcs1[1]++;
4545                srcs2[0]++;
4546                srcs2[1]++;
4547                srcs3[0]++;
4548                srcs3[1]++;
4549                srcs4[0]++;
4550                srcs4[1]++;
4551                srcs5[0]++;
4552                srcs5[1]++;
4553                srcs6[0]++;
4554                srcs6[1]++;
4555                srcs7[0]++;
4556                srcs7[1]++;
4557                srcs8[0]++;
4558                srcs8[1]++;
4559                srcs9[0]++;
4560                srcs9[1]++;
4561                srcs10[0]++;
4562                srcs10[1]++;
4563                srcs11[0]++;
4564                srcs11[1]++;
4565                srcs12[0]++;
4566                srcs12[1]++;
4567                srcs13[0]++;
4568                srcs13[1]++;
4569                srcs14[0]++;
4570                srcs14[1]++;
4571                srcs15[0]++;
4572                srcs15[1]++;
4573                srcs16[0]++;
4574                srcs16[1]++;
4575                srcs17[0]++;
4576                srcs17[1]++;
4577                srcs18[0]++;
4578                srcs18[1]++;
4579                srcs19[0]++;
4580                srcs19[1]++;
4581                srcs20[0]++;
4582                srcs20[1]++;
4583                srcs21++;
4584
4585
4586                dst++;
4587        }
4588       
4589        return;
4590}
4591
4592void MixAudio16_44(ALshort *dst, alMixEntry *entries) {
4593        ALshort *srcs0[2];
4594        ALshort *srcs1[2];
4595        ALshort *srcs2[2];
4596        ALshort *srcs3[2];
4597        ALshort *srcs4[2];
4598        ALshort *srcs5[2];
4599        ALshort *srcs6[2];
4600        ALshort *srcs7[2];
4601        ALshort *srcs8[2];
4602        ALshort *srcs9[2];
4603        ALshort *srcs10[2];
4604        ALshort *srcs11[2];
4605        ALshort *srcs12[2];
4606        ALshort *srcs13[2];
4607        ALshort *srcs14[2];
4608        ALshort *srcs15[2];
4609        ALshort *srcs16[2];
4610        ALshort *srcs17[2];
4611        ALshort *srcs18[2];
4612        ALshort *srcs19[2];
4613        ALshort *srcs20[2];
4614        ALshort *srcs21[2];
4615
4616        int len;
4617        int sample;
4618
4619        len = entries[0].bytes;
4620        len /= sizeof(ALshort);
4621
4622        srcs0[0] = entries[0].data;
4623        srcs0[1] = entries[1].data;
4624        srcs1[0] = entries[2].data;
4625        srcs1[1] = entries[3].data;
4626        srcs2[0] = entries[4].data;
4627        srcs2[1] = entries[5].data;
4628        srcs3[0] = entries[6].data;
4629        srcs3[1] = entries[7].data;
4630        srcs4[0] = entries[8].data;
4631        srcs4[1] = entries[9].data;
4632        srcs5[0] = entries[10].data;
4633        srcs5[1] = entries[11].data;
4634        srcs6[0] = entries[12].data;
4635        srcs6[1] = entries[13].data;
4636        srcs7[0] = entries[14].data;
4637        srcs7[1] = entries[15].data;
4638        srcs8[0] = entries[16].data;
4639        srcs8[1] = entries[17].data;
4640        srcs9[0] = entries[18].data;
4641        srcs9[1] = entries[19].data;
4642        srcs10[0] = entries[20].data;
4643        srcs10[1] = entries[21].data;
4644        srcs11[0] = entries[22].data;
4645        srcs11[1] = entries[23].data;
4646        srcs12[0] = entries[24].data;
4647        srcs12[1] = entries[25].data;
4648        srcs13[0] = entries[26].data;
4649        srcs13[1] = entries[27].data;
4650        srcs14[0] = entries[28].data;
4651        srcs14[1] = entries[29].data;
4652        srcs15[0] = entries[30].data;
4653        srcs15[1] = entries[31].data;
4654        srcs16[0] = entries[32].data;
4655        srcs16[1] = entries[33].data;
4656        srcs17[0] = entries[34].data;
4657        srcs17[1] = entries[35].data;
4658        srcs18[0] = entries[36].data;
4659        srcs18[1] = entries[37].data;
4660        srcs19[0] = entries[38].data;
4661        srcs19[1] = entries[39].data;
4662        srcs20[0] = entries[40].data;
4663        srcs20[1] = entries[41].data;
4664        srcs21[0] = entries[42].data;
4665        srcs21[1] = entries[43].data;
4666
4667
4668        while(len--) {
4669                sample = *srcs0[0];
4670                sample += *srcs0[1];
4671                sample += *srcs1[0];
4672                sample += *srcs1[1];
4673                sample += *srcs2[0];
4674                sample += *srcs2[1];
4675                sample += *srcs3[0];
4676                sample += *srcs3[1];
4677                sample += *srcs4[0];
4678                sample += *srcs4[1];
4679                sample += *srcs5[0];
4680                sample += *srcs5[1];
4681                sample += *srcs6[0];
4682                sample += *srcs6[1];
4683                sample += *srcs7[0];
4684                sample += *srcs7[1];
4685                sample += *srcs8[0];
4686                sample += *srcs8[1];
4687                sample += *srcs9[0];
4688                sample += *srcs9[1];
4689                sample += *srcs10[0];
4690                sample += *srcs10[1];
4691                sample += *srcs11[0];
4692                sample += *srcs11[1];
4693                sample += *srcs12[0];
4694                sample += *srcs12[1];
4695                sample += *srcs13[0];
4696                sample += *srcs13[1];
4697                sample += *srcs14[0];
4698                sample += *srcs14[1];
4699                sample += *srcs15[0];
4700                sample += *srcs15[1];
4701                sample += *srcs16[0];
4702                sample += *srcs16[1];
4703                sample += *srcs17[0];
4704                sample += *srcs17[1];
4705                sample += *srcs18[0];
4706                sample += *srcs18[1];
4707                sample += *srcs19[0];
4708                sample += *srcs19[1];
4709                sample += *srcs20[0];
4710                sample += *srcs20[1];
4711                sample += *srcs21[0];
4712                sample += *srcs21[1];
4713
4714                if(sample > max_audioval ) {
4715                        *dst = max_audioval;
4716                } else if(sample < min_audioval ) {
4717                        *dst = min_audioval;
4718                } else {
4719                        *dst = sample;
4720                }
4721
4722                srcs0[0]++;
4723                srcs0[1]++;
4724                srcs1[0]++;
4725                srcs1[1]++;
4726                srcs2[0]++;
4727                srcs2[1]++;
4728                srcs3[0]++;
4729                srcs3[1]++;
4730                srcs4[0]++;
4731                srcs4[1]++;
4732                srcs5[0]++;
4733                srcs5[1]++;
4734                srcs6[0]++;
4735                srcs6[1]++;
4736                srcs7[0]++;
4737                srcs7[1]++;
4738                srcs8[0]++;
4739                srcs8[1]++;
4740                srcs9[0]++;
4741                srcs9[1]++;
4742                srcs10[0]++;
4743                srcs10[1]++;
4744                srcs11[0]++;
4745                srcs11[1]++;
4746                srcs12[0]++;
4747                srcs12[1]++;
4748                srcs13[0]++;
4749                srcs13[1]++;
4750                srcs14[0]++;
4751                srcs14[1]++;
4752                srcs15[0]++;
4753                srcs15[1]++;
4754                srcs16[0]++;
4755                srcs16[1]++;
4756                srcs17[0]++;
4757                srcs17[1]++;
4758                srcs18[0]++;
4759                srcs18[1]++;
4760                srcs19[0]++;
4761                srcs19[1]++;
4762                srcs20[0]++;
4763                srcs20[1]++;
4764                srcs21[0]++;
4765                srcs21[1]++;
4766
4767
4768                dst++;
4769        }
4770       
4771        return;
4772}
4773
4774void MixAudio16_45(ALshort *dst, alMixEntry *entries) {
4775        ALshort *srcs0[2];
4776        ALshort *srcs1[2];
4777        ALshort *srcs2[2];
4778        ALshort *srcs3[2];
4779        ALshort *srcs4[2];
4780        ALshort *srcs5[2];
4781        ALshort *srcs6[2];
4782        ALshort *srcs7[2];
4783        ALshort *srcs8[2];
4784        ALshort *srcs9[2];
4785        ALshort *srcs10[2];
4786        ALshort *srcs11[2];
4787        ALshort *srcs12[2];
4788        ALshort *srcs13[2];
4789        ALshort *srcs14[2];
4790        ALshort *srcs15[2];
4791        ALshort *srcs16[2];
4792        ALshort *srcs17[2];
4793        ALshort *srcs18[2];
4794        ALshort *srcs19[2];
4795        ALshort *srcs20[2];
4796        ALshort *srcs21[2];
4797        ALshort *srcs22;
4798
4799        int len;
4800        int sample;
4801
4802        len = entries[0].bytes;
4803        len /= sizeof(ALshort);
4804
4805        srcs0[0] = entries[0].data;
4806        srcs0[1] = entries[1].data;
4807        srcs1[0] = entries[2].data;
4808        srcs1[1] = entries[3].data;
4809        srcs2[0] = entries[4].data;
4810        srcs2[1] = entries[5].data;
4811        srcs3[0] = entries[6].data;
4812        srcs3[1] = entries[7].data;
4813        srcs4[0] = entries[8].data;
4814        srcs4[1] = entries[9].data;
4815        srcs5[0] = entries[10].data;
4816        srcs5[1] = entries[11].data;
4817        srcs6[0] = entries[12].data;
4818        srcs6[1] = entries[13].data;
4819        srcs7[0] = entries[14].data;
4820        srcs7[1] = entries[15].data;
4821        srcs8[0] = entries[16].data;
4822        srcs8[1] = entries[17].data;
4823        srcs9[0] = entries[18].data;
4824        srcs9[1] = entries[19].data;
4825        srcs10[0] = entries[20].data;
4826        srcs10[1] = entries[21].data;
4827        srcs11[0] = entries[22].data;
4828        srcs11[1] = entries[23].data;
4829        srcs12[0] = entries[24].data;
4830        srcs12[1] = entries[25].data;
4831        srcs13[0] = entries[26].data;
4832        srcs13[1] = entries[27].data;
4833        srcs14[0] = entries[28].data;
4834        srcs14[1] = entries[29].data;
4835        srcs15[0] = entries[30].data;
4836        srcs15[1] = entries[31].data;
4837        srcs16[0] = entries[32].data;
4838        srcs16[1] = entries[33].data;
4839        srcs17[0] = entries[34].data;
4840        srcs17[1] = entries[35].data;
4841        srcs18[0] = entries[36].data;
4842        srcs18[1] = entries[37].data;
4843        srcs19[0] = entries[38].data;
4844        srcs19[1] = entries[39].data;
4845        srcs20[0] = entries[40].data;
4846        srcs20[1] = entries[41].data;
4847        srcs21[0] = entries[42].data;
4848        srcs21[1] = entries[43].data;
4849        srcs22    = entries[44].data;
4850
4851
4852        while(len--) {
4853                sample = *srcs0[0];
4854                sample += *srcs0[1];
4855                sample += *srcs1[0];
4856                sample += *srcs1[1];
4857                sample += *srcs2[0];
4858                sample += *srcs2[1];
4859                sample += *srcs3[0];
4860                sample += *srcs3[1];
4861                sample += *srcs4[0];
4862                sample += *srcs4[1];
4863                sample += *srcs5[0];
4864                sample += *srcs5[1];
4865                sample += *srcs6[0];
4866                sample += *srcs6[1];
4867                sample += *srcs7[0];
4868                sample += *srcs7[1];
4869                sample += *srcs8[0];
4870                sample += *srcs8[1];
4871                sample += *srcs9[0];
4872                sample += *srcs9[1];
4873                sample += *srcs10[0];
4874                sample += *srcs10[1];
4875                sample += *srcs11[0];
4876                sample += *srcs11[1];
4877                sample += *srcs12[0];
4878                sample += *srcs12[1];
4879                sample += *srcs13[0];
4880                sample += *srcs13[1];
4881                sample += *srcs14[0];
4882                sample += *srcs14[1];
4883                sample += *srcs15[0];
4884                sample += *srcs15[1];
4885                sample += *srcs16[0];
4886                sample += *srcs16[1];
4887                sample += *srcs17[0];
4888                sample += *srcs17[1];
4889                sample += *srcs18[0];
4890                sample += *srcs18[1];
4891                sample += *srcs19[0];
4892                sample += *srcs19[1];
4893                sample += *srcs20[0];
4894                sample += *srcs20[1];
4895                sample += *srcs21[0];
4896                sample += *srcs21[1];
4897                sample += *srcs22;
4898
4899                if(sample > max_audioval ) {
4900                        *dst = max_audioval;
4901                } else if(sample < min_audioval ) {
4902                        *dst = min_audioval;
4903                } else {
4904                        *dst = sample;
4905                }
4906
4907                srcs0[0]++;
4908                srcs0[1]++;
4909                srcs1[0]++;
4910                srcs1[1]++;
4911                srcs2[0]++;
4912                srcs2[1]++;
4913                srcs3[0]++;
4914                srcs3[1]++;
4915                srcs4[0]++;
4916                srcs4[1]++;
4917                srcs5[0]++;
4918                srcs5[1]++;
4919                srcs6[0]++;
4920                srcs6[1]++;
4921                srcs7[0]++;
4922                srcs7[1]++;
4923                srcs8[0]++;
4924                srcs8[1]++;
4925                srcs9[0]++;
4926                srcs9[1]++;
4927                srcs10[0]++;
4928                srcs10[1]++;
4929                srcs11[0]++;
4930                srcs11[1]++;
4931                srcs12[0]++;
4932                srcs12[1]++;
4933                srcs13[0]++;
4934                srcs13[1]++;
4935                srcs14[0]++;
4936                srcs14[1]++;
4937                srcs15[0]++;
4938                srcs15[1]++;
4939                srcs16[0]++;
4940                srcs16[1]++;
4941                srcs17[0]++;
4942                srcs17[1]++;
4943                srcs18[0]++;
4944                srcs18[1]++;
4945                srcs19[0]++;
4946                srcs19[1]++;
4947                srcs20[0]++;
4948                srcs20[1]++;
4949                srcs21[0]++;
4950                srcs21[1]++;
4951                srcs22++;
4952
4953
4954                dst++;
4955        }
4956       
4957        return;
4958}
4959
4960void MixAudio16_46(ALshort *dst, alMixEntry *entries) {
4961        ALshort *srcs0[2];
4962        ALshort *srcs1[2];
4963        ALshort *srcs2[2];
4964        ALshort *srcs3[2];
4965        ALshort *srcs4[2];
4966        ALshort *srcs5[2];
4967        ALshort *srcs6[2];
4968        ALshort *srcs7[2];
4969        ALshort *srcs8[2];
4970        ALshort *srcs9[2];
4971        ALshort *srcs10[2];
4972        ALshort *srcs11[2];
4973        ALshort *srcs12[2];
4974        ALshort *srcs13[2];
4975        ALshort *srcs14[2];
4976        ALshort *srcs15[2];
4977        ALshort *srcs16[2];
4978        ALshort *srcs17[2];
4979        ALshort *srcs18[2];
4980        ALshort *srcs19[2];
4981        ALshort *srcs20[2];
4982        ALshort *srcs21[2];
4983        ALshort *srcs22[2];
4984
4985        int len;
4986        int sample;
4987
4988        len = entries[0].bytes;
4989        len /= sizeof(ALshort);
4990
4991        srcs0[0] = entries[0].data;
4992        srcs0[1] = entries[1].data;
4993        srcs1[0] = entries[2].data;
4994        srcs1[1] = entries[3].data;
4995        srcs2[0] = entries[4].data;
4996        srcs2[1] = entries[5].data;
4997        srcs3[0] = entries[6].data;
4998        srcs3[1] = entries[7].data;
4999        srcs4[0] = entries[8].data;
5000        srcs4[1] = entries[9].data;
5001        srcs5[0] = entries[10].data;
5002        srcs5[1] = entries[11].data;
5003        srcs6[0] = entries[12].data;
5004        srcs6[1] = entries[13].data;
5005        srcs7[0] = entries[14].data;
5006        srcs7[1] = entries[15].data;
5007        srcs8[0] = entries[16].data;
5008        srcs8[1] = entries[17].data;
5009        srcs9[0] = entries[18].data;
5010        srcs9[1] = entries[19].data;
5011        srcs10[0] = entries[20].data;
5012        srcs10[1] = entries[21].data;
5013        srcs11[0] = entries[22].data;
5014        srcs11[1] = entries[23].data;
5015        srcs12[0] = entries[24].data;
5016        srcs12[1] = entries[25].data;
5017        srcs13[0] = entries[26].data;
5018        srcs13[1] = entries[27].data;
5019        srcs14[0] = entries[28].data;
5020        srcs14[1] = entries[29].data;
5021        srcs15[0] = entries[30].data;
5022        srcs15[1] = entries[31].data;
5023        srcs16[0] = entries[32].data;
5024        srcs16[1] = entries[33].data;
5025        srcs17[0] = entries[34].data;
5026        srcs17[1] = entries[35].data;
5027        srcs18[0] = entries[36].data;
5028        srcs18[1] = entries[37].data;
5029        srcs19[0] = entries[38].data;
5030        srcs19[1] = entries[39].data;
5031        srcs20[0] = entries[40].data;
5032        srcs20[1] = entries[41].data;
5033        srcs21[0] = entries[42].data;
5034        srcs21[1] = entries[43].data;
5035        srcs22[0] = entries[44].data;
5036        srcs22[1] = entries[45].data;
5037
5038
5039        while(len--) {
5040                sample = *srcs0[0];
5041                sample += *srcs0[1];
5042                sample += *srcs1[0];
5043                sample += *srcs1[1];
5044                sample += *srcs2[0];
5045                sample += *srcs2[1];
5046                sample += *srcs3[0];
5047                sample += *srcs3[1];
5048                sample += *srcs4[0];
5049                sample += *srcs4[1];
5050                sample += *srcs5[0];
5051                sample += *srcs5[1];
5052                sample += *srcs6[0];
5053                sample += *srcs6[1];
5054                sample += *srcs7[0];
5055                sample += *srcs7[1];
5056                sample += *srcs8[0];
5057                sample += *srcs8[1];
5058                sample += *srcs9[0];
5059                sample += *srcs9[1];
5060                sample += *srcs10[0];
5061                sample += *srcs10[1];
5062                sample += *srcs11[0];
5063                sample += *srcs11[1];
5064                sample += *srcs12[0];
5065                sample += *srcs12[1];
5066                sample += *srcs13[0];
5067                sample += *srcs13[1];
5068                sample += *srcs14[0];
5069                sample += *srcs14[1];
5070                sample += *srcs15[0];
5071                sample += *srcs15[1];
5072                sample += *srcs16[0];
5073                sample += *srcs16[1];
5074                sample += *srcs17[0];
5075                sample += *srcs17[1];
5076                sample += *srcs18[0];
5077                sample += *srcs18[1];
5078                sample += *srcs19[0];
5079                sample += *srcs19[1];
5080                sample += *srcs20[0];
5081                sample += *srcs20[1];
5082                sample += *srcs21[0];
5083                sample += *srcs21[1];
5084                sample += *srcs22[0];
5085                sample += *srcs22[1];
5086
5087                if(sample > max_audioval ) {
5088                        *dst = max_audioval;
5089                } else if(sample < min_audioval ) {
5090                        *dst = min_audioval;
5091                } else {
5092                        *dst = sample;
5093                }
5094
5095                srcs0[0]++;
5096                srcs0[1]++;
5097                srcs1[0]++;
5098                srcs1[1]++;
5099                srcs2[0]++;
5100                srcs2[1]++;
5101                srcs3[0]++;
5102                srcs3[1]++;
5103                srcs4[0]++;
5104                srcs4[1]++;
5105                srcs5[0]++;
5106                srcs5[1]++;
5107                srcs6[0]++;
5108                srcs6[1]++;
5109                srcs7[0]++;
5110                srcs7[1]++;
5111                srcs8[0]++;
5112                srcs8[1]++;
5113                srcs9[0]++;
5114                srcs9[1]++;
5115                srcs10[0]++;
5116                srcs10[1]++;
5117                srcs11[0]++;
5118                srcs11[1]++;
5119                srcs12[0]++;
5120                srcs12[1]++;
5121                srcs13[0]++;
5122                srcs13[1]++;
5123                srcs14[0]++;
5124                srcs14[1]++;
5125                srcs15[0]++;
5126                srcs15[1]++;
5127                srcs16[0]++;
5128                srcs16[1]++;
5129                srcs17[0]++;
5130                srcs17[1]++;
5131                srcs18[0]++;
5132                srcs18[1]++;
5133                srcs19[0]++;
5134                srcs19[1]++;
5135                srcs20[0]++;
5136                srcs20[1]++;
5137                srcs21[0]++;
5138                srcs21[1]++;
5139                srcs22[0]++;
5140                srcs22[1]++;
5141
5142
5143                dst++;
5144        }
5145       
5146        return;
5147}
5148
5149void MixAudio16_47(ALshort *dst, alMixEntry *entries) {
5150        ALshort *srcs0[2];
5151        ALshort *srcs1[2];
5152        ALshort *srcs2[2];
5153        ALshort *srcs3[2];
5154        ALshort *srcs4[2];
5155        ALshort *srcs5[2];
5156        ALshort *srcs6[2];
5157        ALshort *srcs7[2];
5158        ALshort *srcs8[2];
5159        ALshort *srcs9[2];
5160        ALshort *srcs10[2];
5161        ALshort *srcs11[2];
5162        ALshort *srcs12[2];
5163        ALshort *srcs13[2];
5164        ALshort *srcs14[2];
5165        ALshort *srcs15[2];
5166        ALshort *srcs16[2];
5167        ALshort *srcs17[2];
5168        ALshort *srcs18[2];
5169        ALshort *srcs19[2];
5170        ALshort *srcs20[2];
5171        ALshort *srcs21[2];
5172        ALshort *srcs22[2];
5173        ALshort *srcs23;
5174
5175        int len;
5176        int sample;
5177
5178        len = entries[0].bytes;
5179        len /= sizeof(ALshort);
5180
5181        srcs0[0] = entries[0].data;
5182        srcs0[1] = entries[1].data;
5183        srcs1[0] = entries[2].data;
5184        srcs1[1] = entries[3].data;
5185        srcs2[0] = entries[4].data;
5186        srcs2[1] = entries[5].data;
5187        srcs3[0] = entries[6].data;
5188        srcs3[1] = entries[7].data;
5189        srcs4[0] = entries[8].data;
5190        srcs4[1] = entries[9].data;
5191        srcs5[0] = entries[10].data;
5192        srcs5[1] = entries[11].data;
5193        srcs6[0] = entries[12].data;
5194        srcs6[1] = entries[13].data;
5195        srcs7[0] = entries[14].data;
5196        srcs7[1] = entries[15].data;
5197        srcs8[0] = entries[16].data;
5198        srcs8[1] = entries[17].data;
5199        srcs9[0] = entries[18].data;
5200        srcs9[1] = entries[19].data;
5201        srcs10[0] = entries[20].data;
5202        srcs10[1] = entries[21].data;
5203        srcs11[0] = entries[22].data;
5204        srcs11[1] = entries[23].data;
5205        srcs12[0] = entries[24].data;
5206        srcs12[1] = entries[25].data;
5207        srcs13[0] = entries[26].data;
5208        srcs13[1] = entries[27].data;
5209        srcs14[0] = entries[28].data;
5210        srcs14[1] = entries[29].data;
5211        srcs15[0] = entries[30].data;
5212        srcs15[1] = entries[31].data;
5213        srcs16[0] = entries[32].data;
5214        srcs16[1] = entries[33].data;
5215        srcs17[0] = entries[34].data;
5216        srcs17[1] = entries[35].data;
5217        srcs18[0] = entries[36].data;
5218        srcs18[1] = entries[37].data;
5219        srcs19[0] = entries[38].data;
5220        srcs19[1] = entries[39].data;
5221        srcs20[0] = entries[40].data;
5222        srcs20[1] = entries[41].data;
5223        srcs21[0] = entries[42].data;
5224        srcs21[1] = entries[43].data;
5225        srcs22[0] = entries[44].data;
5226        srcs22[1] = entries[45].data;
5227        srcs23    = entries[46].data;
5228
5229
5230        while(len--) {
5231                sample = *srcs0[0];
5232                sample += *srcs0[1];
5233                sample += *srcs1[0];
5234                sample += *srcs1[1];
5235                sample += *srcs2[0];
5236                sample += *srcs2[1];
5237                sample += *srcs3[0];
5238                sample += *srcs3[1];
5239                sample += *srcs4[0];
5240                sample += *srcs4[1];
5241                sample += *srcs5[0];
5242                sample += *srcs5[1];
5243                sample += *srcs6[0];
5244                sample += *srcs6[1];
5245                sample += *srcs7[0];
5246                sample += *srcs7[1];
5247                sample += *srcs8[0];
5248                sample += *srcs8[1];
5249                sample += *srcs9[0];
5250                sample += *srcs9[1];
5251                sample += *srcs10[0];
5252                sample += *srcs10[1];
5253                sample += *srcs11[0];
5254                sample += *srcs11[1];
5255                sample += *srcs12[0];
5256                sample += *srcs12[1];
5257                sample += *srcs13[0];
5258                sample += *srcs13[1];
5259                sample += *srcs14[0];
5260                sample += *srcs14[1];
5261                sample += *srcs15[0];
5262                sample += *srcs15[1];
5263                sample += *srcs16[0];
5264                sample += *srcs16[1];
5265                sample += *srcs17[0];
5266                sample += *srcs17[1];
5267                sample += *srcs18[0];
5268                sample += *srcs18[1];
5269                sample += *srcs19[0];
5270                sample += *srcs19[1];
5271                sample += *srcs20[0];
5272                sample += *srcs20[1];
5273                sample += *srcs21[0];
5274                sample += *srcs21[1];
5275                sample += *srcs22[0];
5276                sample += *srcs22[1];
5277                sample += *srcs23;
5278
5279                if(sample > max_audioval ) {
5280                        *dst = max_audioval;
5281                } else if(sample < min_audioval ) {
5282                        *dst = min_audioval;
5283                } else {
5284                        *dst = sample;
5285                }
5286
5287                srcs0[0]++;
5288                srcs0[1]++;
5289                srcs1[0]++;
5290                srcs1[1]++;
5291                srcs2[0]++;
5292                srcs2[1]++;
5293                srcs3[0]++;
5294                srcs3[1]++;
5295                srcs4[0]++;
5296                srcs4[1]++;
5297                srcs5[0]++;
5298                srcs5[1]++;
5299                srcs6[0]++;
5300                srcs6[1]++;
5301                srcs7[0]++;
5302                srcs7[1]++;
5303                srcs8[0]++;
5304                srcs8[1]++;
5305                srcs9[0]++;
5306                srcs9[1]++;
5307                srcs10[0]++;
5308                srcs10[1]++;
5309                srcs11[0]++;
5310                srcs11[1]++;
5311                srcs12[0]++;
5312                srcs12[1]++;
5313                srcs13[0]++;
5314                srcs13[1]++;
5315                srcs14[0]++;
5316                srcs14[1]++;
5317                srcs15[0]++;
5318                srcs15[1]++;
5319                srcs16[0]++;
5320                srcs16[1]++;
5321                srcs17[0]++;
5322                srcs17[1]++;
5323                srcs18[0]++;
5324                srcs18[1]++;
5325                srcs19[0]++;
5326                srcs19[1]++;
5327                srcs20[0]++;
5328                srcs20[1]++;
5329                srcs21[0]++;
5330                srcs21[1]++;
5331                srcs22[0]++;
5332                srcs22[1]++;
5333                srcs23++;
5334
5335
5336                dst++;
5337        }
5338       
5339        return;
5340}
5341
5342void MixAudio16_48(ALshort *dst, alMixEntry *entries) {
5343        ALshort *srcs0[2];
5344        ALshort *srcs1[2];
5345        ALshort *srcs2[2];
5346        ALshort *srcs3[2];
5347        ALshort *srcs4[2];
5348        ALshort *srcs5[2];
5349        ALshort *srcs6[2];
5350        ALshort *srcs7[2];
5351        ALshort *srcs8[2];
5352        ALshort *srcs9[2];
5353        ALshort *srcs10[2];
5354        ALshort *srcs11[2];
5355        ALshort *srcs12[2];
5356        ALshort *srcs13[2];
5357        ALshort *srcs14[2];
5358        ALshort *srcs15[2];
5359        ALshort *srcs16[2];
5360        ALshort *srcs17[2];
5361        ALshort *srcs18[2];
5362        ALshort *srcs19[2];
5363        ALshort *srcs20[2];
5364        ALshort *srcs21[2];
5365        ALshort *srcs22[2];
5366        ALshort *srcs23[2];
5367
5368        int len;
5369        int sample;
5370
5371        len = entries[0].bytes;
5372        len /= sizeof(ALshort);
5373
5374        srcs0[0] = entries[0].data;
5375        srcs0[1] = entries[1].data;
5376        srcs1[0] = entries[2].data;
5377        srcs1[1] = entries[3].data;
5378        srcs2[0] = entries[4].data;
5379        srcs2[1] = entries[5].data;
5380        srcs3[0] = entries[6].data;
5381        srcs3[1] = entries[7].data;
5382        srcs4[0] = entries[8].data;
5383        srcs4[1] = entries[9].data;
5384        srcs5[0] = entries[10].data;
5385        srcs5[1] = entries[11].data;
5386        srcs6[0] = entries[12].data;
5387        srcs6[1] = entries[13].data;
5388        srcs7[0] = entries[14].data;
5389        srcs7[1] = entries[15].data;
5390        srcs8[0] = entries[16].data;
5391        srcs8[1] = entries[17].data;
5392        srcs9[0] = entries[18].data;
5393        srcs9[1] = entries[19].data;
5394        srcs10[0] = entries[20].data;
5395        srcs10[1] = entries[21].data;
5396        srcs11[0] = entries[22].data;
5397        srcs11[1] = entries[23].data;
5398        srcs12[0] = entries[24].data;
5399        srcs12[1] = entries[25].data;
5400        srcs13[0] = entries[26].data;
5401        srcs13[1] = entries[27].data;
5402        srcs14[0] = entries[28].data;
5403        srcs14[1] = entries[29].data;
5404        srcs15[0] = entries[30].data;
5405        srcs15[1] = entries[31].data;
5406        srcs16[0] = entries[32].data;
5407        srcs16[1] = entries[33].data;
5408        srcs17[0] = entries[34].data;
5409        srcs17[1] = entries[35].data;
5410        srcs18[0] = entries[36].data;
5411        srcs18[1] = entries[37].data;
5412        srcs19[0] = entries[38].data;
5413        srcs19[1] = entries[39].data;
5414        srcs20[0] = entries[40].data;
5415        srcs20[1] = entries[41].data;
5416        srcs21[0] = entries[42].data;
5417        srcs21[1] = entries[43].data;
5418        srcs22[0] = entries[44].data;
5419        srcs22[1] = entries[45].data;
5420        srcs23[0] = entries[46].data;
5421        srcs23[1] = entries[47].data;
5422
5423
5424        while(len--) {
5425                sample = *srcs0[0];
5426                sample += *srcs0[1];
5427                sample += *srcs1[0];
5428                sample += *srcs1[1];
5429                sample += *srcs2[0];
5430                sample += *srcs2[1];
5431                sample += *srcs3[0];
5432                sample += *srcs3[1];
5433                sample += *srcs4[0];
5434                sample += *srcs4[1];
5435                sample += *srcs5[0];
5436                sample += *srcs5[1];
5437                sample += *srcs6[0];
5438                sample += *srcs6[1];
5439                sample += *srcs7[0];
5440                sample += *srcs7[1];
5441                sample += *srcs8[0];
5442                sample += *srcs8[1];
5443                sample += *srcs9[0];
5444                sample += *srcs9[1];
5445                sample += *srcs10[0];
5446                sample += *srcs10[1];
5447                sample += *srcs11[0];
5448                sample += *srcs11[1];
5449                sample += *srcs12[0];
5450                sample += *srcs12[1];
5451                sample += *srcs13[0];
5452                sample += *srcs13[1];
5453                sample += *srcs14[0];
5454                sample += *srcs14[1];
5455                sample += *srcs15[0];
5456                sample += *srcs15[1];
5457                sample += *srcs16[0];
5458                sample += *srcs16[1];
5459                sample += *srcs17[0];
5460                sample += *srcs17[1];
5461                sample += *srcs18[0];
5462                sample += *srcs18[1];
5463                sample += *srcs19[0];
5464                sample += *srcs19[1];
5465                sample += *srcs20[0];
5466                sample += *srcs20[1];
5467                sample += *srcs21[0];
5468                sample += *srcs21[1];
5469                sample += *srcs22[0];
5470                sample += *srcs22[1];
5471                sample += *srcs23[0];
5472                sample += *srcs23[1];
5473
5474                if(sample > max_audioval ) {
5475                        *dst = max_audioval;
5476                } else if(sample < min_audioval ) {
5477                        *dst = min_audioval;
5478                } else {
5479                        *dst = sample;
5480                }
5481
5482                srcs0[0]++;
5483                srcs0[1]++;
5484                srcs1[0]++;
5485                srcs1[1]++;
5486                srcs2[0]++;
5487                srcs2[1]++;
5488                srcs3[0]++;
5489                srcs3[1]++;
5490                srcs4[0]++;
5491                srcs4[1]++;
5492                srcs5[0]++;
5493                srcs5[1]++;
5494                srcs6[0]++;
5495                srcs6[1]++;
5496                srcs7[0]++;
5497                srcs7[1]++;
5498                srcs8[0]++;
5499                srcs8[1]++;
5500                srcs9[0]++;
5501                srcs9[1]++;
5502                srcs10[0]++;
5503                srcs10[1]++;
5504                srcs11[0]++;
5505                srcs11[1]++;
5506                srcs12[0]++;
5507                srcs12[1]++;
5508                srcs13[0]++;
5509                srcs13[1]++;
5510                srcs14[0]++;
5511                srcs14[1]++;
5512                srcs15[0]++;
5513                srcs15[1]++;
5514                srcs16[0]++;
5515                srcs16[1]++;
5516                srcs17[0]++;
5517                srcs17[1]++;
5518                srcs18[0]++;
5519                srcs18[1]++;
5520                srcs19[0]++;
5521                srcs19[1]++;
5522                srcs20[0]++;
5523                srcs20[1]++;
5524                srcs21[0]++;
5525                srcs21[1]++;
5526                srcs22[0]++;
5527                srcs22[1]++;
5528                srcs23[0]++;
5529                srcs23[1]++;
5530
5531
5532                dst++;
5533        }
5534       
5535        return;
5536}
5537
5538void MixAudio16_49(ALshort *dst, alMixEntry *entries) {
5539        ALshort *srcs0[2];
5540        ALshort *srcs1[2];
5541        ALshort *srcs2[2];
5542        ALshort *srcs3[2];
5543        ALshort *srcs4[2];
5544        ALshort *srcs5[2];
5545        ALshort *srcs6[2];
5546        ALshort *srcs7[2];
5547        ALshort *srcs8[2];
5548        ALshort *srcs9[2];
5549        ALshort *srcs10[2];
5550        ALshort *srcs11[2];
5551        ALshort *srcs12[2];
5552        ALshort *srcs13[2];
5553        ALshort *srcs14[2];
5554        ALshort *srcs15[2];
5555        ALshort *srcs16[2];
5556        ALshort *srcs17[2];
5557        ALshort *srcs18[2];
5558        ALshort *srcs19[2];
5559        ALshort *srcs20[2];
5560        ALshort *srcs21[2];
5561        ALshort *srcs22[2];
5562        ALshort *srcs23[2];
5563        ALshort *srcs24;
5564
5565        int len;
5566        int sample;
5567
5568        len = entries[0].bytes;
5569        len /= sizeof(ALshort);
5570
5571        srcs0[0] = entries[0].data;
5572        srcs0[1] = entries[1].data;
5573        srcs1[0] = entries[2].data;
5574        srcs1[1] = entries[3].data;
5575        srcs2[0] = entries[4].data;
5576        srcs2[1] = entries[5].data;
5577        srcs3[0] = entries[6].data;
5578        srcs3[1] = entries[7].data;
5579        srcs4[0] = entries[8].data;
5580        srcs4[1] = entries[9].data;
5581        srcs5[0] = entries[10].data;
5582        srcs5[1] = entries[11].data;
5583        srcs6[0] = entries[12].data;
5584        srcs6[1] = entries[13].data;
5585        srcs7[0] = entries[14].data;
5586        srcs7[1] = entries[15].data;
5587        srcs8[0] = entries[16].data;
5588        srcs8[1] = entries[17].data;
5589        srcs9[0] = entries[18].data;
5590        srcs9[1] = entries[19].data;
5591        srcs10[0] = entries[20].data;
5592        srcs10[1] = entries[21].data;
5593        srcs11[0] = entries[22].data;
5594        srcs11[1] = entries[23].data;
5595        srcs12[0] = entries[24].data;
5596        srcs12[1] = entries[25].data;
5597        srcs13[0] = entries[26].data;
5598        srcs13[1] = entries[27].data;
5599        srcs14[0] = entries[28].data;
5600        srcs14[1] = entries[29].data;
5601        srcs15[0] = entries[30].data;
5602        srcs15[1] = entries[31].data;
5603        srcs16[0] = entries[32].data;
5604        srcs16[1] = entries[33].data;
5605        srcs17[0] = entries[34].data;
5606        srcs17[1] = entries[35].data;
5607        srcs18[0] = entries[36].data;
5608        srcs18[1] = entries[37].data;
5609        srcs19[0] = entries[38].data;
5610        srcs19[1] = entries[39].data;
5611        srcs20[0] = entries[40].data;
5612        srcs20[1] = entries[41].data;
5613        srcs21[0] = entries[42].data;
5614        srcs21[1] = entries[43].data;
5615        srcs22[0] = entries[44].data;
5616        srcs22[1] = entries[45].data;
5617        srcs23[0] = entries[46].data;
5618        srcs23[1] = entries[47].data;
5619        srcs24    = entries[48].data;
5620
5621
5622        while(len--) {
5623                sample = *srcs0[0];
5624                sample += *srcs0[1];
5625                sample += *srcs1[0];
5626                sample += *srcs1[1];
5627                sample += *srcs2[0];
5628                sample += *srcs2[1];
5629                sample += *srcs3[0];
5630                sample += *srcs3[1];
5631                sample += *srcs4[0];
5632                sample += *srcs4[1];
5633                sample += *srcs5[0];
5634                sample += *srcs5[1];
5635                sample += *srcs6[0];
5636                sample += *srcs6[1];
5637                sample += *srcs7[0];
5638                sample += *srcs7[1];
5639                sample += *srcs8[0];
5640                sample += *srcs8[1];
5641                sample += *srcs9[0];
5642                sample += *srcs9[1];
5643                sample += *srcs10[0];
5644                sample += *srcs10[1];
5645                sample += *srcs11[0];
5646                sample += *srcs11[1];
5647                sample += *srcs12[0];
5648                sample += *srcs12[1];
5649                sample += *srcs13[0];
5650                sample += *srcs13[1];
5651                sample += *srcs14[0];
5652                sample += *srcs14[1];
5653                sample += *srcs15[0];
5654                sample += *srcs15[1];
5655                sample += *srcs16[0];
5656                sample += *srcs16[1];
5657                sample += *srcs17[0];
5658                sample += *srcs17[1];
5659                sample += *srcs18[0];
5660                sample += *srcs18[1];
5661                sample += *srcs19[0];
5662                sample += *srcs19[1];
5663                sample += *srcs20[0];
5664                sample += *srcs20[1];
5665                sample += *srcs21[0];
5666                sample += *srcs21[1];
5667                sample += *srcs22[0];
5668                sample += *srcs22[1];
5669                sample += *srcs23[0];
5670                sample += *srcs23[1];
5671                sample += *srcs24;
5672
5673                if(sample > max_audioval ) {
5674                        *dst = max_audioval;
5675                } else if(sample < min_audioval ) {
5676                        *dst = min_audioval;
5677                } else {
5678                        *dst = sample;
5679                }
5680
5681                srcs0[0]++;
5682                srcs0[1]++;
5683                srcs1[0]++;
5684                srcs1[1]++;
5685                srcs2[0]++;
5686                srcs2[1]++;
5687                srcs3[0]++;
5688                srcs3[1]++;
5689                srcs4[0]++;
5690                srcs4[1]++;
5691                srcs5[0]++;
5692                srcs5[1]++;
5693                srcs6[0]++;
5694                srcs6[1]++;
5695                srcs7[0]++;
5696                srcs7[1]++;
5697                srcs8[0]++;
5698                srcs8[1]++;
5699                srcs9[0]++;
5700                srcs9[1]++;
5701                srcs10[0]++;
5702                srcs10[1]++;
5703                srcs11[0]++;
5704                srcs11[1]++;
5705                srcs12[0]++;
5706                srcs12[1]++;
5707                srcs13[0]++;
5708                srcs13[1]++;
5709                srcs14[0]++;
5710                srcs14[1]++;
5711                srcs15[0]++;
5712                srcs15[1]++;
5713                srcs16[0]++;
5714                srcs16[1]++;
5715                srcs17[0]++;
5716                srcs17[1]++;
5717                srcs18[0]++;
5718                srcs18[1]++;
5719                srcs19[0]++;
5720                srcs19[1]++;
5721                srcs20[0]++;
5722                srcs20[1]++;
5723                srcs21[0]++;
5724                srcs21[1]++;
5725                srcs22[0]++;
5726                srcs22[1]++;
5727                srcs23[0]++;
5728                srcs23[1]++;
5729                srcs24++;
5730
5731
5732                dst++;
5733        }
5734       
5735        return;
5736}
5737
5738void MixAudio16_50(ALshort *dst, alMixEntry *entries) {
5739        ALshort *srcs0[2];
5740        ALshort *srcs1[2];
5741        ALshort *srcs2[2];
5742        ALshort *srcs3[2];
5743        ALshort *srcs4[2];
5744        ALshort *srcs5[2];
5745        ALshort *srcs6[2];
5746        ALshort *srcs7[2];
5747        ALshort *srcs8[2];
5748        ALshort *srcs9[2];
5749        ALshort *srcs10[2];
5750        ALshort *srcs11[2];
5751        ALshort *srcs12[2];
5752        ALshort *srcs13[2];
5753        ALshort *srcs14[2];
5754        ALshort *srcs15[2];
5755        ALshort *srcs16[2];
5756        ALshort *srcs17[2];
5757        ALshort *srcs18[2];
5758        ALshort *srcs19[2];
5759        ALshort *srcs20[2];
5760        ALshort *srcs21[2];
5761        ALshort *srcs22[2];
5762        ALshort *srcs23[2];
5763        ALshort *srcs24[2];
5764
5765        int len;
5766        int sample;
5767
5768        len = entries[0].bytes;
5769        len /= sizeof(ALshort);
5770
5771        srcs0[0] = entries[0].data;
5772        srcs0[1] = entries[1].data;
5773        srcs1[0] = entries[2].data;
5774        srcs1[1] = entries[3].data;
5775        srcs2[0] = entries[4].data;
5776        srcs2[1] = entries[5].data;
5777        srcs3[0] = entries[6].data;
5778        srcs3[1] = entries[7].data;
5779        srcs4[0] = entries[8].data;
5780        srcs4[1] = entries[9].data;
5781        srcs5[0] = entries[10].data;
5782        srcs5[1] = entries[11].data;
5783        srcs6[0] = entries[12].data;
5784        srcs6[1] = entries[13].data;
5785        srcs7[0] = entries[14].data;
5786        srcs7[1] = entries[15].data;
5787        srcs8[0] = entries[16].data;
5788        srcs8[1] = entries[17].data;
5789        srcs9[0] = entries[18].data;
5790        srcs9[1] = entries[19].data;
5791        srcs10[0] = entries[20].data;
5792        srcs10[1] = entries[21].data;
5793        srcs11[0] = entries[22].data;
5794        srcs11[1] = entries[23].data;
5795        srcs12[0] = entries[24].data;
5796        srcs12[1] = entries[25].data;
5797        srcs13[0] = entries[26].data;
5798        srcs13[1] = entries[27].data;
5799        srcs14[0] = entries[28].data;
5800        srcs14[1] = entries[29].data;
5801        srcs15[0] = entries[30].data;
5802        srcs15[1] = entries[31].data;
5803        srcs16[0] = entries[32].data;
5804        srcs16[1] = entries[33].data;
5805        srcs17[0] = entries[34].data;
5806        srcs17[1] = entries[35].data;
5807        srcs18[0] = entries[36].data;
5808        srcs18[1] = entries[37].data;
5809        srcs19[0] = entries[38].data;
5810        srcs19[1] = entries[39].data;
5811        srcs20[0] = entries[40].data;
5812        srcs20[1] = entries[41].data;
5813        srcs21[0] = entries[42].data;
5814        srcs21[1] = entries[43].data;
5815        srcs22[0] = entries[44].data;
5816        srcs22[1] = entries[45].data;
5817        srcs23[0] = entries[46].data;
5818        srcs23[1] = entries[47].data;
5819        srcs24[0] = entries[48].data;
5820        srcs24[1] = entries[49].data;
5821
5822
5823        while(len--) {
5824                sample = *srcs0[0];
5825                sample += *srcs0[1];
5826                sample += *srcs1[0];
5827                sample += *srcs1[1];
5828                sample += *srcs2[0];
5829                sample += *srcs2[1];
5830                sample += *srcs3[0];
5831                sample += *srcs3[1];
5832                sample += *srcs4[0];
5833                sample += *srcs4[1];
5834                sample += *srcs5[0];
5835                sample += *srcs5[1];
5836                sample += *srcs6[0];
5837                sample += *srcs6[1];
5838                sample += *srcs7[0];
5839                sample += *srcs7[1];
5840                sample += *srcs8[0];
5841                sample += *srcs8[1];
5842                sample += *srcs9[0];
5843                sample += *srcs9[1];
5844                sample += *srcs10[0];
5845                sample += *srcs10[1];
5846                sample += *srcs11[0];
5847                sample += *srcs11[1];
5848                sample += *srcs12[0];
5849                sample += *srcs12[1];
5850                sample += *srcs13[0];
5851                sample += *srcs13[1];
5852                sample += *srcs14[0];
5853                sample += *srcs14[1];
5854                sample += *srcs15[0];
5855                sample += *srcs15[1];
5856                sample += *srcs16[0];
5857                sample += *srcs16[1];
5858                sample += *srcs17[0];
5859                sample += *srcs17[1];
5860                sample += *srcs18[0];
5861                sample += *srcs18[1];
5862                sample += *srcs19[0];
5863                sample += *srcs19[1];
5864                sample += *srcs20[0];
5865                sample += *srcs20[1];
5866                sample += *srcs21[0];
5867                sample += *srcs21[1];
5868                sample += *srcs22[0];
5869                sample += *srcs22[1];
5870                sample += *srcs23[0];
5871                sample += *srcs23[1];
5872                sample += *srcs24[0];
5873                sample += *srcs24[1];
5874
5875                if(sample > max_audioval ) {
5876                        *dst = max_audioval;
5877                } else if(sample < min_audioval ) {
5878                        *dst = min_audioval;
5879                } else {
5880                        *dst = sample;
5881                }
5882
5883                srcs0[0]++;
5884                srcs0[1]++;
5885                srcs1[0]++;
5886                srcs1[1]++;
5887                srcs2[0]++;
5888                srcs2[1]++;
5889                srcs3[0]++;
5890                srcs3[1]++;
5891                srcs4[0]++;
5892                srcs4[1]++;
5893                srcs5[0]++;
5894                srcs5[1]++;
5895                srcs6[0]++;
5896                srcs6[1]++;
5897                srcs7[0]++;
5898                srcs7[1]++;
5899                srcs8[0]++;
5900                srcs8[1]++;
5901                srcs9[0]++;
5902                srcs9[1]++;
5903                srcs10[0]++;
5904                srcs10[1]++;
5905                srcs11[0]++;
5906                srcs11[1]++;
5907                srcs12[0]++;
5908                srcs12[1]++;
5909                srcs13[0]++;
5910                srcs13[1]++;
5911                srcs14[0]++;
5912                srcs14[1]++;
5913                srcs15[0]++;
5914                srcs15[1]++;
5915                srcs16[0]++;
5916                srcs16[1]++;
5917                srcs17[0]++;
5918                srcs17[1]++;
5919                srcs18[0]++;
5920                srcs18[1]++;
5921                srcs19[0]++;
5922                srcs19[1]++;
5923                srcs20[0]++;
5924                srcs20[1]++;
5925                srcs21[0]++;
5926                srcs21[1]++;
5927                srcs22[0]++;
5928                srcs22[1]++;
5929                srcs23[0]++;
5930                srcs23[1]++;
5931                srcs24[0]++;
5932                srcs24[1]++;
5933
5934
5935                dst++;
5936        }
5937       
5938        return;
5939}
5940
5941void MixAudio16_51(ALshort *dst, alMixEntry *entries) {
5942        ALshort *srcs0[2];
5943        ALshort *srcs1[2];
5944        ALshort *srcs2[2];
5945        ALshort *srcs3[2];
5946        ALshort *srcs4[2];
5947        ALshort *srcs5[2];
5948        ALshort *srcs6[2];
5949        ALshort *srcs7[2];
5950        ALshort *srcs8[2];
5951        ALshort *srcs9[2];
5952        ALshort *srcs10[2];
5953        ALshort *srcs11[2];
5954        ALshort *srcs12[2];
5955        ALshort *srcs13[2];
5956        ALshort *srcs14[2];
5957        ALshort *srcs15[2];
5958        ALshort *srcs16[2];
5959        ALshort *srcs17[2];
5960        ALshort *srcs18[2];
5961        ALshort *srcs19[2];
5962        ALshort *srcs20[2];
5963        ALshort *srcs21[2];
5964        ALshort *srcs22[2];
5965        ALshort *srcs23[2];
5966        ALshort *srcs24[2];
5967        ALshort *srcs25;
5968
5969        int len;
5970        int sample;
5971
5972        len = entries[0].bytes;
5973        len /= sizeof(ALshort);
5974
5975        srcs0[0] = entries[0].data;
5976        srcs0[1] = entries[1].data;
5977        srcs1[0] = entries[2].data;
5978        srcs1[1] = entries[3].data;
5979        srcs2[0] = entries[4].data;
5980        srcs2[1] = entries[5].data;
5981        srcs3[0] = entries[6].data;
5982        srcs3[1] = entries[7].data;
5983        srcs4[0] = entries[8].data;
5984        srcs4[1] = entries[9].data;
5985        srcs5[0] = entries[10].data;
5986        srcs5[1] = entries[11].data;
5987        srcs6[0] = entries[12].data;
5988        srcs6[1] = entries[13].data;
5989        srcs7[0] = entries[14].data;
5990        srcs7[1] = entries[15].data;
5991        srcs8[0] = entries[16].data;
5992        srcs8[1] = entries[17].data;
5993        srcs9[0] = entries[18].data;
5994        srcs9[1] = entries[19].data;
5995        srcs10[0] = entries[20].data;
5996        srcs10[1] = entries[21].data;
5997        srcs11[0] = entries[22].data;
5998        srcs11[1] = entries[23].data;
5999        srcs12[0] = entries[24].data;
6000        srcs12[1] = entries[25].data;
6001        srcs13[0] = entries[26].data;
6002        srcs13[1] = entries[27].data;
6003        srcs14[0] = entries[28].data;
6004        srcs14[1] = entries[29].data;
6005        srcs15[0] = entries[30].data;
6006        srcs15[1] = entries[31].data;
6007        srcs16[0] = entries[32].data;
6008        srcs16[1] = entries[33].data;
6009        srcs17[0] = entries[34].data;
6010        srcs17[1] = entries[35].data;
6011        srcs18[0] = entries[36].data;
6012        srcs18[1] = entries[37].data;
6013        srcs19[0] = entries[38].data;
6014        srcs19[1] = entries[39].data;
6015        srcs20[0] = entries[40].data;
6016        srcs20[1] = entries[41].data;
6017        srcs21[0] = entries[42].data;
6018        srcs21[1] = entries[43].data;
6019        srcs22[0] = entries[44].data;
6020        srcs22[1] = entries[45].data;
6021        srcs23[0] = entries[46].data;
6022        srcs23[1] = entries[47].data;
6023        srcs24[0] = entries[48].data;
6024        srcs24[1] = entries[49].data;
6025        srcs25    = entries[50].data;
6026
6027
6028        while(len--) {
6029                sample = *srcs0[0];
6030                sample += *srcs0[1];
6031                sample += *srcs1[0];
6032                sample += *srcs1[1];
6033                sample += *srcs2[0];
6034                sample += *srcs2[1];
6035                sample += *srcs3[0];
6036                sample += *srcs3[1];
6037                sample += *srcs4[0];
6038                sample += *srcs4[1];
6039                sample += *srcs5[0];
6040                sample += *srcs5[1];
6041                sample += *srcs6[0];
6042                sample += *srcs6[1];
6043                sample += *srcs7[0];
6044                sample += *srcs7[1];
6045                sample += *srcs8[0];
6046                sample += *srcs8[1];
6047                sample += *srcs9[0];
6048                sample += *srcs9[1];
6049                sample += *srcs10[0];
6050                sample += *srcs10[1];
6051                sample += *srcs11[0];
6052                sample += *srcs11[1];
6053                sample += *srcs12[0];
6054                sample += *srcs12[1];
6055                sample += *srcs13[0];
6056                sample += *srcs13[1];
6057                sample += *srcs14[0];
6058                sample += *srcs14[1];
6059                sample += *srcs15[0];
6060                sample += *srcs15[1];
6061                sample += *srcs16[0];
6062                sample += *srcs16[1];
6063                sample += *srcs17[0];
6064                sample += *srcs17[1];
6065                sample += *srcs18[0];
6066                sample += *srcs18[1];
6067                sample += *srcs19[0];
6068                sample += *srcs19[1];
6069                sample += *srcs20[0];
6070                sample += *srcs20[1];
6071                sample += *srcs21[0];
6072                sample += *srcs21[1];
6073                sample += *srcs22[0];
6074                sample += *srcs22[1];
6075                sample += *srcs23[0];
6076                sample += *srcs23[1];
6077                sample += *srcs24[0];
6078                sample += *srcs24[1];
6079                sample += *srcs25;
6080
6081                if(sample > max_audioval ) {
6082                        *dst = max_audioval;
6083                } else if(sample < min_audioval ) {
6084                        *dst = min_audioval;
6085                } else {
6086                        *dst = sample;
6087                }
6088
6089                srcs0[0]++;
6090                srcs0[1]++;
6091                srcs1[0]++;
6092                srcs1[1]++;
6093                srcs2[0]++;
6094                srcs2[1]++;
6095                srcs3[0]++;
6096                srcs3[1]++;
6097                srcs4[0]++;
6098                srcs4[1]++;
6099                srcs5[0]++;
6100                srcs5[1]++;
6101                srcs6[0]++;
6102                srcs6[1]++;
6103                srcs7[0]++;
6104                srcs7[1]++;
6105                srcs8[0]++;
6106                srcs8[1]++;
6107                srcs9[0]++;
6108                srcs9[1]++;
6109                srcs10[0]++;
6110                srcs10[1]++;
6111                srcs11[0]++;
6112                srcs11[1]++;
6113                srcs12[0]++;
6114                srcs12[1]++;
6115                srcs13[0]++;
6116                srcs13[1]++;
6117                srcs14[0]++;
6118                srcs14[1]++;
6119                srcs15[0]++;
6120                srcs15[1]++;
6121                srcs16[0]++;
6122                srcs16[1]++;
6123                srcs17[0]++;
6124                srcs17[1]++;
6125                srcs18[0]++;
6126                srcs18[1]++;
6127                srcs19[0]++;
6128                srcs19[1]++;
6129                srcs20[0]++;
6130                srcs20[1]++;
6131                srcs21[0]++;
6132                srcs21[1]++;
6133                srcs22[0]++;
6134                srcs22[1]++;
6135                srcs23[0]++;
6136                srcs23[1]++;
6137                srcs24[0]++;
6138                srcs24[1]++;
6139                srcs25++;
6140
6141
6142                dst++;
6143        }
6144       
6145        return;
6146}
6147
6148void MixAudio16_52(ALshort *dst, alMixEntry *entries) {
6149        ALshort *srcs0[2];
6150        ALshort *srcs1[2];
6151        ALshort *srcs2[2];
6152        ALshort *srcs3[2];
6153        ALshort *srcs4[2];
6154        ALshort *srcs5[2];
6155        ALshort *srcs6[2];
6156        ALshort *srcs7[2];
6157        ALshort *srcs8[2];
6158        ALshort *srcs9[2];
6159        ALshort *srcs10[2];
6160        ALshort *srcs11[2];
6161        ALshort *srcs12[2];
6162        ALshort *srcs13[2];
6163        ALshort *srcs14[2];
6164        ALshort *srcs15[2];
6165        ALshort *srcs16[2];
6166        ALshort *srcs17[2];
6167        ALshort *srcs18[2];
6168        ALshort *srcs19[2];
6169        ALshort *srcs20[2];
6170        ALshort *srcs21[2];
6171        ALshort *srcs22[2];
6172        ALshort *srcs23[2];
6173        ALshort *srcs24[2];
6174        ALshort *srcs25[2];
6175
6176        int len;
6177        int sample;
6178
6179        len = entries[0].bytes;
6180        len /= sizeof(ALshort);
6181
6182        srcs0[0] = entries[0].data;
6183        srcs0[1] = entries[1].data;
6184        srcs1[0] = entries[2].data;
6185        srcs1[1] = entries[3].data;
6186        srcs2[0] = entries[4].data;
6187        srcs2[1] = entries[5].data;
6188        srcs3[0] = entries[6].data;
6189        srcs3[1] = entries[7].data;
6190        srcs4[0] = entries[8].data;
6191        srcs4[1] = entries[9].data;
6192        srcs5[0] = entries[10].data;
6193        srcs5[1] = entries[11].data;
6194        srcs6[0] = entries[12].data;
6195        srcs6[1] = entries[13].data;
6196        srcs7[0] = entries[14].data;
6197        srcs7[1] = entries[15].data;
6198        srcs8[0] = entries[16].data;
6199        srcs8[1] = entries[17].data;
6200        srcs9[0] = entries[18].data;
6201        srcs9[1] = entries[19].data;
6202        srcs10[0] = entries[20].data;
6203        srcs10[1] = entries[21].data;
6204        srcs11[0] = entries[22].data;
6205        srcs11[1] = entries[23].data;
6206        srcs12[0] = entries[24].data;
6207        srcs12[1] = entries[25].data;
6208        srcs13[0] = entries[26].data;
6209        srcs13[1] = entries[27].data;
6210        srcs14[0] = entries[28].data;
6211        srcs14[1] = entries[29].data;
6212        srcs15[0] = entries[30].data;
6213        srcs15[1] = entries[31].data;
6214        srcs16[0] = entries[32].data;
6215        srcs16[1] = entries[33].data;
6216        srcs17[0] = entries[34].data;
6217        srcs17[1] = entries[35].data;
6218        srcs18[0] = entries[36].data;
6219        srcs18[1] = entries[37].data;
6220        srcs19[0] = entries[38].data;
6221        srcs19[1] = entries[39].data;
6222        srcs20[0] = entries[40].data;
6223        srcs20[1] = entries[41].data;
6224        srcs21[0] = entries[42].data;
6225        srcs21[1] = entries[43].data;
6226        srcs22[0] = entries[44].data;
6227        srcs22[1] = entries[45].data;
6228        srcs23[0] = entries[46].data;
6229        srcs23[1] = entries[47].data;
6230        srcs24[0] = entries[48].data;
6231        srcs24[1] = entries[49].data;
6232        srcs25[0] = entries[50].data;
6233        srcs25[1] = entries[51].data;
6234
6235
6236        while(len--) {
6237                sample = *srcs0[0];
6238                sample += *srcs0[1];
6239                sample += *srcs1[0];
6240                sample += *srcs1[1];
6241                sample += *srcs2[0];
6242                sample += *srcs2[1];
6243                sample += *srcs3[0];
6244                sample += *srcs3[1];
6245                sample += *srcs4[0];
6246                sample += *srcs4[1];
6247                sample += *srcs5[0];
6248                sample += *srcs5[1];
6249                sample += *srcs6[0];
6250                sample += *srcs6[1];
6251                sample += *srcs7[0];
6252                sample += *srcs7[1];
6253                sample += *srcs8[0];
6254                sample += *srcs8[1];
6255                sample += *srcs9[0];
6256                sample += *srcs9[1];
6257                sample += *srcs10[0];
6258                sample += *srcs10[1];
6259                sample += *srcs11[0];
6260                sample += *srcs11[1];
6261                sample += *srcs12[0];
6262                sample += *srcs12[1];
6263                sample += *srcs13[0];
6264                sample += *srcs13[1];
6265                sample += *srcs14[0];
6266                sample += *srcs14[1];
6267                sample += *srcs15[0];
6268                sample += *srcs15[1];
6269                sample += *srcs16[0];
6270                sample += *srcs16[1];
6271                sample += *srcs17[0];
6272                sample += *srcs17[1];
6273                sample += *srcs18[0];
6274                sample += *srcs18[1];
6275                sample += *srcs19[0];
6276                sample += *srcs19[1];
6277                sample += *srcs20[0];
6278                sample += *srcs20[1];
6279                sample += *srcs21[0];
6280                sample += *srcs21[1];
6281                sample += *srcs22[0];
6282                sample += *srcs22[1];
6283                sample += *srcs23[0];
6284                sample += *srcs23[1];
6285                sample += *srcs24[0];
6286                sample += *srcs24[1];
6287                sample += *srcs25[0];
6288                sample += *srcs25[1];
6289
6290                if(sample > max_audioval ) {
6291                        *dst = max_audioval;
6292                } else if(sample < min_audioval ) {
6293                        *dst = min_audioval;
6294                } else {
6295                        *dst = sample;
6296                }
6297
6298                srcs0[0]++;
6299                srcs0[1]++;
6300                srcs1[0]++;
6301                srcs1[1]++;
6302                srcs2[0]++;
6303                srcs2[1]++;
6304                srcs3[0]++;
6305                srcs3[1]++;
6306                srcs4[0]++;
6307                srcs4[1]++;
6308                srcs5[0]++;
6309                srcs5[1]++;
6310                srcs6[0]++;
6311                srcs6[1]++;
6312                srcs7[0]++;
6313                srcs7[1]++;
6314                srcs8[0]++;
6315                srcs8[1]++;
6316                srcs9[0]++;
6317                srcs9[1]++;
6318                srcs10[0]++;
6319                srcs10[1]++;
6320                srcs11[0]++;
6321                srcs11[1]++;
6322                srcs12[0]++;
6323                srcs12[1]++;
6324                srcs13[0]++;
6325                srcs13[1]++;
6326                srcs14[0]++;
6327                srcs14[1]++;
6328                srcs15[0]++;
6329                srcs15[1]++;
6330                srcs16[0]++;
6331                srcs16[1]++;
6332                srcs17[0]++;
6333                srcs17[1]++;
6334                srcs18[0]++;
6335                srcs18[1]++;
6336                srcs19[0]++;
6337                srcs19[1]++;
6338                srcs20[0]++;
6339                srcs20[1]++;
6340                srcs21[0]++;
6341                srcs21[1]++;
6342                srcs22[0]++;
6343                srcs22[1]++;
6344                srcs23[0]++;
6345                srcs23[1]++;
6346                srcs24[0]++;
6347                srcs24[1]++;
6348                srcs25[0]++;
6349                srcs25[1]++;
6350
6351
6352                dst++;
6353        }
6354       
6355        return;
6356}
6357
6358void MixAudio16_53(ALshort *dst, alMixEntry *entries) {
6359        ALshort *srcs0[2];
6360        ALshort *srcs1[2];
6361        ALshort *srcs2[2];
6362        ALshort *srcs3[2];
6363        ALshort *srcs4[2];
6364        ALshort *srcs5[2];
6365        ALshort *srcs6[2];
6366        ALshort *srcs7[2];
6367        ALshort *srcs8[2];
6368        ALshort *srcs9[2];
6369        ALshort *srcs10[2];
6370        ALshort *srcs11[2];
6371        ALshort *srcs12[2];
6372        ALshort *srcs13[2];
6373        ALshort *srcs14[2];
6374        ALshort *srcs15[2];
6375        ALshort *srcs16[2];
6376        ALshort *srcs17[2];
6377        ALshort *srcs18[2];
6378        ALshort *srcs19[2];
6379        ALshort *srcs20[2];
6380        ALshort *srcs21[2];
6381        ALshort *srcs22[2];
6382        ALshort *srcs23[2];
6383        ALshort *srcs24[2];
6384        ALshort *srcs25[2];
6385        ALshort *srcs26;
6386
6387        int len;
6388        int sample;
6389
6390        len = entries[0].bytes;
6391        len /= sizeof(ALshort);
6392
6393        srcs0[0] = entries[0].data;
6394        srcs0[1] = entries[1].data;
6395        srcs1[0] = entries[2].data;
6396        srcs1[1] = entries[3].data;
6397        srcs2[0] = entries[4].data;
6398        srcs2[1] = entries[5].data;
6399        srcs3[0] = entries[6].data;
6400        srcs3[1] = entries[7].data;
6401        srcs4[0] = entries[8].data;
6402        srcs4[1] = entries[9].data;
6403        srcs5[0] = entries[10].data;
6404        srcs5[1] = entries[11].data;
6405        srcs6[0] = entries[12].data;
6406        srcs6[1] = entries[13].data;
6407        srcs7[0] = entries[14].data;
6408        srcs7[1] = entries[15].data;
6409        srcs8[0] = entries[16].data;
6410        srcs8[1] = entries[17].data;
6411        srcs9[0] = entries[18].data;
6412        srcs9[1] = entries[19].data;
6413        srcs10[0] = entries[20].data;
6414        srcs10[1] = entries[21].data;
6415        srcs11[0] = entries[22].data;
6416        srcs11[1] = entries[23].data;
6417        srcs12[0] = entries[24].data;
6418        srcs12[1] = entries[25].data;
6419        srcs13[0] = entries[26].data;
6420        srcs13[1] = entries[27].data;
6421        srcs14[0] = entries[28].data;
6422        srcs14[1] = entries[29].data;
6423        srcs15[0] = entries[30].data;
6424        srcs15[1] = entries[31].data;
6425        srcs16[0] = entries[32].data;
6426        srcs16[1] = entries[33].data;
6427        srcs17[0] = entries[34].data;
6428        srcs17[1] = entries[35].data;
6429        srcs18[0] = entries[36].data;
6430        srcs18[1] = entries[37].data;
6431        srcs19[0] = entries[38].data;
6432        srcs19[1] = entries[39].data;
6433        srcs20[0] = entries[40].data;
6434        srcs20[1] = entries[41].data;
6435        srcs21[0] = entries[42].data;
6436        srcs21[1] = entries[43].data;
6437        srcs22[0] = entries[44].data;
6438        srcs22[1] = entries[45].data;
6439        srcs23[0] = entries[46].data;
6440        srcs23[1] = entries[47].data;
6441        srcs24[0] = entries[48].data;
6442        srcs24[1] = entries[49].data;
6443        srcs25[0] = entries[50].data;
6444        srcs25[1] = entries[51].data;
6445        srcs26    = entries[52].data;
6446
6447
6448        while(len--) {
6449                sample = *srcs0[0];
6450                sample += *srcs0[1];
6451                sample += *srcs1[0];
6452                sample += *srcs1[1];
6453                sample += *srcs2[0];
6454                sample += *srcs2[1];
6455                sample += *srcs3[0];
6456                sample += *srcs3[1];
6457                sample += *srcs4[0];
6458                sample += *srcs4[1];
6459                sample += *srcs5[0];
6460                sample += *srcs5[1];
6461                sample += *srcs6[0];
6462                sample += *srcs6[1];
6463                sample += *srcs7[0];
6464                sample += *srcs7[1];
6465                sample += *srcs8[0];
6466                sample += *srcs8[1];
6467                sample += *srcs9[0];
6468                sample += *srcs9[1];
6469                sample += *srcs10[0];
6470                sample += *srcs10[1];
6471                sample += *srcs11[0];
6472                sample += *srcs11[1];
6473                sample += *srcs12[0];
6474                sample += *srcs12[1];
6475                sample += *srcs13[0];
6476                sample += *srcs13[1];
6477                sample += *srcs14[0];
6478                sample += *srcs14[1];
6479                sample += *srcs15[0];
6480                sample += *srcs15[1];
6481                sample += *srcs16[0];
6482                sample += *srcs16[1];
6483                sample += *srcs17[0];
6484                sample += *srcs17[1];
6485                sample += *srcs18[0];
6486                sample += *srcs18[1];
6487                sample += *srcs19[0];
6488                sample += *srcs19[1];
6489                sample += *srcs20[0];
6490                sample += *srcs20[1];
6491                sample += *srcs21[0];
6492                sample += *srcs21[1];
6493                sample += *srcs22[0];
6494                sample += *srcs22[1];
6495                sample += *srcs23[0];
6496                sample += *srcs23[1];
6497                sample += *srcs24[0];
6498                sample += *srcs24[1];
6499                sample += *srcs25[0];
6500                sample += *srcs25[1];
6501                sample += *srcs26;
6502
6503                if(sample > max_audioval ) {
6504                        *dst = max_audioval;
6505                } else if(sample < min_audioval ) {
6506                        *dst = min_audioval;
6507                } else {
6508                        *dst = sample;
6509                }
6510
6511                srcs0[0]++;
6512                srcs0[1]++;
6513                srcs1[0]++;
6514                srcs1[1]++;
6515                srcs2[0]++;
6516                srcs2[1]++;
6517                srcs3[0]++;
6518                srcs3[1]++;
6519                srcs4[0]++;
6520                srcs4[1]++;
6521                srcs5[0]++;
6522                srcs5[1]++;
6523                srcs6[0]++;
6524                srcs6[1]++;
6525                srcs7[0]++;
6526                srcs7[1]++;
6527                srcs8[0]++;
6528                srcs8[1]++;
6529                srcs9[0]++;
6530                srcs9[1]++;
6531                srcs10[0]++;
6532                srcs10[1]++;
6533                srcs11[0]++;
6534                srcs11[1]++;
6535                srcs12[0]++;
6536                srcs12[1]++;
6537                srcs13[0]++;
6538                srcs13[1]++;
6539                srcs14[0]++;
6540                srcs14[1]++;
6541                srcs15[0]++;
6542                srcs15[1]++;
6543                srcs16[0]++;
6544                srcs16[1]++;
6545                srcs17[0]++;
6546                srcs17[1]++;
6547                srcs18[0]++;
6548                srcs18[1]++;
6549                srcs19[0]++;
6550                srcs19[1]++;
6551                srcs20[0]++;
6552                srcs20[1]++;
6553                srcs21[0]++;
6554                srcs21[1]++;
6555                srcs22[0]++;
6556                srcs22[1]++;
6557                srcs23[0]++;
6558                srcs23[1]++;
6559                srcs24[0]++;
6560                srcs24[1]++;
6561                srcs25[0]++;
6562                srcs25[1]++;
6563                srcs26++;
6564
6565
6566                dst++;
6567        }
6568       
6569        return;
6570}
6571
6572void MixAudio16_54(ALshort *dst, alMixEntry *entries) {
6573        ALshort *srcs0[2];
6574        ALshort *srcs1[2];
6575        ALshort *srcs2[2];
6576        ALshort *srcs3[2];
6577        ALshort *srcs4[2];
6578        ALshort *srcs5[2];
6579        ALshort *srcs6[2];
6580        ALshort *srcs7[2];
6581        ALshort *srcs8[2];
6582        ALshort *srcs9[2];
6583        ALshort *srcs10[2];
6584        ALshort *srcs11[2];
6585        ALshort *srcs12[2];
6586        ALshort *srcs13[2];
6587        ALshort *srcs14[2];
6588        ALshort *srcs15[2];
6589        ALshort *srcs16[2];
6590        ALshort *srcs17[2];
6591        ALshort *srcs18[2];
6592        ALshort *srcs19[2];
6593        ALshort *srcs20[2];
6594        ALshort *srcs21[2];
6595        ALshort *srcs22[2];
6596        ALshort *srcs23[2];
6597        ALshort *srcs24[2];
6598        ALshort *srcs25[2];
6599        ALshort *srcs26[2];
6600
6601        int len;
6602        int sample;
6603
6604        len = entries[0].bytes;
6605        len /= sizeof(ALshort);
6606
6607        srcs0[0] = entries[0].data;
6608        srcs0[1] = entries[1].data;
6609        srcs1[0] = entries[2].data;
6610        srcs1[1] = entries[3].data;
6611        srcs2[0] = entries[4].data;
6612        srcs2[1] = entries[5].data;
6613        srcs3[0] = entries[6].data;
6614        srcs3[1] = entries[7].data;
6615        srcs4[0] = entries[8].data;
6616        srcs4[1] = entries[9].data;
6617        srcs5[0] = entries[10].data;
6618        srcs5[1] = entries[11].data;
6619        srcs6[0] = entries[12].data;
6620        srcs6[1] = entries[13].data;
6621        srcs7[0] = entries[14].data;
6622        srcs7[1] = entries[15].data;
6623        srcs8[0] = entries[16].data;
6624        srcs8[1] = entries[17].data;
6625        srcs9[0] = entries[18].data;
6626        srcs9[1] = entries[19].data;
6627        srcs10[0] = entries[20].data;
6628        srcs10[1] = entries[21].data;
6629        srcs11[0] = entries[22].data;
6630        srcs11[1] = entries[23].data;
6631        srcs12[0] = entries[24].data;
6632        srcs12[1] = entries[25].data;
6633        srcs13[0] = entries[26].data;
6634        srcs13[1] = entries[27].data;
6635        srcs14[0] = entries[28].data;
6636        srcs14[1] = entries[29].data;
6637        srcs15[0] = entries[30].data;
6638        srcs15[1] = entries[31].data;
6639        srcs16[0] = entries[32].data;
6640        srcs16[1] = entries[33].data;
6641        srcs17[0] = entries[34].data;
6642        srcs17[1] = entries[35].data;
6643        srcs18[0] = entries[36].data;
6644        srcs18[1] = entries[37].data;
6645        srcs19[0] = entries[38].data;
6646        srcs19[1] = entries[39].data;
6647        srcs20[0] = entries[40].data;
6648        srcs20[1] = entries[41].data;
6649        srcs21[0] = entries[42].data;
6650        srcs21[1] = entries[43].data;
6651        srcs22[0] = entries[44].data;
6652        srcs22[1] = entries[45].data;
6653        srcs23[0] = entries[46].data;
6654        srcs23[1] = entries[47].data;
6655        srcs24[0] = entries[48].data;
6656        srcs24[1] = entries[49].data;
6657        srcs25[0] = entries[50].data;
6658        srcs25[1] = entries[51].data;
6659        srcs26[0] = entries[52].data;
6660        srcs26[1] = entries[53].data;
6661
6662
6663        while(len--) {
6664                sample = *srcs0[0];
6665                sample += *srcs0[1];
6666                sample += *srcs1[0];
6667                sample += *srcs1[1];
6668                sample += *srcs2[0];
6669                sample += *srcs2[1];
6670                sample += *srcs3[0];
6671                sample += *srcs3[1];
6672                sample += *srcs4[0];
6673                sample += *srcs4[1];
6674                sample += *srcs5[0];
6675                sample += *srcs5[1];
6676                sample += *srcs6[0];
6677                sample += *srcs6[1];
6678                sample += *srcs7[0];
6679                sample += *srcs7[1];
6680                sample += *srcs8[0];
6681                sample += *srcs8[1];
6682                sample += *srcs9[0];
6683                sample += *srcs9[1];
6684                sample += *srcs10[0];
6685                sample += *srcs10[1];
6686                sample += *srcs11[0];
6687                sample += *srcs11[1];
6688                sample += *srcs12[0];
6689                sample += *srcs12[1];
6690                sample += *srcs13[0];
6691                sample += *srcs13[1];
6692                sample += *srcs14[0];
6693                sample += *srcs14[1];
6694                sample += *srcs15[0];
6695                sample += *srcs15[1];
6696                sample += *srcs16[0];
6697                sample += *srcs16[1];
6698                sample += *srcs17[0];
6699                sample += *srcs17[1];
6700                sample += *srcs18[0];
6701                sample += *srcs18[1];
6702                sample += *srcs19[0];
6703                sample += *srcs19[1];
6704                sample += *srcs20[0];
6705                sample += *srcs20[1];
6706                sample += *srcs21[0];
6707                sample += *srcs21[1];
6708                sample += *srcs22[0];
6709                sample += *srcs22[1];
6710                sample += *srcs23[0];
6711                sample += *srcs23[1];
6712                sample += *srcs24[0];
6713                sample += *srcs24[1];
6714                sample += *srcs25[0];
6715                sample += *srcs25[1];
6716                sample += *srcs26[0];
6717                sample += *srcs26[1];
6718
6719                if(sample > max_audioval ) {
6720                        *dst = max_audioval;
6721                } else if(sample < min_audioval ) {
6722                        *dst = min_audioval;
6723                } else {
6724                        *dst = sample;
6725                }
6726
6727                srcs0[0]++;
6728                srcs0[1]++;
6729                srcs1[0]++;
6730                srcs1[1]++;
6731                srcs2[0]++;
6732                srcs2[1]++;
6733                srcs3[0]++;
6734                srcs3[1]++;
6735                srcs4[0]++;
6736                srcs4[1]++;
6737                srcs5[0]++;
6738                srcs5[1]++;
6739                srcs6[0]++;
6740                srcs6[1]++;
6741                srcs7[0]++;
6742                srcs7[1]++;
6743                srcs8[0]++;
6744                srcs8[1]++;
6745                srcs9[0]++;
6746                srcs9[1]++;
6747                srcs10[0]++;
6748                srcs10[1]++;
6749                srcs11[0]++;
6750                srcs11[1]++;
6751                srcs12[0]++;
6752                srcs12[1]++;
6753                srcs13[0]++;
6754                srcs13[1]++;
6755                srcs14[0]++;
6756                srcs14[1]++;
6757                srcs15[0]++;
6758                srcs15[1]++;
6759                srcs16[0]++;
6760                srcs16[1]++;
6761                srcs17[0]++;
6762                srcs17[1]++;
6763                srcs18[0]++;
6764                srcs18[1]++;
6765                srcs19[0]++;
6766                srcs19[1]++;
6767                srcs20[0]++;
6768                srcs20[1]++;
6769                srcs21[0]++;
6770                srcs21[1]++;
6771                srcs22[0]++;
6772                srcs22[1]++;
6773                srcs23[0]++;
6774                srcs23[1]++;
6775                srcs24[0]++;
6776                srcs24[1]++;
6777                srcs25[0]++;
6778                srcs25[1]++;
6779                srcs26[0]++;
6780                srcs26[1]++;
6781
6782
6783                dst++;
6784        }
6785       
6786        return;
6787}
6788
6789void MixAudio16_55(ALshort *dst, alMixEntry *entries) {
6790        ALshort *srcs0[2];
6791        ALshort *srcs1[2];
6792        ALshort *srcs2[2];
6793        ALshort *srcs3[2];
6794        ALshort *srcs4[2];
6795        ALshort *srcs5[2];
6796        ALshort *srcs6[2];
6797        ALshort *srcs7[2];
6798        ALshort *srcs8[2];
6799        ALshort *srcs9[2];
6800        ALshort *srcs10[2];
6801        ALshort *srcs11[2];
6802        ALshort *srcs12[2];
6803        ALshort *srcs13[2];
6804        ALshort *srcs14[2];
6805        ALshort *srcs15[2];
6806        ALshort *srcs16[2];
6807        ALshort *srcs17[2];
6808        ALshort *srcs18[2];
6809        ALshort *srcs19[2];
6810        ALshort *srcs20[2];
6811        ALshort *srcs21[2];
6812        ALshort *srcs22[2];
6813        ALshort *srcs23[2];
6814        ALshort *srcs24[2];
6815        ALshort *srcs25[2];
6816        ALshort *srcs26[2];
6817        ALshort *srcs27;
6818
6819        int len;
6820        int sample;
6821
6822        len = entries[0].bytes;
6823        len /= sizeof(ALshort);
6824
6825        srcs0[0] = entries[0].data;
6826        srcs0[1] = entries[1].data;
6827        srcs1[0] = entries[2].data;
6828        srcs1[1] = entries[3].data;
6829        srcs2[0] = entries[4].data;
6830        srcs2[1] = entries[5].data;
6831        srcs3[0] = entries[6].data;
6832        srcs3[1] = entries[7].data;
6833        srcs4[0] = entries[8].data;
6834        srcs4[1] = entries[9].data;
6835        srcs5[0] = entries[10].data;
6836        srcs5[1] = entries[11].data;
6837        srcs6[0] = entries[12].data;
6838        srcs6[1] = entries[13].data;
6839        srcs7[0] = entries[14].data;
6840        srcs7[1] = entries[15].data;
6841        srcs8[0] = entries[16].data;
6842        srcs8[1] = entries[17].data;
6843        srcs9[0] = entries[18].data;
6844        srcs9[1] = entries[19].data;
6845        srcs10[0] = entries[20].data;
6846        srcs10[1] = entries[21].data;
6847        srcs11[0] = entries[22].data;
6848        srcs11[1] = entries[23].data;
6849        srcs12[0] = entries[24].data;
6850        srcs12[1] = entries[25].data;
6851        srcs13[0] = entries[26].data;
6852        srcs13[1] = entries[27].data;
6853        srcs14[0] = entries[28].data;
6854        srcs14[1] = entries[29].data;
6855        srcs15[0] = entries[30].data;
6856        srcs15[1] = entries[31].data;
6857        srcs16[0] = entries[32].data;
6858        srcs16[1] = entries[33].data;
6859        srcs17[0] = entries[34].data;
6860        srcs17[1] = entries[35].data;
6861        srcs18[0] = entries[36].data;
6862        srcs18[1] = entries[37].data;
6863        srcs19[0] = entries[38].data;
6864        srcs19[1] = entries[39].data;
6865        srcs20[0] = entries[40].data;
6866        srcs20[1] = entries[41].data;
6867        srcs21[0] = entries[42].data;
6868        srcs21[1] = entries[43].data;
6869        srcs22[0] = entries[44].data;
6870        srcs22[1] = entries[45].data;
6871        srcs23[0] = entries[46].data;
6872        srcs23[1] = entries[47].data;
6873        srcs24[0] = entries[48].data;
6874        srcs24[1] = entries[49].data;
6875        srcs25[0] = entries[50].data;
6876        srcs25[1] = entries[51].data;
6877        srcs26[0] = entries[52].data;
6878        srcs26[1] = entries[53].data;
6879        srcs27    = entries[54].data;
6880
6881
6882        while(len--) {
6883                sample = *srcs0[0];
6884                sample += *srcs0[1];
6885                sample += *srcs1[0];
6886                sample += *srcs1[1];
6887                sample += *srcs2[0];
6888                sample += *srcs2[1];
6889                sample += *srcs3[0];
6890                sample += *srcs3[1];
6891                sample += *srcs4[0];
6892                sample += *srcs4[1];
6893                sample += *srcs5[0];
6894                sample += *srcs5[1];
6895                sample += *srcs6[0];
6896                sample += *srcs6[1];
6897                sample += *srcs7[0];
6898                sample += *srcs7[1];
6899                sample += *srcs8[0];
6900                sample += *srcs8[1];
6901                sample += *srcs9[0];
6902                sample += *srcs9[1];
6903                sample += *srcs10[0];
6904                sample += *srcs10[1];
6905                sample += *srcs11[0];
6906                sample += *srcs11[1];
6907                sample += *srcs12[0];
6908                sample += *srcs12[1];
6909                sample += *srcs13[0];
6910                sample += *srcs13[1];
6911                sample += *srcs14[0];
6912                sample += *srcs14[1];
6913                sample += *srcs15[0];
6914                sample += *srcs15[1];
6915                sample += *srcs16[0];
6916                sample += *srcs16[1];
6917                sample += *srcs17[0];
6918                sample += *srcs17[1];
6919                sample += *srcs18[0];
6920                sample += *srcs18[1];
6921                sample += *srcs19[0];
6922                sample += *srcs19[1];
6923                sample += *srcs20[0];
6924                sample += *srcs20[1];
6925                sample += *srcs21[0];
6926                sample += *srcs21[1];
6927                sample += *srcs22[0];
6928                sample += *srcs22[1];
6929                sample += *srcs23[0];
6930                sample += *srcs23[1];
6931                sample += *srcs24[0];
6932                sample += *srcs24[1];
6933                sample += *srcs25[0];
6934                sample += *srcs25[1];
6935                sample += *srcs26[0];
6936                sample += *srcs26[1];
6937                sample += *srcs27;
6938
6939                if(sample > max_audioval ) {
6940                        *dst = max_audioval;
6941                } else if(sample < min_audioval ) {
6942                        *dst = min_audioval;
6943                } else {
6944                        *dst = sample;
6945                }
6946
6947                srcs0[0]++;
6948                srcs0[1]++;
6949                srcs1[0]++;
6950                srcs1[1]++;
6951                srcs2[0]++;
6952                srcs2[1]++;
6953                srcs3[0]++;
6954                srcs3[1]++;
6955                srcs4[0]++;
6956                srcs4[1]++;
6957                srcs5[0]++;
6958                srcs5[1]++;
6959                srcs6[0]++;
6960                srcs6[1]++;
6961                srcs7[0]++;
6962                srcs7[1]++;
6963                srcs8[0]++;
6964                srcs8[1]++;
6965                srcs9[0]++;
6966                srcs9[1]++;
6967                srcs10[0]++;
6968                srcs10[1]++;
6969                srcs11[0]++;
6970                srcs11[1]++;
6971                srcs12[0]++;
6972                srcs12[1]++;
6973                srcs13[0]++;
6974                srcs13[1]++;
6975                srcs14[0]++;
6976                srcs14[1]++;
6977                srcs15[0]++;
6978                srcs15[1]++;
6979                srcs16[0]++;
6980                srcs16[1]++;
6981                srcs17[0]++;
6982                srcs17[1]++;
6983                srcs18[0]++;
6984                srcs18[1]++;
6985                srcs19[0]++;
6986                srcs19[1]++;
6987                srcs20[0]++;
6988                srcs20[1]++;
6989                srcs21[0]++;
6990                srcs21[1]++;
6991                srcs22[0]++;
6992                srcs22[1]++;
6993                srcs23[0]++;
6994                srcs23[1]++;
6995                srcs24[0]++;
6996                srcs24[1]++;
6997                srcs25[0]++;
6998                srcs25[1]++;
6999                srcs26[0]++;
7000                srcs26[1]++;
7001                srcs27++;
7002
7003
7004                dst++;
7005        }
7006       
7007        return;
7008}
7009
7010void MixAudio16_56(ALshort *dst, alMixEntry *entries) {
7011        ALshort *srcs0[2];
7012        ALshort *srcs1[2];
7013        ALshort *srcs2[2];
7014        ALshort *srcs3[2];
7015        ALshort *srcs4[2];
7016        ALshort *srcs5[2];
7017        ALshort *srcs6[2];
7018        ALshort *srcs7[2];
7019        ALshort *srcs8[2];
7020        ALshort *srcs9[2];
7021        ALshort *srcs10[2];
7022        ALshort *srcs11[2];
7023        ALshort *srcs12[2];
7024        ALshort *srcs13[2];
7025        ALshort *srcs14[2];
7026        ALshort *srcs15[2];
7027        ALshort *srcs16[2];
7028        ALshort *srcs17[2];
7029        ALshort *srcs18[2];
7030        ALshort *srcs19[2];
7031        ALshort *srcs20[2];
7032        ALshort *srcs21[2];
7033        ALshort *srcs22[2];
7034        ALshort *srcs23[2];
7035        ALshort *srcs24[2];
7036        ALshort *srcs25[2];
7037        ALshort *srcs26[2];
7038        ALshort *srcs27[2];
7039
7040        int len;
7041        int sample;
7042
7043        len = entries[0].bytes;
7044        len /= sizeof(ALshort);
7045
7046        srcs0[0] = entries[0].data;
7047        srcs0[1] = entries[1].data;
7048        srcs1[0] = entries[2].data;
7049        srcs1[1] = entries[3].data;
7050        srcs2[0] = entries[4].data;
7051        srcs2[1] = entries[5].data;
7052        srcs3[0] = entries[6].data;
7053        srcs3[1] = entries[7].data;
7054        srcs4[0] = entries[8].data;
7055        srcs4[1] = entries[9].data;
7056        srcs5[0] = entries[10].data;
7057        srcs5[1] = entries[11].data;
7058        srcs6[0] = entries[12].data;
7059        srcs6[1] = entries[13].data;
7060        srcs7[0] = entries[14].data;
7061        srcs7[1] = entries[15].data;
7062        srcs8[0] = entries[16].data;
7063        srcs8[1] = entries[17].data;
7064        srcs9[0] = entries[18].data;
7065        srcs9[1] = entries[19].data;
7066        srcs10[0] = entries[20].data;
7067        srcs10[1] = entries[21].data;
7068        srcs11[0] = entries[22].data;
7069        srcs11[1] = entries[23].data;
7070        srcs12[0] = entries[24].data;
7071        srcs12[1] = entries[25].data;
7072        srcs13[0] = entries[26].data;
7073        srcs13[1] = entries[27].data;
7074        srcs14[0] = entries[28].data;
7075        srcs14[1] = entries[29].data;
7076        srcs15[0] = entries[30].data;
7077        srcs15[1] = entries[31].data;
7078        srcs16[0] = entries[32].data;
7079        srcs16[1] = entries[33].data;
7080        srcs17[0] = entries[34].data;
7081        srcs17[1] = entries[35].data;
7082        srcs18[0] = entries[36].data;
7083        srcs18[1] = entries[37].data;
7084        srcs19[0] = entries[38].data;
7085        srcs19[1] = entries[39].data;
7086        srcs20[0] = entries[40].data;
7087        srcs20[1] = entries[41].data;
7088        srcs21[0] = entries[42].data;
7089        srcs21[1] = entries[43].data;
7090        srcs22[0] = entries[44].data;
7091        srcs22[1] = entries[45].data;
7092        srcs23[0] = entries[46].data;
7093        srcs23[1] = entries[47].data;
7094        srcs24[0] = entries[48].data;
7095        srcs24[1] = entries[49].data;
7096        srcs25[0] = entries[50].data;
7097        srcs25[1] = entries[51].data;
7098        srcs26[0] = entries[52].data;
7099        srcs26[1] = entries[53].data;
7100        srcs27[0] = entries[54].data;
7101        srcs27[1] = entries[55].data;
7102
7103
7104        while(len--) {
7105                sample = *srcs0[0];
7106                sample += *srcs0[1];
7107                sample += *srcs1[0];
7108                sample += *srcs1[1];
7109                sample += *srcs2[0];
7110                sample += *srcs2[1];
7111                sample += *srcs3[0];
7112                sample += *srcs3[1];
7113                sample += *srcs4[0];
7114                sample += *srcs4[1];
7115                sample += *srcs5[0];
7116                sample += *srcs5[1];
7117                sample += *srcs6[0];
7118                sample += *srcs6[1];
7119                sample += *srcs7[0];
7120                sample += *srcs7[1];
7121                sample += *srcs8[0];
7122                sample += *srcs8[1];
7123                sample += *srcs9[0];
7124                sample += *srcs9[1];
7125                sample += *srcs10[0];
7126                sample += *srcs10[1];
7127                sample += *srcs11[0];
7128                sample += *srcs11[1];
7129                sample += *srcs12[0];
7130                sample += *srcs12[1];
7131                sample += *srcs13[0];
7132                sample += *srcs13[1];
7133                sample += *srcs14[0];
7134                sample += *srcs14[1];
7135                sample += *srcs15[0];
7136                sample += *srcs15[1];
7137                sample += *srcs16[0];
7138                sample += *srcs16[1];
7139                sample += *srcs17[0];
7140                sample += *srcs17[1];
7141                sample += *srcs18[0];
7142                sample += *srcs18[1];
7143                sample += *srcs19[0];
7144                sample += *srcs19[1];
7145                sample += *srcs20[0];
7146                sample += *srcs20[1];
7147                sample += *srcs21[0];
7148                sample += *srcs21[1];
7149                sample += *srcs22[0];
7150                sample += *srcs22[1];
7151                sample += *srcs23[0];
7152                sample += *srcs23[1];
7153                sample += *srcs24[0];
7154                sample += *srcs24[1];
7155                sample += *srcs25[0];
7156                sample += *srcs25[1];
7157                sample += *srcs26[0];
7158                sample += *srcs26[1];
7159                sample += *srcs27[0];
7160                sample += *srcs27[1];
7161
7162                if(sample > max_audioval ) {
7163                        *dst = max_audioval;
7164                } else if(sample < min_audioval ) {
7165                        *dst = min_audioval;
7166                } else {
7167                        *dst = sample;
7168                }
7169
7170                srcs0[0]++;
7171                srcs0[1]++;
7172                srcs1[0]++;
7173                srcs1[1]++;
7174                srcs2[0]++;
7175                srcs2[1]++;
7176                srcs3[0]++;
7177                srcs3[1]++;
7178                srcs4[0]++;
7179                srcs4[1]++;
7180                srcs5[0]++;
7181                srcs5[1]++;
7182                srcs6[0]++;
7183                srcs6[1]++;
7184                srcs7[0]++;
7185                srcs7[1]++;
7186                srcs8[0]++;
7187                srcs8[1]++;
7188                srcs9[0]++;
7189                srcs9[1]++;
7190                srcs10[0]++;
7191                srcs10[1]++;
7192                srcs11[0]++;
7193                srcs11[1]++;
7194                srcs12[0]++;
7195                srcs12[1]++;
7196                srcs13[0]++;
7197                srcs13[1]++;
7198                srcs14[0]++;
7199                srcs14[1]++;
7200                srcs15[0]++;
7201                srcs15[1]++;
7202                srcs16[0]++;
7203                srcs16[1]++;
7204                srcs17[0]++;
7205                srcs17[1]++;
7206                srcs18[0]++;
7207                srcs18[1]++;
7208                srcs19[0]++;
7209                srcs19[1]++;
7210                srcs20[0]++;
7211                srcs20[1]++;
7212                srcs21[0]++;
7213                srcs21[1]++;
7214                srcs22[0]++;
7215                srcs22[1]++;
7216                srcs23[0]++;
7217                srcs23[1]++;
7218                srcs24[0]++;
7219                srcs24[1]++;
7220                srcs25[0]++;
7221                srcs25[1]++;
7222                srcs26[0]++;
7223                srcs26[1]++;
7224                srcs27[0]++;
7225                srcs27[1]++;
7226
7227
7228                dst++;
7229        }
7230       
7231        return;
7232}
7233
7234void MixAudio16_57(ALshort *dst, alMixEntry *entries) {
7235        ALshort *srcs0[2];
7236        ALshort *srcs1[2];
7237        ALshort *srcs2[2];
7238        ALshort *srcs3[2];
7239        ALshort *srcs4[2];
7240        ALshort *srcs5[2];
7241        ALshort *srcs6[2];
7242        ALshort *srcs7[2];
7243        ALshort *srcs8[2];
7244        ALshort *srcs9[2];
7245        ALshort *srcs10[2];
7246        ALshort *srcs11[2];
7247        ALshort *srcs12[2];
7248        ALshort *srcs13[2];
7249        ALshort *srcs14[2];
7250        ALshort *srcs15[2];
7251        ALshort *srcs16[2];
7252        ALshort *srcs17[2];
7253        ALshort *srcs18[2];
7254        ALshort *srcs19[2];
7255        ALshort *srcs20[2];
7256        ALshort *srcs21[2];
7257        ALshort *srcs22[2];
7258        ALshort *srcs23[2];
7259        ALshort *srcs24[2];
7260        ALshort *srcs25[2];
7261        ALshort *srcs26[2];
7262        ALshort *srcs27[2];
7263        ALshort *srcs28;
7264
7265        int len;
7266        int sample;
7267
7268        len = entries[0].bytes;
7269        len /= sizeof(ALshort);
7270
7271        srcs0[0] = entries[0].data;
7272        srcs0[1] = entries[1].data;
7273        srcs1[0] = entries[2].data;
7274        srcs1[1] = entries[3].data;
7275        srcs2[0] = entries[4].data;
7276        srcs2[1] = entries[5].data;
7277        srcs3[0] = entries[6].data;
7278        srcs3[1] = entries[7].data;
7279        srcs4[0] = entries[8].data;
7280        srcs4[1] = entries[9].data;
7281        srcs5[0] = entries[10].data;
7282        srcs5[1] = entries[11].data;
7283        srcs6[0] = entries[12].data;
7284        srcs6[1] = entries[13].data;
7285        srcs7[0] = entries[14].data;
7286        srcs7[1] = entries[15].data;
7287        srcs8[0] = entries[16].data;
7288        srcs8[1] = entries[17].data;
7289        srcs9[0] = entries[18].data;
7290        srcs9[1] = entries[19].data;
7291        srcs10[0] = entries[20].data;
7292        srcs10[1] = entries[21].data;
7293        srcs11[0] = entries[22].data;
7294        srcs11[1] = entries[23].data;
7295        srcs12[0] = entries[24].data;
7296        srcs12[1] = entries[25].data;
7297        srcs13[0] = entries[26].data;
7298        srcs13[1] = entries[27].data;
7299        srcs14[0] = entries[28].data;
7300        srcs14[1] = entries[29].data;
7301        srcs15[0] = entries[30].data;
7302        srcs15[1] = entries[31].data;
7303        srcs16[0] = entries[32].data;
7304        srcs16[1] = entries[33].data;
7305        srcs17[0] = entries[34].data;
7306        srcs17[1] = entries[35].data;
7307        srcs18[0] = entries[36].data;
7308        srcs18[1] = entries[37].data;
7309        srcs19[0] = entries[38].data;
7310        srcs19[1] = entries[39].data;
7311        srcs20[0] = entries[40].data;
7312        srcs20[1] = entries[41].data;
7313        srcs21[0] = entries[42].data;
7314        srcs21[1] = entries[43].data;
7315        srcs22[0] = entries[44].data;
7316        srcs22[1] = entries[45].data;
7317        srcs23[0] = entries[46].data;
7318        srcs23[1] = entries[47].data;
7319        srcs24[0] = entries[48].data;
7320        srcs24[1] = entries[49].data;
7321        srcs25[0] = entries[50].data;
7322        srcs25[1] = entries[51].data;
7323        srcs26[0] = entries[52].data;
7324        srcs26[1] = entries[53].data;
7325        srcs27[0] = entries[54].data;
7326        srcs27[1] = entries[55].data;
7327        srcs28    = entries[56].data;
7328
7329
7330        while(len--) {
7331                sample = *srcs0[0];
7332                sample += *srcs0[1];
7333                sample += *srcs1[0];
7334                sample += *srcs1[1];
7335                sample += *srcs2[0];
7336                sample += *srcs2[1];
7337                sample += *srcs3[0];
7338                sample += *srcs3[1];
7339                sample += *srcs4[0];
7340                sample += *srcs4[1];
7341                sample += *srcs5[0];
7342                sample += *srcs5[1];
7343                sample += *srcs6[0];
7344                sample += *srcs6[1];
7345                sample += *srcs7[0];
7346                sample += *srcs7[1];
7347                sample += *srcs8[0];
7348                sample += *srcs8[1];
7349                sample += *srcs9[0];
7350                sample += *srcs9[1];
7351                sample += *srcs10[0];
7352                sample += *srcs10[1];
7353                sample += *srcs11[0];
7354                sample += *srcs11[1];
7355                sample += *srcs12[0];
7356                sample += *srcs12[1];
7357                sample += *srcs13[0];
7358                sample += *srcs13[1];
7359                sample += *srcs14[0];
7360                sample += *srcs14[1];
7361                sample += *srcs15[0];
7362                sample += *srcs15[1];
7363                sample += *srcs16[0];
7364                sample += *srcs16[1];
7365                sample += *srcs17[0];
7366                sample += *srcs17[1];
7367                sample += *srcs18[0];
7368                sample += *srcs18[1];
7369                sample += *srcs19[0];
7370                sample += *srcs19[1];
7371                sample += *srcs20[0];
7372                sample += *srcs20[1];
7373                sample += *srcs21[0];
7374                sample += *srcs21[1];
7375                sample += *srcs22[0];
7376                sample += *srcs22[1];
7377                sample += *srcs23[0];
7378                sample += *srcs23[1];
7379                sample += *srcs24[0];
7380                sample += *srcs24[1];
7381                sample += *srcs25[0];
7382                sample += *srcs25[1];
7383                sample += *srcs26[0];
7384                sample += *srcs26[1];
7385                sample += *srcs27[0];
7386                sample += *srcs27[1];
7387                sample += *srcs28;
7388
7389                if(sample > max_audioval ) {
7390                        *dst = max_audioval;
7391                } else if(sample < min_audioval ) {
7392                        *dst = min_audioval;
7393                } else {
7394                        *dst = sample;
7395                }
7396
7397                srcs0[0]++;
7398                srcs0[1]++;
7399                srcs1[0]++;
7400                srcs1[1]++;
7401                srcs2[0]++;
7402                srcs2[1]++;
7403                srcs3[0]++;
7404                srcs3[1]++;
7405                srcs4[0]++;
7406                srcs4[1]++;
7407                srcs5[0]++;
7408                srcs5[1]++;
7409                srcs6[0]++;
7410                srcs6[1]++;
7411                srcs7[0]++;
7412                srcs7[1]++;
7413                srcs8[0]++;
7414                srcs8[1]++;
7415                srcs9[0]++;
7416                srcs9[1]++;
7417                srcs10[0]++;
7418                srcs10[1]++;
7419                srcs11[0]++;
7420                srcs11[1]++;
7421                srcs12[0]++;
7422                srcs12[1]++;
7423                srcs13[0]++;
7424                srcs13[1]++;
7425                srcs14[0]++;
7426                srcs14[1]++;
7427                srcs15[0]++;
7428                srcs15[1]++;
7429                srcs16[0]++;
7430                srcs16[1]++;
7431                srcs17[0]++;
7432                srcs17[1]++;
7433                srcs18[0]++;
7434                srcs18[1]++;
7435                srcs19[0]++;
7436                srcs19[1]++;
7437                srcs20[0]++;
7438                srcs20[1]++;
7439                srcs21[0]++;
7440                srcs21[1]++;
7441                srcs22[0]++;
7442                srcs22[1]++;
7443                srcs23[0]++;
7444                srcs23[1]++;
7445                srcs24[0]++;
7446                srcs24[1]++;
7447                srcs25[0]++;
7448                srcs25[1]++;
7449                srcs26[0]++;
7450                srcs26[1]++;
7451                srcs27[0]++;
7452                srcs27[1]++;
7453                srcs28++;
7454
7455
7456                dst++;
7457        }
7458       
7459        return;
7460}
7461
7462void MixAudio16_58(ALshort *dst, alMixEntry *entries) {
7463        ALshort *srcs0[2];
7464        ALshort *srcs1[2];
7465        ALshort *srcs2[2];
7466        ALshort *srcs3[2];
7467        ALshort *srcs4[2];
7468        ALshort *srcs5[2];
7469        ALshort *srcs6[2];
7470        ALshort *srcs7[2];
7471        ALshort *srcs8[2];
7472        ALshort *srcs9[2];
7473        ALshort *srcs10[2];
7474        ALshort *srcs11[2];
7475        ALshort *srcs12[2];
7476        ALshort *srcs13[2];
7477        ALshort *srcs14[2];
7478        ALshort *srcs15[2];
7479        ALshort *srcs16[2];
7480        ALshort *srcs17[2];
7481        ALshort *srcs18[2];
7482        ALshort *srcs19[2];
7483        ALshort *srcs20[2];
7484        ALshort *srcs21[2];
7485        ALshort *srcs22[2];
7486        ALshort *srcs23[2];
7487        ALshort *srcs24[2];
7488        ALshort *srcs25[2];
7489        ALshort *srcs26[2];
7490        ALshort *srcs27[2];
7491        ALshort *srcs28[2];
7492
7493        int len;
7494        int sample;
7495
7496        len = entries[0].bytes;
7497        len /= sizeof(ALshort);
7498
7499        srcs0[0] = entries[0].data;
7500        srcs0[1] = entries[1].data;
7501        srcs1[0] = entries[2].data;
7502        srcs1[1] = entries[3].data;
7503        srcs2[0] = entries[4].data;
7504        srcs2[1] = entries[5].data;
7505        srcs3[0] = entries[6].data;
7506        srcs3[1] = entries[7].data;
7507        srcs4[0] = entries[8].data;
7508        srcs4[1] = entries[9].data;
7509        srcs5[0] = entries[10].data;
7510        srcs5[1] = entries[11].data;
7511        srcs6[0] = entries[12].data;
7512        srcs6[1] = entries[13].data;
7513        srcs7[0] = entries[14].data;
7514        srcs7[1] = entries[15].data;
7515        srcs8[0] = entries[16].data;
7516        srcs8[1] = entries[17].data;
7517        srcs9[0] = entries[18].data;
7518        srcs9[1] = entries[19].data;
7519        srcs10[0] = entries[20].data;
7520        srcs10[1] = entries[21].data;
7521        srcs11[0] = entries[22].data;
7522        srcs11[1] = entries[23].data;
7523        srcs12[0] = entries[24].data;
7524        srcs12[1] = entries[25].data;
7525        srcs13[0] = entries[26].data;
7526        srcs13[1] = entries[27].data;
7527        srcs14[0] = entries[28].data;
7528        srcs14[1] = entries[29].data;
7529        srcs15[0] = entries[30].data;
7530        srcs15[1] = entries[31].data;
7531        srcs16[0] = entries[32].data;
7532        srcs16[1] = entries[33].data;
7533        srcs17[0] = entries[34].data;
7534        srcs17[1] = entries[35].data;
7535        srcs18[0] = entries[36].data;
7536        srcs18[1] = entries[37].data;
7537        srcs19[0] = entries[38].data;
7538        srcs19[1] = entries[39].data;
7539        srcs20[0] = entries[40].data;
7540        srcs20[1] = entries[41].data;
7541        srcs21[0] = entries[42].data;
7542        srcs21[1] = entries[43].data;
7543        srcs22[0] = entries[44].data;
7544        srcs22[1] = entries[45].data;
7545        srcs23[0] = entries[46].data;
7546        srcs23[1] = entries[47].data;
7547        srcs24[0] = entries[48].data;
7548        srcs24[1] = entries[49].data;
7549        srcs25[0] = entries[50].data;
7550        srcs25[1] = entries[51].data;
7551        srcs26[0] = entries[52].data;
7552        srcs26[1] = entries[53].data;
7553        srcs27[0] = entries[54].data;
7554        srcs27[1] = entries[55].data;
7555        srcs28[0] = entries[56].data;
7556        srcs28[1] = entries[57].data;
7557
7558
7559        while(len--) {
7560                sample = *srcs0[0];
7561                sample += *srcs0[1];
7562                sample += *srcs1[0];
7563                sample += *srcs1[1];
7564                sample += *srcs2[0];
7565                sample += *srcs2[1];
7566                sample += *srcs3[0];
7567                sample += *srcs3[1];
7568                sample += *srcs4[0];
7569                sample += *srcs4[1];
7570                sample += *srcs5[0];
7571                sample += *srcs5[1];
7572                sample += *srcs6[0];
7573                sample += *srcs6[1];
7574                sample += *srcs7[0];
7575                sample += *srcs7[1];
7576                sample += *srcs8[0];
7577                sample += *srcs8[1];
7578                sample += *srcs9[0];
7579                sample += *srcs9[1];
7580                sample += *srcs10[0];
7581                sample += *srcs10[1];
7582                sample += *srcs11[0];
7583                sample += *srcs11[1];
7584                sample += *srcs12[0];
7585                sample += *srcs12[1];
7586                sample += *srcs13[0];
7587                sample += *srcs13[1];
7588                sample += *srcs14[0];
7589                sample += *srcs14[1];
7590                sample += *srcs15[0];
7591                sample += *srcs15[1];
7592                sample += *srcs16[0];
7593                sample += *srcs16[1];
7594                sample += *srcs17[0];
7595                sample += *srcs17[1];
7596                sample += *srcs18[0];
7597                sample += *srcs18[1];
7598                sample += *srcs19[0];
7599                sample += *srcs19[1];
7600                sample += *srcs20[0];
7601                sample += *srcs20[1];
7602                sample += *srcs21[0];
7603                sample += *srcs21[1];
7604                sample += *srcs22[0];
7605                sample += *srcs22[1];
7606                sample += *srcs23[0];
7607                sample += *srcs23[1];
7608                sample += *srcs24[0];
7609                sample += *srcs24[1];
7610                sample += *srcs25[0];
7611                sample += *srcs25[1];
7612                sample += *srcs26[0];
7613                sample += *srcs26[1];
7614                sample += *srcs27[0];
7615                sample += *srcs27[1];
7616                sample += *srcs28[0];
7617                sample += *srcs28[1];
7618
7619                if(sample > max_audioval ) {
7620                        *dst = max_audioval;
7621                } else if(sample < min_audioval ) {
7622                        *dst = min_audioval;
7623                } else {
7624                        *dst = sample;
7625                }
7626
7627                srcs0[0]++;
7628                srcs0[1]++;
7629                srcs1[0]++;
7630                srcs1[1]++;
7631                srcs2[0]++;
7632                srcs2[1]++;
7633                srcs3[0]++;
7634                srcs3[1]++;
7635                srcs4[0]++;
7636                srcs4[1]++;
7637                srcs5[0]++;
7638                srcs5[1]++;
7639                srcs6[0]++;
7640                srcs6[1]++;
7641                srcs7[0]++;
7642                srcs7[1]++;
7643                srcs8[0]++;
7644                srcs8[1]++;
7645                srcs9[0]++;
7646                srcs9[1]++;
7647                srcs10[0]++;
7648                srcs10[1]++;
7649                srcs11[0]++;
7650                srcs11[1]++;
7651                srcs12[0]++;
7652                srcs12[1]++;
7653                srcs13[0]++;
7654                srcs13[1]++;
7655                srcs14[0]++;
7656                srcs14[1]++;
7657                srcs15[0]++;
7658                srcs15[1]++;
7659                srcs16[0]++;
7660                srcs16[1]++;
7661                srcs17[0]++;
7662                srcs17[1]++;
7663                srcs18[0]++;
7664                srcs18[1]++;
7665                srcs19[0]++;
7666                srcs19[1]++;
7667                srcs20[0]++;
7668                srcs20[1]++;
7669                srcs21[0]++;
7670                srcs21[1]++;
7671                srcs22[0]++;
7672                srcs22[1]++;
7673                srcs23[0]++;
7674                srcs23[1]++;
7675                srcs24[0]++;
7676                srcs24[1]++;
7677                srcs25[0]++;
7678                srcs25[1]++;
7679                srcs26[0]++;
7680                srcs26[1]++;
7681                srcs27[0]++;
7682                srcs27[1]++;
7683                srcs28[0]++;
7684                srcs28[1]++;
7685
7686
7687                dst++;
7688        }
7689       
7690        return;
7691}
7692
7693void MixAudio16_59(ALshort *dst, alMixEntry *entries) {
7694        ALshort *srcs0[2];
7695        ALshort *srcs1[2];
7696        ALshort *srcs2[2];
7697        ALshort *srcs3[2];
7698        ALshort *srcs4[2];
7699        ALshort *srcs5[2];
7700        ALshort *srcs6[2];
7701        ALshort *srcs7[2];
7702        ALshort *srcs8[2];
7703        ALshort *srcs9[2];
7704        ALshort *srcs10[2];
7705        ALshort *srcs11[2];
7706        ALshort *srcs12[2];
7707        ALshort *srcs13[2];
7708        ALshort *srcs14[2];
7709        ALshort *srcs15[2];
7710        ALshort *srcs16[2];
7711        ALshort *srcs17[2];
7712        ALshort *srcs18[2];
7713        ALshort *srcs19[2];
7714        ALshort *srcs20[2];
7715        ALshort *srcs21[2];
7716        ALshort *srcs22[2];
7717        ALshort *srcs23[2];
7718        ALshort *srcs24[2];
7719        ALshort *srcs25[2];
7720        ALshort *srcs26[2];
7721        ALshort *srcs27[2];
7722        ALshort *srcs28[2];
7723        ALshort *srcs29;
7724
7725        int len;
7726        int sample;
7727
7728        len = entries[0].bytes;
7729        len /= sizeof(ALshort);
7730
7731        srcs0[0] = entries[0].data;
7732        srcs0[1] = entries[1].data;
7733        srcs1[0] = entries[2].data;
7734        srcs1[1] = entries[3].data;
7735        srcs2[0] = entries[4].data;
7736        srcs2[1] = entries[5].data;
7737        srcs3[0] = entries[6].data;
7738        srcs3[1] = entries[7].data;
7739        srcs4[0] = entries[8].data;
7740        srcs4[1] = entries[9].data;
7741        srcs5[0] = entries[10].data;
7742        srcs5[1] = entries[11].data;
7743        srcs6[0] = entries[12].data;
7744        srcs6[1] = entries[13].data;
7745        srcs7[0] = entries[14].data;
7746        srcs7[1] = entries[15].data;
7747        srcs8[0] = entries[16].data;
7748        srcs8[1] = entries[17].data;
7749        srcs9[0] = entries[18].data;
7750        srcs9[1] = entries[19].data;
7751        srcs10[0] = entries[20].data;
7752        srcs10[1] = entries[21].data;
7753        srcs11[0] = entries[22].data;
7754        srcs11[1] = entries[23].data;
7755        srcs12[0] = entries[24].data;
7756        srcs12[1] = entries[25].data;
7757        srcs13[0] = entries[26].data;
7758        srcs13[1] = entries[27].data;
7759        srcs14[0] = entries[28].data;
7760        srcs14[1] = entries[29].data;
7761        srcs15[0] = entries[30].data;
7762        srcs15[1] = entries[31].data;
7763        srcs16[0] = entries[32].data;
7764        srcs16[1] = entries[33].data;
7765        srcs17[0] = entries[34].data;
7766        srcs17[1] = entries[35].data;
7767        srcs18[0] = entries[36].data;
7768        srcs18[1] = entries[37].data;
7769        srcs19[0] = entries[38].data;
7770        srcs19[1] = entries[39].data;
7771        srcs20[0] = entries[40].data;
7772        srcs20[1] = entries[41].data;
7773        srcs21[0] = entries[42].data;
7774        srcs21[1] = entries[43].data;
7775        srcs22[0] = entries[44].data;
7776        srcs22[1] = entries[45].data;
7777        srcs23[0] = entries[46].data;
7778        srcs23[1] = entries[47].data;
7779        srcs24[0] = entries[48].data;
7780        srcs24[1] = entries[49].data;
7781        srcs25[0] = entries[50].data;
7782        srcs25[1] = entries[51].data;
7783        srcs26[0] = entries[52].data;
7784        srcs26[1] = entries[53].data;
7785        srcs27[0] = entries[54].data;
7786        srcs27[1] = entries[55].data;
7787        srcs28[0] = entries[56].data;
7788        srcs28[1] = entries[57].data;
7789        srcs29    = entries[58].data;
7790
7791
7792        while(len--) {
7793                sample = *srcs0[0];
7794                sample += *srcs0[1];
7795                sample += *srcs1[0];
7796                sample += *srcs1[1];
7797                sample += *srcs2[0];
7798                sample += *srcs2[1];
7799                sample += *srcs3[0];
7800                sample += *srcs3[1];
7801                sample += *srcs4[0];
7802                sample += *srcs4[1];
7803                sample += *srcs5[0];
7804                sample += *srcs5[1];
7805                sample += *srcs6[0];
7806                sample += *srcs6[1];
7807                sample += *srcs7[0];
7808                sample += *srcs7[1];
7809                sample += *srcs8[0];
7810                sample += *srcs8[1];
7811                sample += *srcs9[0];
7812                sample += *srcs9[1];
7813                sample += *srcs10[0];
7814                sample += *srcs10[1];
7815                sample += *srcs11[0];
7816                sample += *srcs11[1];
7817                sample += *srcs12[0];
7818                sample += *srcs12[1];
7819                sample += *srcs13[0];
7820                sample += *srcs13[1];
7821                sample += *srcs14[0];
7822                sample += *srcs14[1];
7823                sample += *srcs15[0];
7824                sample += *srcs15[1];
7825                sample += *srcs16[0];
7826                sample += *srcs16[1];
7827                sample += *srcs17[0];
7828                sample += *srcs17[1];
7829                sample += *srcs18[0];
7830                sample += *srcs18[1];
7831                sample += *srcs19[0];
7832                sample += *srcs19[1];
7833                sample += *srcs20[0];
7834                sample += *srcs20[1];
7835                sample += *srcs21[0];
7836                sample += *srcs21[1];
7837                sample += *srcs22[0];
7838                sample += *srcs22[1];
7839                sample += *srcs23[0];
7840                sample += *srcs23[1];
7841                sample += *srcs24[0];
7842                sample += *srcs24[1];
7843                sample += *srcs25[0];
7844                sample += *srcs25[1];
7845                sample += *srcs26[0];
7846                sample += *srcs26[1];
7847                sample += *srcs27[0];
7848                sample += *srcs27[1];
7849                sample += *srcs28[0];
7850                sample += *srcs28[1];
7851                sample += *srcs29;
7852
7853                if(sample > max_audioval ) {
7854                        *dst = max_audioval;
7855                } else if(sample < min_audioval ) {
7856                        *dst = min_audioval;
7857                } else {
7858                        *dst = sample;
7859                }
7860
7861                srcs0[0]++;
7862                srcs0[1]++;
7863                srcs1[0]++;
7864                srcs1[1]++;
7865                srcs2[0]++;
7866                srcs2[1]++;
7867                srcs3[0]++;
7868                srcs3[1]++;
7869                srcs4[0]++;
7870                srcs4[1]++;
7871                srcs5[0]++;
7872                srcs5[1]++;
7873                srcs6[0]++;
7874                srcs6[1]++;
7875                srcs7[0]++;
7876                srcs7[1]++;
7877                srcs8[0]++;
7878                srcs8[1]++;
7879                srcs9[0]++;
7880                srcs9[1]++;
7881                srcs10[0]++;
7882                srcs10[1]++;
7883                srcs11[0]++;
7884                srcs11[1]++;
7885                srcs12[0]++;
7886                srcs12[1]++;
7887                srcs13[0]++;
7888                srcs13[1]++;
7889                srcs14[0]++;
7890                srcs14[1]++;
7891                srcs15[0]++;
7892                srcs15[1]++;
7893                srcs16[0]++;
7894                srcs16[1]++;
7895                srcs17[0]++;
7896                srcs17[1]++;
7897                srcs18[0]++;
7898                srcs18[1]++;
7899                srcs19[0]++;
7900                srcs19[1]++;
7901                srcs20[0]++;
7902                srcs20[1]++;
7903                srcs21[0]++;
7904                srcs21[1]++;
7905                srcs22[0]++;
7906                srcs22[1]++;
7907                srcs23[0]++;
7908                srcs23[1]++;
7909                srcs24[0]++;
7910                srcs24[1]++;
7911                srcs25[0]++;
7912                srcs25[1]++;
7913                srcs26[0]++;
7914                srcs26[1]++;
7915                srcs27[0]++;
7916                srcs27[1]++;
7917                srcs28[0]++;
7918                srcs28[1]++;
7919                srcs29++;
7920
7921
7922                dst++;
7923        }
7924       
7925        return;
7926}
7927
7928void MixAudio16_60(ALshort *dst, alMixEntry *entries) {
7929        ALshort *srcs0[2];
7930        ALshort *srcs1[2];
7931        ALshort *srcs2[2];
7932        ALshort *srcs3[2];
7933        ALshort *srcs4[2];
7934        ALshort *srcs5[2];
7935        ALshort *srcs6[2];
7936        ALshort *srcs7[2];
7937        ALshort *srcs8[2];
7938        ALshort *srcs9[2];
7939        ALshort *srcs10[2];
7940        ALshort *srcs11[2];
7941        ALshort *srcs12[2];
7942        ALshort *srcs13[2];
7943        ALshort *srcs14[2];
7944        ALshort *srcs15[2];
7945        ALshort *srcs16[2];
7946        ALshort *srcs17[2];
7947        ALshort *srcs18[2];
7948        ALshort *srcs19[2];
7949        ALshort *srcs20[2];
7950        ALshort *srcs21[2];
7951        ALshort *srcs22[2];
7952        ALshort *srcs23[2];
7953        ALshort *srcs24[2];
7954        ALshort *srcs25[2];
7955        ALshort *srcs26[2];
7956        ALshort *srcs27[2];
7957        ALshort *srcs28[2];
7958        ALshort *srcs29[2];
7959
7960        int len;
7961        int sample;
7962
7963        len = entries[0].bytes;
7964        len /= sizeof(ALshort);
7965
7966        srcs0[0] = entries[0].data;
7967        srcs0[1] = entries[1].data;
7968        srcs1[0] = entries[2].data;
7969        srcs1[1] = entries[3].data;
7970        srcs2[0] = entries[4].data;
7971        srcs2[1] = entries[5].data;
7972        srcs3[0] = entries[6].data;
7973        srcs3[1] = entries[7].data;
7974        srcs4[0] = entries[8].data;
7975        srcs4[1] = entries[9].data;
7976        srcs5[0] = entries[10].data;
7977        srcs5[1] = entries[11].data;
7978        srcs6[0] = entries[12].data;
7979        srcs6[1] = entries[13].data;
7980        srcs7[0] = entries[14].data;
7981        srcs7[1] = entries[15].data;
7982        srcs8[0] = entries[16].data;
7983        srcs8[1] = entries[17].data;
7984        srcs9[0] = entries[18].data;
7985        srcs9[1] = entries[19].data;
7986        srcs10[0] = entries[20].data;
7987        srcs10[1] = entries[21].data;
7988        srcs11[0] = entries[22].data;
7989        srcs11[1] = entries[23].data;
7990        srcs12[0] = entries[24].data;
7991        srcs12[1] = entries[25].data;
7992        srcs13[0] = entries[26].data;
7993        srcs13[1] = entries[27].data;
7994        srcs14[0] = entries[28].data;
7995        srcs14[1] = entries[29].data;
7996        srcs15[0] = entries[30].data;
7997        srcs15[1] = entries[31].data;
7998        srcs16[0] = entries[32].data;
7999        srcs16[1] = entries[33].data;
8000        srcs17[0] = entries[34].data;
8001        srcs17[1] = entries[35].data;
8002        srcs18[0] = entries[36].data;
8003        srcs18[1] = entries[37].data;
8004        srcs19[0] = entries[38].data;
8005        srcs19[1] = entries[39].data;
8006        srcs20[0] = entries[40].data;
8007        srcs20[1] = entries[41].data;
8008        srcs21[0] = entries[42].data;
8009        srcs21[1] = entries[43].data;
8010        srcs22[0] = entries[44].data;
8011        srcs22[1] = entries[45].data;
8012        srcs23[0] = entries[46].data;
8013        srcs23[1] = entries[47].data;
8014        srcs24[0] = entries[48].data;
8015        srcs24[1] = entries[49].data;
8016        srcs25[0] = entries[50].data;
8017        srcs25[1] = entries[51].data;
8018        srcs26[0] = entries[52].data;
8019        srcs26[1] = entries[53].data;
8020        srcs27[0] = entries[54].data;
8021        srcs27[1] = entries[55].data;
8022        srcs28[0] = entries[56].data;
8023        srcs28[1] = entries[57].data;
8024        srcs29[0] = entries[58].data;
8025        srcs29[1] = entries[59].data;
8026
8027
8028        while(len--) {
8029                sample = *srcs0[0];
8030                sample += *srcs0[1];
8031                sample += *srcs1[0];
8032                sample += *srcs1[1];
8033                sample += *srcs2[0];
8034                sample += *srcs2[1];
8035                sample += *srcs3[0];
8036                sample += *srcs3[1];
8037                sample += *srcs4[0];
8038                sample += *srcs4[1];
8039                sample += *srcs5[0];
8040                sample += *srcs5[1];
8041                sample += *srcs6[0];
8042                sample += *srcs6[1];
8043                sample += *srcs7[0];
8044                sample += *srcs7[1];
8045                sample += *srcs8[0];
8046                sample += *srcs8[1];
8047                sample += *srcs9[0];
8048                sample += *srcs9[1];
8049                sample += *srcs10[0];
8050                sample += *srcs10[1];
8051                sample += *srcs11[0];
8052                sample += *srcs11[1];
8053                sample += *srcs12[0];
8054                sample += *srcs12[1];
8055                sample += *srcs13[0];
8056                sample += *srcs13[1];
8057                sample += *srcs14[0];
8058                sample += *srcs14[1];
8059                sample += *srcs15[0];
8060                sample += *srcs15[1];
8061                sample += *srcs16[0];
8062                sample += *srcs16[1];
8063                sample += *srcs17[0];
8064                sample += *srcs17[1];
8065                sample += *srcs18[0];
8066                sample += *srcs18[1];
8067                sample += *srcs19[0];
8068                sample += *srcs19[1];
8069                sample += *srcs20[0];
8070                sample += *srcs20[1];
8071                sample += *srcs21[0];
8072                sample += *srcs21[1];
8073                sample += *srcs22[0];
8074                sample += *srcs22[1];
8075                sample += *srcs23[0];
8076                sample += *srcs23[1];
8077                sample += *srcs24[0];
8078                sample += *srcs24[1];
8079                sample += *srcs25[0];
8080                sample += *srcs25[1];
8081                sample += *srcs26[0];
8082                sample += *srcs26[1];
8083                sample += *srcs27[0];
8084                sample += *srcs27[1];
8085                sample += *srcs28[0];
8086                sample += *srcs28[1];
8087                sample += *srcs29[0];
8088                sample += *srcs29[1];
8089
8090                if(sample > max_audioval ) {
8091                        *dst = max_audioval;
8092                } else if(sample < min_audioval ) {
8093                        *dst = min_audioval;
8094                } else {
8095                        *dst = sample;
8096                }
8097
8098                srcs0[0]++;
8099                srcs0[1]++;
8100                srcs1[0]++;
8101                srcs1[1]++;
8102                srcs2[0]++;
8103                srcs2[1]++;
8104                srcs3[0]++;
8105                srcs3[1]++;
8106                srcs4[0]++;
8107                srcs4[1]++;
8108                srcs5[0]++;
8109                srcs5[1]++;
8110                srcs6[0]++;
8111                srcs6[1]++;
8112                srcs7[0]++;
8113                srcs7[1]++;
8114                srcs8[0]++;
8115                srcs8[1]++;
8116                srcs9[0]++;
8117                srcs9[1]++;
8118                srcs10[0]++;
8119                srcs10[1]++;
8120                srcs11[0]++;
8121                srcs11[1]++;
8122                srcs12[0]++;
8123                srcs12[1]++;
8124                srcs13[0]++;
8125                srcs13[1]++;
8126                srcs14[0]++;
8127                srcs14[1]++;
8128                srcs15[0]++;
8129                srcs15[1]++;
8130                srcs16[0]++;
8131                srcs16[1]++;
8132                srcs17[0]++;
8133                srcs17[1]++;
8134                srcs18[0]++;
8135                srcs18[1]++;
8136                srcs19[0]++;
8137                srcs19[1]++;
8138                srcs20[0]++;
8139                srcs20[1]++;
8140                srcs21[0]++;
8141                srcs21[1]++;
8142                srcs22[0]++;
8143                srcs22[1]++;
8144                srcs23[0]++;
8145                srcs23[1]++;
8146                srcs24[0]++;
8147                srcs24[1]++;
8148                srcs25[0]++;
8149                srcs25[1]++;
8150                srcs26[0]++;
8151                srcs26[1]++;
8152                srcs27[0]++;
8153                srcs27[1]++;
8154                srcs28[0]++;
8155                srcs28[1]++;
8156                srcs29[0]++;
8157                srcs29[1]++;
8158
8159
8160                dst++;
8161        }
8162       
8163        return;
8164}
8165
8166void MixAudio16_61(ALshort *dst, alMixEntry *entries) {
8167        ALshort *srcs0[2];
8168        ALshort *srcs1[2];
8169        ALshort *srcs2[2];
8170        ALshort *srcs3[2];
8171        ALshort *srcs4[2];
8172        ALshort *srcs5[2];
8173        ALshort *srcs6[2];
8174        ALshort *srcs7[2];
8175        ALshort *srcs8[2];
8176        ALshort *srcs9[2];
8177        ALshort *srcs10[2];
8178        ALshort *srcs11[2];
8179        ALshort *srcs12[2];
8180        ALshort *srcs13[2];
8181        ALshort *srcs14[2];
8182        ALshort *srcs15[2];
8183        ALshort *srcs16[2];
8184        ALshort *srcs17[2];
8185        ALshort *srcs18[2];
8186        ALshort *srcs19[2];
8187        ALshort *srcs20[2];
8188        ALshort *srcs21[2];
8189        ALshort *srcs22[2];
8190        ALshort *srcs23[2];
8191        ALshort *srcs24[2];
8192        ALshort *srcs25[2];
8193        ALshort *srcs26[2];
8194        ALshort *srcs27[2];
8195        ALshort *srcs28[2];
8196        ALshort *srcs29[2];
8197        ALshort *srcs30;
8198
8199        int len;int sample;
8200
8201        len = entries[0].bytes;
8202        len /= sizeof(ALshort);
8203
8204        srcs0[0] = entries[0].data;
8205        srcs0[1] = entries[1].data;
8206        srcs1[0] = entries[2].data;
8207        srcs1[1] = entries[3].data;
8208        srcs2[0] = entries[4].data;
8209        srcs2[1] = entries[5].data;
8210        srcs3[0] = entries[6].data;
8211        srcs3[1] = entries[7].data;
8212        srcs4[0] = entries[8].data;
8213        srcs4[1] = entries[9].data;
8214        srcs5[0] = entries[10].data;
8215        srcs5[1] = entries[11].data;
8216        srcs6[0] = entries[12].data;
8217        srcs6[1] = entries[13].data;
8218        srcs7[0] = entries[14].data;
8219        srcs7[1] = entries[15].data;
8220        srcs8[0] = entries[16].data;
8221        srcs8[1] = entries[17].data;
8222        srcs9[0] = entries[18].data;
8223        srcs9[1] = entries[19].data;
8224        srcs10[0] = entries[20].data;
8225        srcs10[1] = entries[21].data;
8226        srcs11[0] = entries[22].data;
8227        srcs11[1] = entries[23].data;
8228        srcs12[0] = entries[24].data;
8229        srcs12[1] = entries[25].data;
8230        srcs13[0] = entries[26].data;
8231        srcs13[1] = entries[27].data;
8232        srcs14[0] = entries[28].data;
8233        srcs14[1] = entries[29].data;
8234        srcs15[0] = entries[30].data;
8235        srcs15[1] = entries[31].data;
8236        srcs16[0] = entries[32].data;
8237        srcs16[1] = entries[33].data;
8238        srcs17[0] = entries[34].data;
8239        srcs17[1] = entries[35].data;
8240        srcs18[0] = entries[36].data;
8241        srcs18[1] = entries[37].data;
8242        srcs19[0] = entries[38].data;
8243        srcs19[1] = entries[39].data;
8244        srcs20[0] = entries[40].data;
8245        srcs20[1] = entries[41].data;
8246        srcs21[0] = entries[42].data;
8247        srcs21[1] = entries[43].data;
8248        srcs22[0] = entries[44].data;
8249        srcs22[1] = entries[45].data;
8250        srcs23[0] = entries[46].data;
8251        srcs23[1] = entries[47].data;
8252        srcs24[0] = entries[48].data;
8253        srcs24[1] = entries[49].data;
8254        srcs25[0] = entries[50].data;
8255        srcs25[1] = entries[51].data;
8256        srcs26[0] = entries[52].data;
8257        srcs26[1] = entries[53].data;
8258        srcs27[0] = entries[54].data;
8259        srcs27[1] = entries[55].data;
8260        srcs28[0] = entries[56].data;
8261        srcs28[1] = entries[57].data;
8262        srcs29[0] = entries[58].data;
8263        srcs29[1] = entries[59].data;
8264        srcs30    = entries[60].data;
8265
8266
8267        while(len--) {
8268                sample = *srcs0[0];
8269                sample += *srcs0[1];
8270                sample += *srcs1[0];
8271                sample += *srcs1[1];
8272                sample += *srcs2[0];
8273                sample += *srcs2[1];
8274                sample += *srcs3[0];
8275                sample += *srcs3[1];
8276                sample += *srcs4[0];
8277                sample += *srcs4[1];
8278                sample += *srcs5[0];
8279                sample += *srcs5[1];
8280                sample += *srcs6[0];
8281                sample += *srcs6[1];
8282                sample += *srcs7[0];
8283                sample += *srcs7[1];
8284                sample += *srcs8[0];
8285                sample += *srcs8[1];
8286                sample += *srcs9[0];
8287                sample += *srcs9[1];
8288                sample += *srcs10[0];
8289                sample += *srcs10[1];
8290                sample += *srcs11[0];
8291                sample += *srcs11[1];
8292                sample += *srcs12[0];
8293                sample += *srcs12[1];
8294                sample += *srcs13[0];
8295                sample += *srcs13[1];
8296                sample += *srcs14[0];
8297                sample += *srcs14[1];
8298                sample += *srcs15[0];
8299                sample += *srcs15[1];
8300                sample += *srcs16[0];
8301                sample += *srcs16[1];
8302                sample += *srcs17[0];
8303                sample += *srcs17[1];
8304                sample += *srcs18[0];
8305                sample += *srcs18[1];
8306                sample += *srcs19[0];
8307                sample += *srcs19[1];
8308                sample += *srcs20[0];
8309                sample += *srcs20[1];
8310                sample += *srcs21[0];
8311                sample += *srcs21[1];
8312                sample += *srcs22[0];
8313                sample += *srcs22[1];
8314                sample += *srcs23[0];
8315                sample += *srcs23[1];
8316                sample += *srcs24[0];
8317                sample += *srcs24[1];
8318                sample += *srcs25[0];
8319                sample += *srcs25[1];
8320                sample += *srcs26[0];
8321                sample += *srcs26[1];
8322                sample += *srcs27[0];
8323                sample += *srcs27[1];
8324                sample += *srcs28[0];
8325                sample += *srcs28[1];
8326                sample += *srcs29[0];
8327                sample += *srcs29[1];
8328                sample += *srcs30;
8329
8330                if(sample > max_audioval ) {
8331                        *dst = max_audioval;
8332                } else if(sample < min_audioval ) {
8333                        *dst = min_audioval;
8334                } else {
8335                        *dst = sample;
8336                }
8337
8338                srcs0[0]++;
8339                srcs0[1]++;
8340                srcs1[0]++;
8341                srcs1[1]++;
8342                srcs2[0]++;
8343                srcs2[1]++;
8344                srcs3[0]++;
8345                srcs3[1]++;
8346                srcs4[0]++;
8347                srcs4[1]++;
8348                srcs5[0]++;
8349                srcs5[1]++;
8350                srcs6[0]++;
8351                srcs6[1]++;
8352                srcs7[0]++;
8353                srcs7[1]++;
8354                srcs8[0]++;
8355                srcs8[1]++;
8356                srcs9[0]++;
8357                srcs9[1]++;
8358                srcs10[0]++;
8359                srcs10[1]++;
8360                srcs11[0]++;
8361                srcs11[1]++;
8362                srcs12[0]++;
8363                srcs12[1]++;
8364                srcs13[0]++;
8365                srcs13[1]++;
8366                srcs14[0]++;
8367                srcs14[1]++;
8368                srcs15[0]++;
8369                srcs15[1]++;
8370                srcs16[0]++;
8371                srcs16[1]++;
8372                srcs17[0]++;
8373                srcs17[1]++;
8374                srcs18[0]++;
8375                srcs18[1]++;
8376                srcs19[0]++;
8377                srcs19[1]++;
8378                srcs20[0]++;
8379                srcs20[1]++;
8380                srcs21[0]++;
8381                srcs21[1]++;
8382                srcs22[0]++;
8383                srcs22[1]++;
8384                srcs23[0]++;
8385                srcs23[1]++;
8386                srcs24[0]++;
8387                srcs24[1]++;
8388                srcs25[0]++;
8389                srcs25[1]++;
8390                srcs26[0]++;
8391                srcs26[1]++;
8392                srcs27[0]++;
8393                srcs27[1]++;
8394                srcs28[0]++;
8395                srcs28[1]++;
8396                srcs29[0]++;
8397                srcs29[1]++;
8398                srcs30++;
8399
8400
8401                dst++;
8402        }
8403       
8404        return;
8405}
8406
8407void MixAudio16_62(ALshort *dst, alMixEntry *entries) {
8408        ALshort *srcs0[2];
8409        ALshort *srcs1[2];
8410        ALshort *srcs2[2];
8411        ALshort *srcs3[2];
8412        ALshort *srcs4[2];
8413        ALshort *srcs5[2];
8414        ALshort *srcs6[2];
8415        ALshort *srcs7[2];
8416        ALshort *srcs8[2];
8417        ALshort *srcs9[2];
8418        ALshort *srcs10[2];
8419        ALshort *srcs11[2];
8420        ALshort *srcs12[2];
8421        ALshort *srcs13[2];
8422        ALshort *srcs14[2];
8423        ALshort *srcs15[2];
8424        ALshort *srcs16[2];
8425        ALshort *srcs17[2];
8426        ALshort *srcs18[2];
8427        ALshort *srcs19[2];
8428        ALshort *srcs20[2];
8429        ALshort *srcs21[2];
8430        ALshort *srcs22[2];
8431        ALshort *srcs23[2];
8432        ALshort *srcs24[2];
8433        ALshort *srcs25[2];
8434        ALshort *srcs26[2];
8435        ALshort *srcs27[2];
8436        ALshort *srcs28[2];
8437        ALshort *srcs29[2];
8438        ALshort *srcs30[2];
8439
8440        int len;
8441        int sample;
8442
8443        len = entries[0].bytes;
8444        len /= sizeof(ALshort);
8445
8446        srcs0[0] = entries[0].data;
8447        srcs0[1] = entries[1].data;
8448        srcs1[0] = entries[2].data;
8449        srcs1[1] = entries[3].data;
8450        srcs2[0] = entries[4].data;
8451        srcs2[1] = entries[5].data;
8452        srcs3[0] = entries[6].data;
8453        srcs3[1] = entries[7].data;
8454        srcs4[0] = entries[8].data;
8455        srcs4[1] = entries[9].data;
8456        srcs5[0] = entries[10].data;
8457        srcs5[1] = entries[11].data;
8458        srcs6[0] = entries[12].data;
8459        srcs6[1] = entries[13].data;
8460        srcs7[0] = entries[14].data;
8461        srcs7[1] = entries[15].data;
8462        srcs8[0] = entries[16].data;
8463        srcs8[1] = entries[17].data;
8464        srcs9[0] = entries[18].data;
8465        srcs9[1] = entries[19].data;
8466        srcs10[0] = entries[20].data;
8467        srcs10[1] = entries[21].data;
8468        srcs11[0] = entries[22].data;
8469        srcs11[1] = entries[23].data;
8470        srcs12[0] = entries[24].data;
8471        srcs12[1] = entries[25].data;
8472        srcs13[0] = entries[26].data;
8473        srcs13[1] = entries[27].data;
8474        srcs14[0] = entries[28].data;
8475        srcs14[1] = entries[29].data;
8476        srcs15[0] = entries[30].data;
8477        srcs15[1] = entries[31].data;
8478        srcs16[0] = entries[32].data;
8479        srcs16[1] = entries[33].data;
8480        srcs17[0] = entries[34].data;
8481        srcs17[1] = entries[35].data;
8482        srcs18[0] = entries[36].data;
8483        srcs18[1] = entries[37].data;
8484        srcs19[0] = entries[38].data;
8485        srcs19[1] = entries[39].data;
8486        srcs20[0] = entries[40].data;
8487        srcs20[1] = entries[41].data;
8488        srcs21[0] = entries[42].data;
8489        srcs21[1] = entries[43].data;
8490        srcs22[0] = entries[44].data;
8491        srcs22[1] = entries[45].data;
8492        srcs23[0] = entries[46].data;
8493        srcs23[1] = entries[47].data;
8494        srcs24[0] = entries[48].data;
8495        srcs24[1] = entries[49].data;
8496        srcs25[0] = entries[50].data;
8497        srcs25[1] = entries[51].data;
8498        srcs26[0] = entries[52].data;
8499        srcs26[1] = entries[53].data;
8500        srcs27[0] = entries[54].data;
8501        srcs27[1] = entries[55].data;
8502        srcs28[0] = entries[56].data;
8503        srcs28[1] = entries[57].data;
8504        srcs29[0] = entries[58].data;
8505        srcs29[1] = entries[59].data;
8506        srcs30[0] = entries[60].data;
8507        srcs30[1] = entries[61].data;
8508
8509
8510        while(len--) {
8511                sample = *srcs0[0];
8512                sample += *srcs0[1];
8513                sample += *srcs1[0];
8514                sample += *srcs1[1];
8515                sample += *srcs2[0];
8516                sample += *srcs2[1];
8517                sample += *srcs3[0];
8518                sample += *srcs3[1];
8519                sample += *srcs4[0];
8520                sample += *srcs4[1];
8521                sample += *srcs5[0];
8522                sample += *srcs5[1];
8523                sample += *srcs6[0];
8524                sample += *srcs6[1];
8525                sample += *srcs7[0];
8526                sample += *srcs7[1];
8527                sample += *srcs8[0];
8528                sample += *srcs8[1];
8529                sample += *srcs9[0];
8530                sample += *srcs9[1];
8531                sample += *srcs10[0];
8532                sample += *srcs10[1];
8533                sample += *srcs11[0];
8534                sample += *srcs11[1];
8535                sample += *srcs12[0];
8536                sample += *srcs12[1];
8537                sample += *srcs13[0];
8538                sample += *srcs13[1];
8539                sample += *srcs14[0];
8540                sample += *srcs14[1];
8541                sample += *srcs15[0];
8542                sample += *srcs15[1];
8543                sample += *srcs16[0];
8544                sample += *srcs16[1];
8545                sample += *srcs17[0];
8546                sample += *srcs17[1];
8547                sample += *srcs18[0];
8548                sample += *srcs18[1];
8549                sample += *srcs19[0];
8550                sample += *srcs19[1];
8551                sample += *srcs20[0];
8552                sample += *srcs20[1];
8553                sample += *srcs21[0];
8554                sample += *srcs21[1];
8555                sample += *srcs22[0];
8556                sample += *srcs22[1];
8557                sample += *srcs23[0];
8558                sample += *srcs23[1];
8559                sample += *srcs24[0];
8560                sample += *srcs24[1];
8561                sample += *srcs25[0];
8562                sample += *srcs25[1];
8563                sample += *srcs26[0];
8564                sample += *srcs26[1];
8565                sample += *srcs27[0];
8566                sample += *srcs27[1];
8567                sample += *srcs28[0];
8568                sample += *srcs28[1];
8569                sample += *srcs29[0];
8570                sample += *srcs29[1];
8571                sample += *srcs30[0];
8572                sample += *srcs30[1];
8573
8574                if(sample > max_audioval ) {
8575                        *dst = max_audioval;
8576                } else if(sample < min_audioval ) {
8577                        *dst = min_audioval;
8578                } else {
8579                        *dst = sample;
8580                }
8581
8582                srcs0[0]++;
8583                srcs0[1]++;
8584                srcs1[0]++;
8585                srcs1[1]++;
8586                srcs2[0]++;
8587                srcs2[1]++;
8588                srcs3[0]++;
8589                srcs3[1]++;
8590                srcs4[0]++;
8591                srcs4[1]++;
8592                srcs5[0]++;
8593                srcs5[1]++;
8594                srcs6[0]++;
8595                srcs6[1]++;
8596                srcs7[0]++;
8597                srcs7[1]++;
8598                srcs8[0]++;
8599                srcs8[1]++;
8600                srcs9[0]++;
8601                srcs9[1]++;
8602                srcs10[0]++;
8603                srcs10[1]++;
8604                srcs11[0]++;
8605                srcs11[1]++;
8606                srcs12[0]++;
8607                srcs12[1]++;
8608                srcs13[0]++;
8609                srcs13[1]++;
8610                srcs14[0]++;
8611                srcs14[1]++;
8612                srcs15[0]++;
8613                srcs15[1]++;
8614                srcs16[0]++;
8615                srcs16[1]++;
8616                srcs17[0]++;
8617                srcs17[1]++;
8618                srcs18[0]++;
8619                srcs18[1]++;
8620                srcs19[0]++;
8621                srcs19[1]++;
8622                srcs20[0]++;
8623                srcs20[1]++;
8624                srcs21[0]++;
8625                srcs21[1]++;
8626                srcs22[0]++;
8627                srcs22[1]++;
8628                srcs23[0]++;
8629                srcs23[1]++;
8630                srcs24[0]++;
8631                srcs24[1]++;
8632                srcs25[0]++;
8633                srcs25[1]++;
8634                srcs26[0]++;
8635                srcs26[1]++;
8636                srcs27[0]++;
8637                srcs27[1]++;
8638                srcs28[0]++;
8639                srcs28[1]++;
8640                srcs29[0]++;
8641                srcs29[1]++;
8642                srcs30[0]++;
8643                srcs30[1]++;
8644
8645
8646                dst++;
8647        }
8648       
8649        return;
8650}
8651
8652void MixAudio16_63(ALshort *dst, alMixEntry *entries) {
8653        ALshort *srcs0[2];
8654        ALshort *srcs1[2];
8655        ALshort *srcs2[2];
8656        ALshort *srcs3[2];
8657        ALshort *srcs4[2];
8658        ALshort *srcs5[2];
8659        ALshort *srcs6[2];
8660        ALshort *srcs7[2];
8661        ALshort *srcs8[2];
8662        ALshort *srcs9[2];
8663        ALshort *srcs10[2];
8664        ALshort *srcs11[2];
8665        ALshort *srcs12[2];
8666        ALshort *srcs13[2];
8667        ALshort *srcs14[2];
8668        ALshort *srcs15[2];
8669        ALshort *srcs16[2];
8670        ALshort *srcs17[2];
8671        ALshort *srcs18[2];
8672        ALshort *srcs19[2];
8673        ALshort *srcs20[2];
8674        ALshort *srcs21[2];
8675        ALshort *srcs22[2];
8676        ALshort *srcs23[2];
8677        ALshort *srcs24[2];
8678        ALshort *srcs25[2];
8679        ALshort *srcs26[2];
8680        ALshort *srcs27[2];
8681        ALshort *srcs28[2];
8682        ALshort *srcs29[2];
8683        ALshort *srcs30[2];
8684        ALshort *srcs31;
8685
8686        int len;
8687        int sample;
8688
8689        len = entries[0].bytes;
8690        len /= sizeof(ALshort);
8691
8692        srcs0[0] = entries[0].data;
8693        srcs0[1] = entries[1].data;
8694        srcs1[0] = entries[2].data;
8695        srcs1[1] = entries[3].data;
8696        srcs2[0] = entries[4].data;
8697        srcs2[1] = entries[5].data;
8698        srcs3[0] = entries[6].data;
8699        srcs3[1] = entries[7].data;
8700        srcs4[0] = entries[8].data;
8701        srcs4[1] = entries[9].data;
8702        srcs5[0] = entries[10].data;
8703        srcs5[1] = entries[11].data;
8704        srcs6[0] = entries[12].data;
8705        srcs6[1] = entries[13].data;
8706        srcs7[0] = entries[14].data;
8707        srcs7[1] = entries[15].data;
8708        srcs8[0] = entries[16].data;
8709        srcs8[1] = entries[17].data;
8710        srcs9[0] = entries[18].data;
8711        srcs9[1] = entries[19].data;
8712        srcs10[0] = entries[20].data;
8713        srcs10[1] = entries[21].data;
8714        srcs11[0] = entries[22].data;
8715        srcs11[1] = entries[23].data;
8716        srcs12[0] = entries[24].data;
8717        srcs12[1] = entries[25].data;
8718        srcs13[0] = entries[26].data;
8719        srcs13[1] = entries[27].data;
8720        srcs14[0] = entries[28].data;
8721        srcs14[1] = entries[29].data;
8722        srcs15[0] = entries[30].data;
8723        srcs15[1] = entries[31].data;
8724        srcs16[0] = entries[32].data;
8725        srcs16[1] = entries[33].data;
8726        srcs17[0] = entries[34].data;
8727        srcs17[1] = entries[35].data;
8728        srcs18[0] = entries[36].data;
8729        srcs18[1] = entries[37].data;
8730        srcs19[0] = entries[38].data;
8731        srcs19[1] = entries[39].data;
8732        srcs20[0] = entries[40].data;
8733        srcs20[1] = entries[41].data;
8734        srcs21[0] = entries[42].data;
8735        srcs21[1] = entries[43].data;
8736        srcs22[0] = entries[44].data;
8737        srcs22[1] = entries[45].data;
8738        srcs23[0] = entries[46].data;
8739        srcs23[1] = entries[47].data;
8740        srcs24[0] = entries[48].data;
8741        srcs24[1] = entries[49].data;
8742        srcs25[0] = entries[50].data;
8743        srcs25[1] = entries[51].data;
8744        srcs26[0] = entries[52].data;
8745        srcs26[1] = entries[53].data;
8746        srcs27[0] = entries[54].data;
8747        srcs27[1] = entries[55].data;
8748        srcs28[0] = entries[56].data;
8749        srcs28[1] = entries[57].data;
8750        srcs29[0] = entries[58].data;
8751        srcs29[1] = entries[59].data;
8752        srcs30[0] = entries[60].data;
8753        srcs30[1] = entries[61].data;
8754        srcs31    = entries[62].data;
8755
8756
8757        while(len--) {
8758                sample = *srcs0[0];
8759                sample += *srcs0[1];
8760                sample += *srcs1[0];
8761                sample += *srcs1[1];
8762                sample += *srcs2[0];
8763                sample += *srcs2[1];
8764                sample += *srcs3[0];
8765                sample += *srcs3[1];
8766                sample += *srcs4[0];
8767                sample += *srcs4[1];
8768                sample += *srcs5[0];
8769                sample += *srcs5[1];
8770                sample += *srcs6[0];
8771                sample += *srcs6[1];
8772                sample += *srcs7[0];
8773                sample += *srcs7[1];
8774                sample += *srcs8[0];
8775                sample += *srcs8[1];
8776                sample += *srcs9[0];
8777                sample += *srcs9[1];
8778                sample += *srcs10[0];
8779                sample += *srcs10[1];
8780                sample += *srcs11[0];
8781                sample += *srcs11[1];
8782                sample += *srcs12[0];
8783                sample += *srcs12[1];
8784                sample += *srcs13[0];
8785                sample += *srcs13[1];
8786                sample += *srcs14[0];
8787                sample += *srcs14[1];
8788                sample += *srcs15[0];
8789                sample += *srcs15[1];
8790                sample += *srcs16[0];
8791                sample += *srcs16[1];
8792                sample += *srcs17[0];
8793                sample += *srcs17[1];
8794                sample += *srcs18[0];
8795                sample += *srcs18[1];
8796                sample += *srcs19[0];
8797                sample += *srcs19[1];
8798                sample += *srcs20[0];
8799                sample += *srcs20[1];
8800                sample += *srcs21[0];
8801                sample += *srcs21[1];
8802                sample += *srcs22[0];
8803                sample += *srcs22[1];
8804                sample += *srcs23[0];
8805                sample += *srcs23[1];
8806                sample += *srcs24[0];
8807                sample += *srcs24[1];
8808                sample += *srcs25[0];
8809                sample += *srcs25[1];
8810                sample += *srcs26[0];
8811                sample += *srcs26[1];
8812                sample += *srcs27[0];
8813                sample += *srcs27[1];
8814                sample += *srcs28[0];
8815                sample += *srcs28[1];
8816                sample += *srcs29[0];
8817                sample += *srcs29[1];
8818                sample += *srcs30[0];
8819                sample += *srcs30[1];
8820                sample += *srcs31;
8821
8822                if(sample > max_audioval ) {
8823                        *dst = max_audioval;
8824                } else if(sample < min_audioval ) {
8825                        *dst = min_audioval;
8826                } else {
8827                        *dst = sample;
8828                }
8829
8830                srcs0[0]++;
8831                srcs0[1]++;
8832                srcs1[0]++;
8833                srcs1[1]++;
8834                srcs2[0]++;
8835                srcs2[1]++;
8836                srcs3[0]++;
8837                srcs3[1]++;
8838                srcs4[0]++;
8839                srcs4[1]++;
8840                srcs5[0]++;
8841                srcs5[1]++;
8842                srcs6[0]++;
8843                srcs6[1]++;
8844                srcs7[0]++;
8845                srcs7[1]++;
8846                srcs8[0]++;
8847                srcs8[1]++;
8848                srcs9[0]++;
8849                srcs9[1]++;
8850                srcs10[0]++;
8851                srcs10[1]++;
8852                srcs11[0]++;
8853                srcs11[1]++;
8854                srcs12[0]++;
8855                srcs12[1]++;
8856                srcs13[0]++;
8857                srcs13[1]++;
8858                srcs14[0]++;
8859                srcs14[1]++;
8860                srcs15[0]++;
8861                srcs15[1]++;
8862                srcs16[0]++;
8863                srcs16[1]++;
8864                srcs17[0]++;
8865                srcs17[1]++;
8866                srcs18[0]++;
8867                srcs18[1]++;
8868                srcs19[0]++;
8869                srcs19[1]++;
8870                srcs20[0]++;
8871                srcs20[1]++;
8872                srcs21[0]++;
8873                srcs21[1]++;
8874                srcs22[0]++;
8875                srcs22[1]++;
8876                srcs23[0]++;
8877                srcs23[1]++;
8878                srcs24[0]++;
8879                srcs24[1]++;
8880                srcs25[0]++;
8881                srcs25[1]++;
8882                srcs26[0]++;
8883                srcs26[1]++;
8884                srcs27[0]++;
8885                srcs27[1]++;
8886                srcs28[0]++;
8887                srcs28[1]++;
8888                srcs29[0]++;
8889                srcs29[1]++;
8890                srcs30[0]++;
8891                srcs30[1]++;
8892                srcs31++;
8893
8894
8895                dst++;
8896        }
8897       
8898        return;
8899}
8900
8901void MixAudio16_64(ALshort *dst, alMixEntry *entries) {
8902        ALshort *srcs0[2];
8903        ALshort *srcs1[2];
8904        ALshort *srcs2[2];
8905        ALshort *srcs3[2];
8906        ALshort *srcs4[2];
8907        ALshort *srcs5[2];
8908        ALshort *srcs6[2];
8909        ALshort *srcs7[2];
8910        ALshort *srcs8[2];
8911        ALshort *srcs9[2];
8912        ALshort *srcs10[2];
8913        ALshort *srcs11[2];
8914        ALshort *srcs12[2];
8915        ALshort *srcs13[2];
8916        ALshort *srcs14[2];
8917        ALshort *srcs15[2];
8918        ALshort *srcs16[2];
8919        ALshort *srcs17[2];
8920        ALshort *srcs18[2];
8921        ALshort *srcs19[2];
8922        ALshort *srcs20[2];
8923        ALshort *srcs21[2];
8924        ALshort *srcs22[2];
8925        ALshort *srcs23[2];
8926        ALshort *srcs24[2];
8927        ALshort *srcs25[2];
8928        ALshort *srcs26[2];
8929        ALshort *srcs27[2];
8930        ALshort *srcs28[2];
8931        ALshort *srcs29[2];
8932        ALshort *srcs30[2];
8933        ALshort *srcs31[2];
8934
8935        int len;
8936        int sample;
8937
8938        len = entries[0].bytes;
8939        len /= sizeof(ALshort);
8940
8941        srcs0[0] = entries[0].data;
8942        srcs0[1] = entries[1].data;
8943        srcs1[0] = entries[2].data;
8944        srcs1[1] = entries[3].data;
8945        srcs2[0] = entries[4].data;
8946        srcs2[1] = entries[5].data;
8947        srcs3[0] = entries[6].data;
8948        srcs3[1] = entries[7].data;
8949        srcs4[0] = entries[8].data;
8950        srcs4[1] = entries[9].data;
8951        srcs5[0] = entries[10].data;
8952        srcs5[1] = entries[11].data;
8953        srcs6[0] = entries[12].data;
8954        srcs6[1] = entries[13].data;
8955        srcs7[0] = entries[14].data;
8956        srcs7[1] = entries[15].data;
8957        srcs8[0] = entries[16].data;
8958        srcs8[1] = entries[17].data;
8959        srcs9[0] = entries[18].data;
8960        srcs9[1] = entries[19].data;
8961        srcs10[0] = entries[20].data;
8962        srcs10[1] = entries[21].data;
8963        srcs11[0] = entries[22].data;
8964        srcs11[1] = entries[23].data;
8965        srcs12[0] = entries[24].data;
8966        srcs12[1] = entries[25].data;
8967        srcs13[0] = entries[26].data;
8968        srcs13[1] = entries[27].data;
8969        srcs14[0] = entries[28].data;
8970        srcs14[1] = entries[29].data;
8971        srcs15[0] = entries[30].data;
8972        srcs15[1] = entries[31].data;
8973        srcs16[0] = entries[32].data;
8974        srcs16[1] = entries[33].data;
8975        srcs17[0] = entries[34].data;
8976        srcs17[1] = entries[35].data;
8977        srcs18[0] = entries[36].data;
8978        srcs18[1] = entries[37].data;
8979        srcs19[0] = entries[38].data;
8980        srcs19[1] = entries[39].data;
8981        srcs20[0] = entries[40].data;
8982        srcs20[1] = entries[41].data;
8983        srcs21[0] = entries[42].data;
8984        srcs21[1] = entries[43].data;
8985        srcs22[0] = entries[44].data;
8986        srcs22[1] = entries[45].data;
8987        srcs23[0] = entries[46].data;
8988        srcs23[1] = entries[47].data;
8989        srcs24[0] = entries[48].data;
8990        srcs24[1] = entries[49].data;
8991        srcs25[0] = entries[50].data;
8992        srcs25[1] = entries[51].data;
8993        srcs26[0] = entries[52].data;
8994        srcs26[1] = entries[53].data;
8995        srcs27[0] = entries[54].data;
8996        srcs27[1] = entries[55].data;
8997        srcs28[0] = entries[56].data;
8998        srcs28[1] = entries[57].data;
8999        srcs29[0] = entries[58].data;
9000        srcs29[1] = entries[59].data;
9001        srcs30[0] = entries[60].data;
9002        srcs30[1] = entries[61].data;
9003        srcs31[0] = entries[62].data;
9004        srcs31[1] = entries[63].data;
9005
9006
9007        while(len--) {
9008                sample = *srcs0[0];
9009                sample += *srcs0[1];
9010                sample += *srcs1[0];
9011                sample += *srcs1[1];
9012                sample += *srcs2[0];
9013                sample += *srcs2[1];
9014                sample += *srcs3[0];
9015                sample += *srcs3[1];
9016                sample += *srcs4[0];
9017                sample += *srcs4[1];
9018                sample += *srcs5[0];
9019                sample += *srcs5[1];
9020                sample += *srcs6[0];
9021                sample += *srcs6[1];
9022                sample += *srcs7[0];
9023                sample += *srcs7[1];
9024                sample += *srcs8[0];
9025                sample += *srcs8[1];
9026                sample += *srcs9[0];
9027                sample += *srcs9[1];
9028                sample += *srcs10[0];
9029                sample += *srcs10[1];
9030                sample += *srcs11[0];
9031                sample += *srcs11[1];
9032                sample += *srcs12[0];
9033                sample += *srcs12[1];
9034                sample += *srcs13[0];
9035                sample += *srcs13[1];
9036                sample += *srcs14[0];
9037                sample += *srcs14[1];
9038                sample += *srcs15[0];
9039                sample += *srcs15[1];
9040                sample += *srcs16[0];
9041                sample += *srcs16[1];
9042                sample += *srcs17[0];
9043                sample += *srcs17[1];
9044                sample += *srcs18[0];
9045                sample += *srcs18[1];
9046                sample += *srcs19[0];
9047                sample += *srcs19[1];
9048                sample += *srcs20[0];
9049                sample += *srcs20[1];
9050                sample += *srcs21[0];
9051                sample += *srcs21[1];
9052                sample += *srcs22[0];
9053                sample += *srcs22[1];
9054                sample += *srcs23[0];
9055                sample += *srcs23[1];
9056                sample += *srcs24[0];
9057                sample += *srcs24[1];
9058                sample += *srcs25[0];
9059                sample += *srcs25[1];
9060                sample += *srcs26[0];
9061                sample += *srcs26[1];
9062                sample += *srcs27[0];
9063                sample += *srcs27[1];
9064                sample += *srcs28[0];
9065                sample += *srcs28[1];
9066                sample += *srcs29[0];
9067                sample += *srcs29[1];
9068                sample += *srcs30[0];
9069                sample += *srcs30[1];
9070                sample += *srcs31[0];
9071                sample += *srcs31[1];
9072
9073                if(sample > max_audioval ) {
9074                        *dst = max_audioval;
9075                } else if(sample < min_audioval ) {
9076                        *dst = min_audioval;
9077                } else {
9078                        *dst = sample;
9079                }
9080
9081                srcs0[0]++;
9082                srcs0[1]++;
9083                srcs1[0]++;
9084                srcs1[1]++;
9085                srcs2[0]++;
9086                srcs2[1]++;
9087                srcs3[0]++;
9088                srcs3[1]++;
9089                srcs4[0]++;
9090                srcs4[1]++;
9091                srcs5[0]++;
9092                srcs5[1]++;
9093                srcs6[0]++;
9094                srcs6[1]++;
9095                srcs7[0]++;
9096                srcs7[1]++;
9097                srcs8[0]++;
9098                srcs8[1]++;
9099                srcs9[0]++;
9100                srcs9[1]++;
9101                srcs10[0]++;
9102                srcs10[1]++;
9103                srcs11[0]++;
9104                srcs11[1]++;
9105                srcs12[0]++;
9106                srcs12[1]++;
9107                srcs13[0]++;
9108                srcs13[1]++;
9109                srcs14[0]++;
9110                srcs14[1]++;
9111                srcs15[0]++;
9112                srcs15[1]++;
9113                srcs16[0]++;
9114                srcs16[1]++;
9115                srcs17[0]++;
9116                srcs17[1]++;
9117                srcs18[0]++;
9118                srcs18[1]++;
9119                srcs19[0]++;
9120                srcs19[1]++;
9121                srcs20[0]++;
9122                srcs20[1]++;
9123                srcs21[0]++;
9124                srcs21[1]++;
9125                srcs22[0]++;
9126                srcs22[1]++;
9127                srcs23[0]++;
9128                srcs23[1]++;
9129                srcs24[0]++;
9130                srcs24[1]++;
9131                srcs25[0]++;
9132                srcs25[1]++;
9133                srcs26[0]++;
9134                srcs26[1]++;
9135                srcs27[0]++;
9136                srcs27[1]++;
9137                srcs28[0]++;
9138                srcs28[1]++;
9139                srcs29[0]++;
9140                srcs29[1]++;
9141                srcs30[0]++;
9142                srcs30[1]++;
9143                srcs31[0]++;
9144                srcs31[1]++;
9145
9146
9147                dst++;
9148        }
9149       
9150        return;
9151}
9152#endif /* USE_LIGHT_GEN_MIXING */
Note: See TracBrowser for help on using the repository browser.