FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/lpc.h @ 396:38ee82480462
libtwamr: integrate pre_big.c
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 06 May 2024 18:57:05 +0000 | 
| parents | 9adfe3863a41 | 
| children | 
| rev | line source | 
|---|---|
| 386 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 * R99 Version 3.3.0 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 * REL-4 Version 4.1.0 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 * | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 * | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 * File : lpc.h | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 * Purpose : 2 LP analyses centered at 2nd and 4th subframe | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 * for mode 12.2. For all other modes a | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 * LP analysis centered at 4th subframe is | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 * performed. | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 * | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 #ifndef lpc_h | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 #define lpc_h "$Id $" | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 /* | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 * INCLUDE FILES | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 #include "tw_amr.h" | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include "typedef.h" | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "levinson.h" | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 /* | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 * LOCAL VARIABLES AND TABLES | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 /* | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 * DEFINITION OF DATA TYPES | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 typedef struct { | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 LevinsonState levinsonSt; | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 } lpcState; | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 /* | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 * DECLARATION OF PROTOTYPES | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 ******************************************************************************** | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 void lpc_reset (lpcState *st); | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 /* reset of pre processing state (i.e. set state memory to zero) | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 returns 0 on success | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 int lpc( | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 lpcState *st, /* i/o: State struct */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 enum Mode mode, /* i : coder mode */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 Word16 x[], /* i : Input signal Q15 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 Word16 x_12k2[], /* i : Input signal (EFR) Q15 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 Word16 a[] /* o : predictor coefficients Q12 */ | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 ); | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 | 
| 
9adfe3863a41
libtwamr: integrate lpc.c
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 #endif | 
