FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/spstproc.h @ 449:2af2b5c12268
Library-versions: libtwamr is officially version 1.0.0
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 10 May 2024 01:43:05 +0000 |
parents | a37687c6ff22 |
children |
rev | line source |
---|---|
404
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * R99 Version 3.3.0 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * REL-4 Version 4.1.0 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 * File : subframePostProc.h |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 * Purpose : Subframe post processing |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 * |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #ifndef spstproc_h |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #define spstproc_h "$Id $" |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 /* |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 * INCLUDE FILES |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #include "tw_amr.h" |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "typedef.h" |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /* |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 * LOCAL VARIABLES AND TABLES |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 /* |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 * PUBLIC PROGRAM CODE |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 ******************************************************************************** |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 int subframePostProc( |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 Word16 *speech, /* i : speech segment */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 enum Mode mode, /* i : coder mode */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 Word16 i_subfr, /* i : Subframe nr */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 Word16 gain_pit, /* i : Pitch gain Q14 */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 Word16 gain_code, /* i : Decoded innovation gain */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 Word16 *Aq, /* i : A(z) quantized for the 4 subframes */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 Word16 synth[], /* i : Local snthesis */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 Word16 xn[], /* i : Target vector for pitch search */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 Word16 code[], /* i : Fixed codebook exitation */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 Word16 y1[], /* i : Filtered adaptive exitation */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 Word16 y2[], /* i : Filtered fixed codebook excitation */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 Word16 *mem_syn, /* i/o : memory of synthesis filter */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 Word16 *mem_err, /* o : pointer to error signal */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 Word16 *mem_w0, /* o : memory of weighting filter */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 Word16 *exc, /* o : long term prediction residual */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 Word16 *sharp /* o : pitch sharpening value */ |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 ); |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
a37687c6ff22
libtwamr: integrate spstproc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 #endif |