FreeCalypso > hg > gsm-codec-lib
comparison libgsmefr/gsm_efr.h @ 30:2272ba6f6879
libgsmefr: beginning with API definition
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 23 Nov 2022 07:54:04 +0000 |
parents | libgsmfrp/gsm_fr_preproc.h@2b5770c715ee |
children | 88468d5b3590 |
comparison
equal
deleted
inserted
replaced
29:d21c68b8f16c | 30:2272ba6f6879 |
---|---|
1 /* | |
2 * This header file is the external public interface to libgsmefr; | |
3 * it should be installed in the same system include directory | |
4 * as <gsm.h> and <gsm_fr_preproc.h> for the older FR codec. | |
5 */ | |
6 | |
7 #ifndef __GSM_EFR_H | |
8 #define __GSM_EFR_H | |
9 | |
10 #include <stdint.h> | |
11 | |
12 struct EFR_encoder_state; /* opaque to external users */ | |
13 struct EFR_decoder_state; /* ditto */ | |
14 | |
15 extern struct EFR_encoder_state *EFR_encoder_create(int dtx); | |
16 extern struct EFR_decoder_state *EFR_decoder_create(void); | |
17 /* use standard free() call to free both afterward */ | |
18 | |
19 /* reset state to initial */ | |
20 extern void EFR_encoder_reset(struct EFR_encoder_state *st, int dtx); | |
21 extern void EFR_decoder_reset(struct EFR_decoder_state *st); | |
22 | |
23 /* encoder public functions */ | |
24 | |
25 extern void EFR_encode_params(struct EFR_encoder_state *st, const int16_t *pcm, | |
26 int16_t *params, int *sp, int *vad); | |
27 extern void EFR_encode_frame(struct EFR_encoder_state *st, const int16_t *pcm, | |
28 uint8_t *frame, int *sp, int *vad); | |
29 | |
30 /* decoder public functions */ | |
31 | |
32 extern void EFR_decode_params(struct EFR_decoder_state *st, | |
33 const int16_t *params, int bfi, int sid, int taf, | |
34 int16_t *pcm); | |
35 extern void EFR_decode_frame(struct EFR_decoder_state *st, const uint8_t *frame, | |
36 int bfi, int taf, int16_t *pcm); | |
37 extern void EFR_decode_bfi_nodata(struct EFR_decoder_state *st, int taf, | |
38 int16_t *pcm); | |
39 | |
40 /* stateless utility functions */ | |
41 | |
42 extern int EFR_sid_classify(const uint8_t *frame); | |
43 extern void EFR_frame2params(const uint8_t *frame, int16_t *params); | |
44 extern void EFR_params2frame(const int16_t *params, int sid, uint8_t *frame); | |
45 | |
46 #endif /* include guard */ |