1 | /* -*- mode: C; tab-width:8; c-basic-offset:8 -*- |
---|
2 | * vi:set ts=8: |
---|
3 | * |
---|
4 | * mixaudio16.h |
---|
5 | * |
---|
6 | * Mixing functions for signed, 16-bit PCM streams. |
---|
7 | */ |
---|
8 | #ifndef _MIX_AUDIO16_H_ |
---|
9 | #define _MIX_AUDIO16_H_ |
---|
10 | |
---|
11 | #include <AL/al.h> |
---|
12 | #include "al_types.h" |
---|
13 | #include "al_siteconfig.h" |
---|
14 | |
---|
15 | #ifdef __MMX__ |
---|
16 | #include "mixaudio16_mmx_prk.h" |
---|
17 | #endif /* __MMX__ */ |
---|
18 | |
---|
19 | /* |
---|
20 | * max_audioval is the maximum value of a signed short. |
---|
21 | */ |
---|
22 | #define max_audioval ((1<<(16-1))-1) |
---|
23 | |
---|
24 | /* |
---|
25 | * min_audioval is the minimum value of a signed short. |
---|
26 | */ |
---|
27 | #define min_audioval -(1<<(16-1)) |
---|
28 | |
---|
29 | /* |
---|
30 | * Mix a numents number of streams into dst, clamping above by max_audioval |
---|
31 | * and below by min_audioval to prevent overflow. |
---|
32 | */ |
---|
33 | void MixAudio16_n( ALshort *dst, alMixEntry *entries, ALuint numents ); |
---|
34 | |
---|
35 | /* |
---|
36 | * Mixing functions. |
---|
37 | * |
---|
38 | * These are specialized functions which mix each entry in entries to |
---|
39 | * destination. They are called using a dispatch table generating by the |
---|
40 | * ALMixManager and ALMixFuncs. |
---|
41 | * |
---|
42 | * The number in the function name refers to the number of entries which the |
---|
43 | * function can handle. This number is exact, not an upperbound, so the |
---|
44 | * number of streams in entries must match the function exactly. |
---|
45 | */ |
---|
46 | void MixAudio16_0( ALshort *dst, alMixEntry *entries ); |
---|
47 | void MixAudio16_1( ALshort *dst, alMixEntry *entries ); |
---|
48 | void MixAudio16_2( ALshort *dst, alMixEntry *entries ); |
---|
49 | void MixAudio16_3( ALshort *dst, alMixEntry *entries ); |
---|
50 | void MixAudio16_4( ALshort *dst, alMixEntry *entries ); |
---|
51 | void MixAudio16_5( ALshort *dst, alMixEntry *entries ); |
---|
52 | void MixAudio16_6( ALshort *dst, alMixEntry *entries ); |
---|
53 | void MixAudio16_7( ALshort *dst, alMixEntry *entries ); |
---|
54 | void MixAudio16_8( ALshort *dst, alMixEntry *entries ); |
---|
55 | #ifndef USE_LIGHT_GEN_MIXING |
---|
56 | void MixAudio16_9( ALshort *dst, alMixEntry *entries ); |
---|
57 | void MixAudio16_10( ALshort *dst, alMixEntry *entries ); |
---|
58 | void MixAudio16_11( ALshort *dst, alMixEntry *entries ); |
---|
59 | void MixAudio16_12( ALshort *dst, alMixEntry *entries ); |
---|
60 | void MixAudio16_13( ALshort *dst, alMixEntry *entries ); |
---|
61 | void MixAudio16_14( ALshort *dst, alMixEntry *entries ); |
---|
62 | void MixAudio16_15( ALshort *dst, alMixEntry *entries ); |
---|
63 | void MixAudio16_16( ALshort *dst, alMixEntry *entries ); |
---|
64 | void MixAudio16_17( ALshort *dst, alMixEntry *entries ); |
---|
65 | void MixAudio16_18( ALshort *dst, alMixEntry *entries ); |
---|
66 | void MixAudio16_19( ALshort *dst, alMixEntry *entries ); |
---|
67 | void MixAudio16_20( ALshort *dst, alMixEntry *entries ); |
---|
68 | void MixAudio16_21( ALshort *dst, alMixEntry *entries ); |
---|
69 | void MixAudio16_22( ALshort *dst, alMixEntry *entries ); |
---|
70 | void MixAudio16_23( ALshort *dst, alMixEntry *entries ); |
---|
71 | void MixAudio16_24( ALshort *dst, alMixEntry *entries ); |
---|
72 | void MixAudio16_25( ALshort *dst, alMixEntry *entries ); |
---|
73 | void MixAudio16_26( ALshort *dst, alMixEntry *entries ); |
---|
74 | void MixAudio16_27( ALshort *dst, alMixEntry *entries ); |
---|
75 | void MixAudio16_28( ALshort *dst, alMixEntry *entries ); |
---|
76 | void MixAudio16_29( ALshort *dst, alMixEntry *entries ); |
---|
77 | void MixAudio16_30( ALshort *dst, alMixEntry *entries ); |
---|
78 | void MixAudio16_31( ALshort *dst, alMixEntry *entries ); |
---|
79 | void MixAudio16_32( ALshort *dst, alMixEntry *entries ); |
---|
80 | void MixAudio16_33( ALshort *dst, alMixEntry *entries ); |
---|
81 | void MixAudio16_34( ALshort *dst, alMixEntry *entries ); |
---|
82 | void MixAudio16_35( ALshort *dst, alMixEntry *entries ); |
---|
83 | void MixAudio16_36( ALshort *dst, alMixEntry *entries ); |
---|
84 | void MixAudio16_37( ALshort *dst, alMixEntry *entries ); |
---|
85 | void MixAudio16_38( ALshort *dst, alMixEntry *entries ); |
---|
86 | void MixAudio16_39( ALshort *dst, alMixEntry *entries ); |
---|
87 | void MixAudio16_40( ALshort *dst, alMixEntry *entries ); |
---|
88 | void MixAudio16_41( ALshort *dst, alMixEntry *entries ); |
---|
89 | void MixAudio16_42( ALshort *dst, alMixEntry *entries ); |
---|
90 | void MixAudio16_43( ALshort *dst, alMixEntry *entries ); |
---|
91 | void MixAudio16_44( ALshort *dst, alMixEntry *entries ); |
---|
92 | void MixAudio16_45( ALshort *dst, alMixEntry *entries ); |
---|
93 | void MixAudio16_46( ALshort *dst, alMixEntry *entries ); |
---|
94 | void MixAudio16_47( ALshort *dst, alMixEntry *entries ); |
---|
95 | void MixAudio16_48( ALshort *dst, alMixEntry *entries ); |
---|
96 | void MixAudio16_49( ALshort *dst, alMixEntry *entries ); |
---|
97 | void MixAudio16_50( ALshort *dst, alMixEntry *entries ); |
---|
98 | void MixAudio16_51( ALshort *dst, alMixEntry *entries ); |
---|
99 | void MixAudio16_52( ALshort *dst, alMixEntry *entries ); |
---|
100 | void MixAudio16_53( ALshort *dst, alMixEntry *entries ); |
---|
101 | void MixAudio16_54( ALshort *dst, alMixEntry *entries ); |
---|
102 | void MixAudio16_55( ALshort *dst, alMixEntry *entries ); |
---|
103 | void MixAudio16_56( ALshort *dst, alMixEntry *entries ); |
---|
104 | void MixAudio16_57( ALshort *dst, alMixEntry *entries ); |
---|
105 | void MixAudio16_58( ALshort *dst, alMixEntry *entries ); |
---|
106 | void MixAudio16_59( ALshort *dst, alMixEntry *entries ); |
---|
107 | void MixAudio16_60( ALshort *dst, alMixEntry *entries ); |
---|
108 | void MixAudio16_61( ALshort *dst, alMixEntry *entries ); |
---|
109 | void MixAudio16_62( ALshort *dst, alMixEntry *entries ); |
---|
110 | void MixAudio16_63( ALshort *dst, alMixEntry *entries ); |
---|
111 | void MixAudio16_64( ALshort *dst, alMixEntry *entries ); |
---|
112 | #endif /* USE_LIGHT_GEN_MIXING */ |
---|
113 | #endif /* _MIX_AUDIO16_H_ */ |
---|