[17] | 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_ */ |
---|