FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/cnst.h @ 256:a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 12 Apr 2024 20:49:53 +0000 |
parents | 57b4053559ff |
children |
rev | line source |
---|---|
252
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ***************************************************************************** |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * R99 Version 3.3.0 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * REL-4 Version 4.1.0 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 ***************************************************************************** |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 * File : cnst.h |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 * Purpose : Speech codec constant parameters |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 * : (encoder, decoder, and postfilter) |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 ***************************************************************************** |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #ifndef cnst_h |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #define cnst_h "$Id $" |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #define L_TOTAL 320 /* Total size of speech buffer. */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #define L_WINDOW 240 /* Window size in LP analysis */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define L_FRAME 160 /* Frame size */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #define L_FRAME_BY2 80 /* Frame size divided by 2 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #define L_SUBFR 40 /* Subframe size */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #define L_CODE 40 /* codevector length */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #define NB_TRACK 5 /* number of tracks */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #define STEP 5 /* codebook step size */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #define NB_TRACK_MR102 4 /* number of tracks mode mr102 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #define STEP_MR102 4 /* codebook step size mode mr102 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #define M 10 /* Order of LP filter */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #define MP1 (M+1) /* Order of LP filter + 1 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #define LSF_GAP 205 /* Minimum distance between LSF after quan- |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 tization; 50 Hz = 205 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #define LSP_PRED_FAC_MR122 21299 /* MR122 LSP prediction factor (0.65 Q15) */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #define AZ_SIZE (4*M+4) /* Size of array of LP filters in 4 subfr.s */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #define PIT_MIN_MR122 18 /* Minimum pitch lag (MR122 mode) */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #define PIT_MIN 20 /* Minimum pitch lag (all other modes) */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #define PIT_MAX 143 /* Maximum pitch lag */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #define L_INTERPOL (10+1) /* Length of filter for interpolation */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #define L_INTER_SRCH 4 /* Length of filter for CL LTP search |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 interpolation */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #define MU 26214 /* Factor for tilt compensation filter 0.8 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #define AGC_FAC 29491 /* Factor for automatic gain control 0.9 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #define L_NEXT 40 /* Overhead in LP analysis */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #define SHARPMAX 13017 /* Maximum value of pitch sharpening */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #define SHARPMIN 0 /* Minimum value of pitch sharpening */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #define MAX_PRM_SIZE 57 /* max. num. of params */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #define MAX_SERIAL_SIZE 244 /* max. num. of serial bits */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #define GP_CLIP 15565 /* Pitch gain clipping = 0.95 */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 #define N_FRAME 7 /* old pitch gains in average calculation */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 #define EHF_MASK 0x0008 /* encoder homing frame pattern */ |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
57b4053559ff
libtwamr: beginning of project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #endif |