48aecc75aa106b6fdfe4c37970765cdc76e363bb
[Faustine.git] / interpretor / lib / src / libsndfile-1.0.25 / src / GSM610 / gsm.h
1 /*
2 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
3 * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
4 * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
5 */
6
7 #ifndef GSM_H
8 #define GSM_H
9
10 #include <stdio.h> /* for FILE * */
11
12 /*
13 * Interface
14 */
15
16 typedef struct gsm_state * gsm;
17 typedef short gsm_signal; /* signed 16 bit */
18 typedef unsigned char gsm_byte;
19 typedef gsm_byte gsm_frame[33]; /* 33 * 8 bits */
20
21 #define GSM_MAGIC 0xD /* 13 kbit/s RPE-LTP */
22
23 #define GSM_PATCHLEVEL 10
24 #define GSM_MINOR 0
25 #define GSM_MAJOR 1
26
27 #define GSM_OPT_VERBOSE 1
28 #define GSM_OPT_FAST 2
29 #define GSM_OPT_LTP_CUT 3
30 #define GSM_OPT_WAV49 4
31 #define GSM_OPT_FRAME_INDEX 5
32 #define GSM_OPT_FRAME_CHAIN 6
33
34 gsm gsm_create (void);
35
36 /* Added for libsndfile : May 6, 2002 */
37 void gsm_init (gsm);
38
39 void gsm_destroy (gsm);
40
41 int gsm_print (FILE *, gsm, gsm_byte *);
42 int gsm_option (gsm, int, int *);
43
44 void gsm_encode (gsm, gsm_signal *, gsm_byte *);
45 int gsm_decode (gsm, gsm_byte *, gsm_signal *);
46
47 int gsm_explode (gsm, gsm_byte *, gsm_signal *);
48 void gsm_implode (gsm, gsm_signal *, gsm_byte *);
49
50 #endif /* GSM_H */
51
52