[17] | 1 | /*********************************************************** |
---|
| 2 | -*- mode: C; tab-width:8; c-basic-offset:8 -*- |
---|
| 3 | * vi:set ts=8: |
---|
| 4 | Copyright 1992 by Stichting Mathematisch Centrum, Amsterdam, The |
---|
| 5 | Netherlands. |
---|
| 6 | |
---|
| 7 | All Rights Reserved |
---|
| 8 | |
---|
| 9 | Permission to use, copy, modify, and distribute this software and its |
---|
| 10 | documentation for any purpose and without fee is hereby granted, |
---|
| 11 | provided that the above copyright notice appear in all copies and that |
---|
| 12 | both that copyright notice and this permission notice appear in |
---|
| 13 | supporting documentation, and that the names of Stichting Mathematisch |
---|
| 14 | Centrum or CWI not be used in advertising or publicity pertaining to |
---|
| 15 | distribution of the software without specific, written prior permission. |
---|
| 16 | |
---|
| 17 | STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO |
---|
| 18 | THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
---|
| 19 | FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE |
---|
| 20 | FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
---|
| 21 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
---|
| 22 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
---|
| 23 | OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
---|
| 24 | |
---|
| 25 | ******************************************************************/ |
---|
| 26 | |
---|
| 27 | /* |
---|
| 28 | * |
---|
| 29 | * ac_adpcm.h |
---|
| 30 | * |
---|
| 31 | * This file contains prototypes and definitions for the ADPCM |
---|
| 32 | * decoders in audioconvert. |
---|
| 33 | * |
---|
| 34 | * For more information, please see ac_adpcm.c |
---|
| 35 | */ |
---|
| 36 | #ifndef _AC_ADPCM_H_ |
---|
| 37 | #define _AC_ADPCM_H_ |
---|
| 38 | |
---|
| 39 | #include "al_siteconfig.h" |
---|
| 40 | |
---|
| 41 | #include <AL/al.h> |
---|
| 42 | #include <AL/alext.h> |
---|
| 43 | |
---|
| 44 | typedef struct adpcm_state_s { |
---|
| 45 | ALshort valprev; /* Previous output value */ |
---|
| 46 | ALbyte index; /* Index into stepsize table */ |
---|
| 47 | } adpcm_state_t; |
---|
| 48 | |
---|
| 49 | void ac_adpcm_coder (short [], char [], int, adpcm_state_t *); |
---|
| 50 | void ac_adpcm_decoder (char [], short [], int, adpcm_state_t *, int pos); |
---|
| 51 | |
---|
| 52 | int msadpcm_decode(ALubyte *encoded, ALubyte *decoded, ALuint audio_len, |
---|
| 53 | alMSADPCM_state_LOKI *dstate, int offset); |
---|
| 54 | |
---|
| 55 | ALint MS_ADPCM_nibble(alMSADPCM_decodestate_LOKI *state, |
---|
| 56 | ALubyte nybble, ALshort *coeff); |
---|
| 57 | |
---|
| 58 | int InitIMA_ADPCM(alIMAADPCM_state_LOKI *state, alWaveFMT_LOKI *format); |
---|
| 59 | int IMA_ADPCM_decode_FULL(alIMAADPCM_state_LOKI *state, |
---|
| 60 | ALubyte **audio_buf, ALuint *audio_len); |
---|
| 61 | int IMA_ADPCM_decode(ALubyte *indata, ALubyte *outdata, |
---|
| 62 | ALuint len, alIMAADPCM_state_LOKI *istate, int offset); |
---|
| 63 | |
---|
| 64 | #endif /* _AC_ADPCM_H_ */ |
---|