FreeCalypso > hg > gsm-codec-lib
changeset 571:c6d0b1a7281e
libgsmhr1: API definition for TFO transform
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Feb 2025 07:57:29 +0000 |
parents | b4c4ed4b1b91 |
children | 02a3c88b415d |
files | libgsmhr1/tw_gsmhr.h |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libgsmhr1/tw_gsmhr.h Wed Feb 12 04:53:08 2025 +0000 +++ b/libgsmhr1/tw_gsmhr.h Wed Feb 12 07:57:29 2025 +0000 @@ -19,18 +19,21 @@ #define GSMHR_FRAME_LEN_RPF 14 /* raw packed format */ #define GSMHR_FRAME_LEN_5993 15 /* RFC 5993 and TW-TS-002 */ -/* stateful encoder and decoder engines */ +/* stateful encoder, decoder and TFO engines */ struct gsmhr_encoder_state; /* opaque to external users */ struct gsmhr_decoder_state; /* ditto */ +struct gsmhr_rxfe_state; struct gsmhr_encoder_state *gsmhr_encoder_create(int dtx); struct gsmhr_decoder_state *gsmhr_decoder_create(void); +struct gsmhr_rxfe_state *gsmhr_rxfe_create(void); /* use standard free() call to free both afterward */ /* reset state to initial */ void gsmhr_encoder_reset(struct gsmhr_encoder_state *st, int dtx); void gsmhr_decoder_reset(struct gsmhr_decoder_state *st); +void gsmhr_rxfe_reset(struct gsmhr_rxfe_state *st); /* encoder and decoder main functions */ void gsmhr_encode_frame(struct gsmhr_encoder_state *st, const int16_t *pcm, @@ -38,6 +41,10 @@ void gsmhr_decode_frame(struct gsmhr_decoder_state *st, const int16_t *param, int16_t *pcm); +/* TFO transform */ +void gsmhr_tfo_xfrm(struct gsmhr_rxfe_state *st, int dtxd, const int16_t *ul, + int16_t *dl); + /* stateless format conversion functions */ void gsmhr_pack_ts101318(const int16_t *param, uint8_t *payload);