FreeCalypso > hg > gsm-codec-lib
comparison libgsmefr/codec.h @ 39:36e1363ad885
libgsmefr: initial import of ETSI header files
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 24 Nov 2022 07:38:23 +0000 |
parents | |
children | 988fd7ff514f |
comparison
equal
deleted
inserted
replaced
38:38326102fc43 | 39:36e1363ad885 |
---|---|
1 void Init_Coder_12k2 (void); | |
2 | |
3 void Coder_12k2 ( | |
4 Word16 ana[], /* output : Analysis parameters */ | |
5 Word16 synth[] /* output : Local synthesis */ | |
6 ); | |
7 | |
8 void Init_Decoder_12k2 (void); | |
9 | |
10 void Decoder_12k2 ( | |
11 Word16 parm[], /* input : vector of synthesis parameters | |
12 parm[0] = bad frame indicator (bfi) */ | |
13 Word16 synth[], /* output: synthesis speech */ | |
14 Word16 A_t[], /* output: decoded LP filter in 4 subframes */ | |
15 Word16 TAF, | |
16 Word16 SID_flag | |
17 ); | |
18 | |
19 void Init_Post_Filter (void); | |
20 | |
21 void Post_Filter ( | |
22 Word16 *syn, /* in/out: synthesis speech (postfiltered is output) */ | |
23 Word16 *Az_4 /* input : interpolated LPC parameters in all subfr. */ | |
24 ); | |
25 | |
26 void code_10i40_35bits ( | |
27 Word16 x[], /* (i) : target vector */ | |
28 Word16 cn[], /* (i) : residual after long term prediction */ | |
29 Word16 h[], /* (i) : impulse response of weighted synthesis | |
30 filter */ | |
31 Word16 cod[], /* (o) : algebraic (fixed) codebook excitation */ | |
32 Word16 y[], /* (o) : filtered fixed codebook excitation */ | |
33 Word16 indx[] /* (o) : index of 10 pulses (sign + position) */ | |
34 ); | |
35 void dec_10i40_35bits ( | |
36 Word16 index[], /* (i) : index of 10 pulses (sign+position) */ | |
37 Word16 cod[] /* (o) : algebraic (fixed) codebook excitation */ | |
38 ); | |
39 Word16 Dec_lag6 ( /* output: return integer pitch lag */ | |
40 Word16 index, /* input : received pitch index */ | |
41 Word16 pit_min, /* input : minimum pitch lag */ | |
42 Word16 pit_max, /* input : maximum pitch lag */ | |
43 Word16 i_subfr, /* input : subframe flag */ | |
44 Word16 L_frame_by2,/* input : speech frame size divided by 2 */ | |
45 Word16 *T0_frac, /* output: fractional part of pitch lag */ | |
46 Word16 bfi /* input : bad frame indicator */ | |
47 ); | |
48 Word16 d_gain_pitch ( /* out : quantized pitch gain */ | |
49 Word16 index, /* in : index of quantization */ | |
50 Word16 bfi, /* in : bad frame indicator (good = 0) */ | |
51 Word16 state, /* in : state of the state machine */ | |
52 Word16 prev_bf, /* Previous bf */ | |
53 Word16 rxdtx_ctrl | |
54 | |
55 ); | |
56 void d_gain_code ( | |
57 Word16 index, /* input : received quantization index */ | |
58 Word16 code[], /* input : innovation codevector */ | |
59 Word16 lcode, /* input : codevector length */ | |
60 Word16 *gain_code, /* output: decoded innovation gain */ | |
61 Word16 bfi, /* input : bad frame indicator */ | |
62 Word16 state, /* in : state of the state machine */ | |
63 Word16 prev_bf, /* Previous bf */ | |
64 Word16 rxdtx_ctrl, | |
65 Word16 i_subfr, | |
66 Word16 rx_dtx_state | |
67 | |
68 ); | |
69 void D_plsf_5 ( | |
70 Word16 *indice, /* input : quantization indices of 5 submatrices */ | |
71 Word16 *lsp1_q, /* output: quantized 1st LSP vector */ | |
72 Word16 *lsp2_q, /* output: quantized 2nd LSP vector */ | |
73 Word16 bfi, /* input : bad frame indicator (set to 1 if a bad | |
74 frame is received) */ | |
75 Word16 rxdtx_ctrl, | |
76 Word16 rx_dtx_state | |
77 ); | |
78 Word16 Enc_lag6 ( /* output: Return index of encoding */ | |
79 Word16 T0, /* input : Pitch delay */ | |
80 Word16 *T0_frac, /* in/out: Fractional pitch delay */ | |
81 Word16 *T0_min, /* in/out: Minimum search delay */ | |
82 Word16 *T0_max, /* in/out: Maximum search delay */ | |
83 Word16 pit_min, /* input : Minimum pitch delay */ | |
84 Word16 pit_max, /* input : Maximum pitch delay */ | |
85 Word16 pit_flag /* input : Flag for 1st or 3rd subframe */ | |
86 ); | |
87 | |
88 Word16 q_gain_pitch ( /* Return index of quantization */ | |
89 Word16 *gain /* (i) : Pitch gain to quantize */ | |
90 ); | |
91 | |
92 Word16 q_gain_code ( /* Return quantization index */ | |
93 Word16 code[], /* (i) : fixed codebook excitation */ | |
94 Word16 lcode, /* (i) : codevector size */ | |
95 Word16 *gain, /* (i/o) : quantized fixed codebook gain */ | |
96 Word16 txdtx_ctrl, | |
97 Word16 i_subfr | |
98 ); | |
99 | |
100 Word16 G_pitch ( /* (o) : Gain of pitch lag saturated to 1.2 */ | |
101 Word16 xn[], /* (i) : Pitch target. */ | |
102 Word16 y1[], /* (i) : Filtered adaptive codebook. */ | |
103 Word16 L_subfr /* : Length of subframe. */ | |
104 ); | |
105 Word16 G_code ( /* out : Gain of innovation code. */ | |
106 Word16 xn[], /* in : target vector */ | |
107 Word16 y2[] /* in : filtered inovation vector */ | |
108 ); | |
109 | |
110 Word16 Interpol_6 ( /* (o) : interpolated value */ | |
111 Word16 *x, /* (i) : input vector */ | |
112 Word16 frac /* (i) : fraction */ | |
113 ); | |
114 void Int_lpc ( | |
115 Word16 lsp_old[], /* input: LSP vector at the 4th subfr. of past frame */ | |
116 Word16 lsp_mid[], /* input: LSP vector at the 2nd subfr. of | |
117 present frame */ | |
118 Word16 lsp_new[], /* input: LSP vector at the 4th subfr. of | |
119 present frame */ | |
120 Word16 Az[] /* output: interpolated LP parameters in all subfr. */ | |
121 ); | |
122 void Int_lpc2 ( | |
123 Word16 lsp_old[], /* input: LSP vector at the 4th subfr. of past frame */ | |
124 Word16 lsp_mid[], /* input: LSP vector at the 2nd subframe of | |
125 present frame */ | |
126 Word16 lsp_new[], /* input: LSP vector at the 4th subframe of | |
127 present frame */ | |
128 Word16 Az[] /* output:interpolated LP parameters | |
129 in subframes 1 and 3 */ | |
130 ); | |
131 Word16 Pitch_fr6 ( /* (o) : pitch period. */ | |
132 Word16 exc[], /* (i) : excitation buffer */ | |
133 Word16 xn[], /* (i) : target vector */ | |
134 Word16 h[], /* (i) : impulse response of synthesis and | |
135 weighting filters */ | |
136 Word16 L_subfr, /* (i) : Length of subframe */ | |
137 Word16 t0_min, /* (i) : minimum value in the searched range. */ | |
138 Word16 t0_max, /* (i) : maximum value in the searched range. */ | |
139 Word16 i_subfr, /* (i) : indicator for first subframe. */ | |
140 Word16 *pit_frac /* (o) : chosen fraction. */ | |
141 ); | |
142 Word16 Pitch_ol ( /* output: open loop pitch lag */ | |
143 Word16 signal[], /* input: signal used to compute the open loop pitch */ | |
144 /* signal[-pit_max] to signal[-1] should be known */ | |
145 Word16 pit_min, /* input : minimum pitch lag */ | |
146 Word16 pit_max, /* input : maximum pitch lag */ | |
147 Word16 L_frame /* input : length of frame to compute pitch */ | |
148 ); | |
149 void Pred_lt_6 ( | |
150 Word16 exc[], /* in/out: excitation buffer */ | |
151 Word16 T0, /* input : integer pitch lag */ | |
152 Word16 frac, /* input : fraction of lag */ | |
153 Word16 L_subfr /* input : subframe size */ | |
154 ); | |
155 void Q_plsf_5 ( | |
156 Word16 *lsp1, /* input : 1st LSP vector */ | |
157 Word16 *lsp2, /* input : 2nd LSP vector */ | |
158 Word16 *lsp1_q, /* output: quantized 1st LSP vector */ | |
159 Word16 *lsp2_q, /* output: quantized 2nd LSP vector */ | |
160 Word16 *indice, /* output: quantization indices of 5 matrices */ | |
161 Word16 txdtx_ctrl /* input : tx dtx control word */ | |
162 ); |