FreeCalypso > hg > gsm-codec-lib
diff libgsmhr1/dec_state.c @ 596:8e4ecdfadf5a
libgsmhr1: capture decoder state
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 04 Dec 2025 06:25:54 +0000 |
| parents | libgsmhr1/rxfe_create.c@9cda792c0dd7 |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgsmhr1/dec_state.c Thu Dec 04 06:25:54 2025 +0000 @@ -0,0 +1,37 @@ +/* + * Here we implement gsmhr_decoder_create() and gsmhr_decoder_reset() + * functions: allocation and initialization of full speech decoder state. + */ + +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include "tw_gsmhr.h" +#include "typedefs.h" +#include "namespace.h" +#include "dec_state.h" +#include "dtx_const.h" + +struct gsmhr_decoder_state *gsmhr_decoder_create(void) +{ + struct gsmhr_decoder_state *st; + + st = malloc(sizeof(struct gsmhr_decoder_state)); + if (st) + gsmhr_decoder_reset(st); + return st; +} + +void gsmhr_decoder_reset(struct gsmhr_decoder_state *st) +{ + int i; + + memset(st, 0, sizeof(struct gsmhr_decoder_state)); + gsmhr_rxfe_reset(&st->rxfe); + for (i = 0; i < 4; i++) { + st->plSubfrEnergyMem[i] = 80; + st->swLevelMem[i] = -72; + } + st->swRxDTXState = CNINTPER - 1; + st->is_homed = 1; +}
