FreeCalypso > hg > gsm-codec-lib
annotate libgsmfr2/pp_state.h @ 468:4104b0390fab
efrtest: new program gsmefr-dlcap-sync
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 13 May 2024 07:21:09 +0000 |
parents | 573afa985df6 |
children | 96c4ed5529bf |
rev | line source |
---|---|
3
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
256
a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
Mychaela Falconia <falcon@freecalypso.org>
parents:
248
diff
changeset
|
2 * This header file is internal to libgsmfr2; |
a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
Mychaela Falconia <falcon@freecalypso.org>
parents:
248
diff
changeset
|
3 * here we define our state structure for the Rx DTX preprocessor component. |
3
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
256
a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
Mychaela Falconia <falcon@freecalypso.org>
parents:
248
diff
changeset
|
6 enum rx_dtx_st { |
3
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 NO_DATA = 0, |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 SPEECH, |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 SPEECH_MUTING, |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 COMFORT_NOISE, |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 LOST_SID, |
242
f081a6850fb5
libgsmfrp: new refined implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
12 CN_MUTING, |
3
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 }; |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 struct gsmfr_preproc_state { |
256
a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
Mychaela Falconia <falcon@freecalypso.org>
parents:
248
diff
changeset
|
16 enum rx_dtx_st rx_state; |
a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
Mychaela Falconia <falcon@freecalypso.org>
parents:
248
diff
changeset
|
17 uint8_t speech_frame[GSMFR_RTP_FRAME_LEN]; |
a33edf624061
libgsmfr2: start with API definition and port of libgsmfrp code
Mychaela Falconia <falcon@freecalypso.org>
parents:
248
diff
changeset
|
18 uint8_t sid_prefix[5]; |
242
f081a6850fb5
libgsmfrp: new refined implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
19 uint8_t sid_xmaxc; |
4
286d5f097eb4
libgsmfrp: implement comfort noise generation
Mychaela Falconia <falcon@freecalypso.org>
parents:
3
diff
changeset
|
20 uint32_t cn_random_lfsr; |
286d5f097eb4
libgsmfrp: implement comfort noise generation
Mychaela Falconia <falcon@freecalypso.org>
parents:
3
diff
changeset
|
21 unsigned cn_random_6fold; |
3
3cd5ad24b1d4
libgsmfrp: implement internal state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 }; |
4
286d5f097eb4
libgsmfrp: implement comfort noise generation
Mychaela Falconia <falcon@freecalypso.org>
parents:
3
diff
changeset
|
23 |
286d5f097eb4
libgsmfrp: implement comfort noise generation
Mychaela Falconia <falcon@freecalypso.org>
parents:
3
diff
changeset
|
24 /* we use the same LFSR PRNG for CN as ETSI EFR implementation */ |
286d5f097eb4
libgsmfrp: implement comfort noise generation
Mychaela Falconia <falcon@freecalypso.org>
parents:
3
diff
changeset
|
25 #define PN_INITIAL_SEED 0x70816958L /* Pseudo noise generator seed value */ |