FreeCalypso > hg > gsm-codec-lib
comparison libgsmfrp/internal.h @ 4:286d5f097eb4
libgsmfrp: implement comfort noise generation
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 19 Nov 2022 20:16:09 +0000 |
parents | 3cd5ad24b1d4 |
children | 3b64f255689a |
comparison
equal
deleted
inserted
replaced
3:3cd5ad24b1d4 | 4:286d5f097eb4 |
---|---|
9 SPEECH_MUTING, | 9 SPEECH_MUTING, |
10 COMFORT_NOISE, | 10 COMFORT_NOISE, |
11 LOST_SID, | 11 LOST_SID, |
12 }; | 12 }; |
13 | 13 |
14 typedef unsigned char cparam; | |
15 | |
16 struct gsmfr_preproc_state { | 14 struct gsmfr_preproc_state { |
17 enum rx_state rx_state; | 15 enum rx_state rx_state; |
18 int got_valid_sid; | 16 int got_valid_sid; |
19 gsm_frame speech_frame; | 17 gsm_frame speech_frame; |
20 cparam cnoise_larc[8]; | 18 gsm_byte sid_prefix[5]; |
21 cparam cnoise_xmaxc[4]; | 19 uint8_t sid_xmaxc[4]; |
20 uint32_t cn_random_lfsr; | |
21 unsigned cn_random_6fold; | |
22 }; | 22 }; |
23 | |
24 /* we use the same LFSR PRNG for CN as ETSI EFR implementation */ | |
25 #define PN_INITIAL_SEED 0x70816958L /* Pseudo noise generator seed value */ | |
26 | |
27 /* internal function */ | |
28 extern void gsmfr_preproc_gen_cn(struct gsmfr_preproc_state *state, | |
29 gsm_byte *frame); |