FreeCalypso > hg > gsm-codec-lib
comparison libgsmefr/codec.h @ 52:988fd7ff514f
libgsmefr: add state pointers to ETSI function prototypes
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 25 Nov 2022 08:22:41 +0000 |
| parents | 36e1363ad885 |
| children | 1cc2968f883f |
comparison
equal
deleted
inserted
replaced
| 51:722959d9410f | 52:988fd7ff514f |
|---|---|
| 1 void Init_Coder_12k2 (void); | 1 void Init_Coder_12k2 (struct EFR_encoder_state *st); |
| 2 | 2 |
| 3 void Coder_12k2 ( | 3 void Coder_12k2 ( |
| 4 struct EFR_encoder_state *st, | |
| 4 Word16 ana[], /* output : Analysis parameters */ | 5 Word16 ana[], /* output : Analysis parameters */ |
| 5 Word16 synth[] /* output : Local synthesis */ | 6 Word16 synth[] /* output : Local synthesis */ |
| 6 ); | 7 ); |
| 7 | 8 |
| 8 void Init_Decoder_12k2 (void); | 9 void Init_Decoder_12k2 (struct EFR_decoder_state *st); |
| 9 | 10 |
| 10 void Decoder_12k2 ( | 11 void Decoder_12k2 ( |
| 12 struct EFR_decoder_state *st, | |
| 11 Word16 parm[], /* input : vector of synthesis parameters | 13 Word16 parm[], /* input : vector of synthesis parameters |
| 12 parm[0] = bad frame indicator (bfi) */ | 14 parm[0] = bad frame indicator (bfi) */ |
| 13 Word16 synth[], /* output: synthesis speech */ | 15 Word16 synth[], /* output: synthesis speech */ |
| 14 Word16 A_t[], /* output: decoded LP filter in 4 subframes */ | 16 Word16 A_t[], /* output: decoded LP filter in 4 subframes */ |
| 15 Word16 TAF, | 17 Word16 TAF, |
| 16 Word16 SID_flag | 18 Word16 SID_flag |
| 17 ); | 19 ); |
| 18 | 20 |
| 19 void Init_Post_Filter (void); | 21 void Init_Post_Filter (struct EFR_decoder_state *st); |
| 20 | 22 |
| 21 void Post_Filter ( | 23 void Post_Filter ( |
| 24 struct EFR_decoder_state *st, | |
| 22 Word16 *syn, /* in/out: synthesis speech (postfiltered is output) */ | 25 Word16 *syn, /* in/out: synthesis speech (postfiltered is output) */ |
| 23 Word16 *Az_4 /* input : interpolated LPC parameters in all subfr. */ | 26 Word16 *Az_4 /* input : interpolated LPC parameters in all subfr. */ |
| 24 ); | 27 ); |
| 25 | 28 |
| 26 void code_10i40_35bits ( | 29 void code_10i40_35bits ( |
| 34 ); | 37 ); |
| 35 void dec_10i40_35bits ( | 38 void dec_10i40_35bits ( |
| 36 Word16 index[], /* (i) : index of 10 pulses (sign+position) */ | 39 Word16 index[], /* (i) : index of 10 pulses (sign+position) */ |
| 37 Word16 cod[] /* (o) : algebraic (fixed) codebook excitation */ | 40 Word16 cod[] /* (o) : algebraic (fixed) codebook excitation */ |
| 38 ); | 41 ); |
| 42 | |
| 39 Word16 Dec_lag6 ( /* output: return integer pitch lag */ | 43 Word16 Dec_lag6 ( /* output: return integer pitch lag */ |
| 44 struct EFR_decoder_state *st, | |
| 40 Word16 index, /* input : received pitch index */ | 45 Word16 index, /* input : received pitch index */ |
| 41 Word16 pit_min, /* input : minimum pitch lag */ | 46 Word16 pit_min, /* input : minimum pitch lag */ |
| 42 Word16 pit_max, /* input : maximum pitch lag */ | 47 Word16 pit_max, /* input : maximum pitch lag */ |
| 43 Word16 i_subfr, /* input : subframe flag */ | 48 Word16 i_subfr, /* input : subframe flag */ |
| 44 Word16 L_frame_by2,/* input : speech frame size divided by 2 */ | 49 Word16 L_frame_by2,/* input : speech frame size divided by 2 */ |
| 45 Word16 *T0_frac, /* output: fractional part of pitch lag */ | 50 Word16 *T0_frac, /* output: fractional part of pitch lag */ |
| 46 Word16 bfi /* input : bad frame indicator */ | 51 Word16 bfi /* input : bad frame indicator */ |
| 47 ); | 52 ); |
| 48 Word16 d_gain_pitch ( /* out : quantized pitch gain */ | 53 Word16 d_gain_pitch ( /* out : quantized pitch gain */ |
| 54 struct EFR_decoder_state *st, | |
| 49 Word16 index, /* in : index of quantization */ | 55 Word16 index, /* in : index of quantization */ |
| 50 Word16 bfi, /* in : bad frame indicator (good = 0) */ | 56 Word16 bfi, /* in : bad frame indicator (good = 0) */ |
| 51 Word16 state, /* in : state of the state machine */ | 57 Word16 state, /* in : state of the state machine */ |
| 52 Word16 prev_bf, /* Previous bf */ | 58 Word16 prev_bf, /* Previous bf */ |
| 53 Word16 rxdtx_ctrl | 59 Word16 rxdtx_ctrl |
| 54 | 60 |
| 55 ); | 61 ); |
| 56 void d_gain_code ( | 62 void d_gain_code ( |
| 63 struct EFR_decoder_state *st, | |
| 57 Word16 index, /* input : received quantization index */ | 64 Word16 index, /* input : received quantization index */ |
| 58 Word16 code[], /* input : innovation codevector */ | 65 Word16 code[], /* input : innovation codevector */ |
| 59 Word16 lcode, /* input : codevector length */ | 66 Word16 lcode, /* input : codevector length */ |
| 60 Word16 *gain_code, /* output: decoded innovation gain */ | 67 Word16 *gain_code, /* output: decoded innovation gain */ |
| 61 Word16 bfi, /* input : bad frame indicator */ | 68 Word16 bfi, /* input : bad frame indicator */ |
| 65 Word16 i_subfr, | 72 Word16 i_subfr, |
| 66 Word16 rx_dtx_state | 73 Word16 rx_dtx_state |
| 67 | 74 |
| 68 ); | 75 ); |
| 69 void D_plsf_5 ( | 76 void D_plsf_5 ( |
| 77 struct EFR_decoder_state *st, | |
| 70 Word16 *indice, /* input : quantization indices of 5 submatrices */ | 78 Word16 *indice, /* input : quantization indices of 5 submatrices */ |
| 71 Word16 *lsp1_q, /* output: quantized 1st LSP vector */ | 79 Word16 *lsp1_q, /* output: quantized 1st LSP vector */ |
| 72 Word16 *lsp2_q, /* output: quantized 2nd LSP vector */ | 80 Word16 *lsp2_q, /* output: quantized 2nd LSP vector */ |
| 73 Word16 bfi, /* input : bad frame indicator (set to 1 if a bad | 81 Word16 bfi, /* input : bad frame indicator (set to 1 if a bad |
| 74 frame is received) */ | 82 frame is received) */ |
| 75 Word16 rxdtx_ctrl, | 83 Word16 rxdtx_ctrl, |
| 76 Word16 rx_dtx_state | 84 Word16 rx_dtx_state |
| 77 ); | 85 ); |
| 86 | |
| 78 Word16 Enc_lag6 ( /* output: Return index of encoding */ | 87 Word16 Enc_lag6 ( /* output: Return index of encoding */ |
| 79 Word16 T0, /* input : Pitch delay */ | 88 Word16 T0, /* input : Pitch delay */ |
| 80 Word16 *T0_frac, /* in/out: Fractional pitch delay */ | 89 Word16 *T0_frac, /* in/out: Fractional pitch delay */ |
| 81 Word16 *T0_min, /* in/out: Minimum search delay */ | 90 Word16 *T0_min, /* in/out: Minimum search delay */ |
| 82 Word16 *T0_max, /* in/out: Maximum search delay */ | 91 Word16 *T0_max, /* in/out: Maximum search delay */ |
| 88 Word16 q_gain_pitch ( /* Return index of quantization */ | 97 Word16 q_gain_pitch ( /* Return index of quantization */ |
| 89 Word16 *gain /* (i) : Pitch gain to quantize */ | 98 Word16 *gain /* (i) : Pitch gain to quantize */ |
| 90 ); | 99 ); |
| 91 | 100 |
| 92 Word16 q_gain_code ( /* Return quantization index */ | 101 Word16 q_gain_code ( /* Return quantization index */ |
| 102 struct EFR_encoder_state *st, | |
| 93 Word16 code[], /* (i) : fixed codebook excitation */ | 103 Word16 code[], /* (i) : fixed codebook excitation */ |
| 94 Word16 lcode, /* (i) : codevector size */ | 104 Word16 lcode, /* (i) : codevector size */ |
| 95 Word16 *gain, /* (i/o) : quantized fixed codebook gain */ | 105 Word16 *gain, /* (i/o) : quantized fixed codebook gain */ |
| 96 Word16 txdtx_ctrl, | 106 Word16 txdtx_ctrl, |
| 97 Word16 i_subfr | 107 Word16 i_subfr |
| 150 Word16 exc[], /* in/out: excitation buffer */ | 160 Word16 exc[], /* in/out: excitation buffer */ |
| 151 Word16 T0, /* input : integer pitch lag */ | 161 Word16 T0, /* input : integer pitch lag */ |
| 152 Word16 frac, /* input : fraction of lag */ | 162 Word16 frac, /* input : fraction of lag */ |
| 153 Word16 L_subfr /* input : subframe size */ | 163 Word16 L_subfr /* input : subframe size */ |
| 154 ); | 164 ); |
| 165 | |
| 155 void Q_plsf_5 ( | 166 void Q_plsf_5 ( |
| 167 struct EFR_encoder_state *st, | |
| 156 Word16 *lsp1, /* input : 1st LSP vector */ | 168 Word16 *lsp1, /* input : 1st LSP vector */ |
| 157 Word16 *lsp2, /* input : 2nd LSP vector */ | 169 Word16 *lsp2, /* input : 2nd LSP vector */ |
| 158 Word16 *lsp1_q, /* output: quantized 1st LSP vector */ | 170 Word16 *lsp1_q, /* output: quantized 1st LSP vector */ |
| 159 Word16 *lsp2_q, /* output: quantized 2nd LSP vector */ | 171 Word16 *lsp2_q, /* output: quantized 2nd LSP vector */ |
| 160 Word16 *indice, /* output: quantization indices of 5 matrices */ | 172 Word16 *indice, /* output: quantization indices of 5 matrices */ |
