comparison libgsmefr/sig_proc.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
comparison
equal deleted inserted replaced
51:722959d9410f 52:988fd7ff514f
17 Word16 fraction /* (i) : Fractional part. (range: 0.0<=val<1.0) */ 17 Word16 fraction /* (i) : Fractional part. (range: 0.0<=val<1.0) */
18 ); 18 );
19 19
20 /* General signal processing */ 20 /* General signal processing */
21 21
22 void Init_Pre_Process (void); 22 void Init_Pre_Process (struct EFR_encoder_state *st);
23 void Pre_Process ( 23 void Pre_Process (
24 struct EFR_encoder_state *st,
24 Word16 signal[], /* Input/output signal */ 25 Word16 signal[], /* Input/output signal */
25 Word16 lg /* Lenght of signal */ 26 Word16 lg /* Lenght of signal */
26 ); 27 );
27 28
28 Word16 Autocorr ( 29 Word16 Autocorr (
36 Word16 m, /* (i) : LPC order */ 37 Word16 m, /* (i) : LPC order */
37 Word16 r_h[], /* (i/o) : Autocorrelations (msb) */ 38 Word16 r_h[], /* (i/o) : Autocorrelations (msb) */
38 Word16 r_l[] /* (i/o) : Autocorrelations (lsb) */ 39 Word16 r_l[] /* (i/o) : Autocorrelations (lsb) */
39 ); 40 );
40 void Levinson ( 41 void Levinson (
42 struct EFR_encoder_state *st,
41 Word16 Rh[], /* (i) : Rh[m+1] Vector of autocorrelations (msb) */ 43 Word16 Rh[], /* (i) : Rh[m+1] Vector of autocorrelations (msb) */
42 Word16 Rl[], /* (i) : Rl[m+1] Vector of autocorrelations (lsb) */ 44 Word16 Rl[], /* (i) : Rl[m+1] Vector of autocorrelations (lsb) */
43 Word16 A[], /* (o) : A[m] LPC coefficients (m = 10) */ 45 Word16 A[], /* (o) : A[m] LPC coefficients (m = 10) */
44 Word16 rc[] /* (o) : rc[4] First 4 reflection coefficients */ 46 Word16 rc[] /* (o) : rc[4] First 4 reflection coefficients */
45 ); 47 );
95 Word16 h[], /* (i) : impulse response */ 97 Word16 h[], /* (i) : impulse response */
96 Word16 y[], /* (o) : output vector */ 98 Word16 y[], /* (o) : output vector */
97 Word16 L /* (i) : vector size */ 99 Word16 L /* (i) : vector size */
98 ); 100 );
99 void agc ( 101 void agc (
102 struct EFR_decoder_state *st,
100 Word16 *sig_in, /* (i) : postfilter input signal */ 103 Word16 *sig_in, /* (i) : postfilter input signal */
101 Word16 *sig_out, /* (i/o): postfilter output signal */ 104 Word16 *sig_out, /* (i/o): postfilter output signal */
102 Word16 agc_fac, /* (i) : AGC factor */ 105 Word16 agc_fac, /* (i) : AGC factor */
103 Word16 l_trm /* (i) : subframe size */ 106 Word16 l_trm /* (i) : subframe size */
104 ); 107 );
106 Word16 *sig_in, /* (i) : postfilter input signal */ 109 Word16 *sig_in, /* (i) : postfilter input signal */
107 Word16 *sig_out, /* (i/o): postfilter output signal */ 110 Word16 *sig_out, /* (i/o): postfilter output signal */
108 Word16 l_trm /* (i) : subframe size */ 111 Word16 l_trm /* (i) : subframe size */
109 ); 112 );
110 void preemphasis ( 113 void preemphasis (
114 struct EFR_decoder_state *st,
111 Word16 *signal, /* (i/o): input signal overwritten by the output */ 115 Word16 *signal, /* (i/o): input signal overwritten by the output */
112 Word16 g, /* (i) : preemphasis coefficient */ 116 Word16 g, /* (i) : preemphasis coefficient */
113 Word16 L /* (i) : size of filtering */ 117 Word16 L /* (i) : size of filtering */
114 ); 118 );