Mercurial > libavcodec.hg
comparison acelp_vectors.h @ 10493:5f2ced30548b libavcodec
Implement ff_scale_vector_to_given_sum_of_squares()
to aid generic gain control routines. Changes
for qcelp are included. Patch Collin McQuillan.
author | reynaldo |
---|---|
date | Wed, 04 Nov 2009 19:29:29 +0000 |
parents | 9f35b262d3f0 |
children | 8ee37f5571dc |
comparison
equal
deleted
inserted
replaced
10492:63910f7ba293 | 10493:5f2ced30548b |
---|---|
174 * @param gain_mem a pointer to the filter memory (single float of size) | 174 * @param gain_mem a pointer to the filter memory (single float of size) |
175 */ | 175 */ |
176 void ff_adaptative_gain_control(float *buf_out, float speech_energ, | 176 void ff_adaptative_gain_control(float *buf_out, float speech_energ, |
177 int size, float alpha, float *gain_mem); | 177 int size, float alpha, float *gain_mem); |
178 | 178 |
179 /** | |
180 * Set the sum of squares of a signal by scaling | |
181 * | |
182 * @param out output samples | |
183 * @param in input samples | |
184 * @param sum_of_squares new sum of squares | |
185 * @param n number of samples | |
186 * | |
187 * @note If the input is zero (or its energy underflows), the output is zero. | |
188 * This is the behavior of AGC in the AMR reference decoder. The QCELP | |
189 * reference decoder seems to have undefined behavior. | |
190 * | |
191 * TIA/EIA/IS-733 2.4.8.3-2/3/4/5, 2.4.8.6 | |
192 * 3GPP TS 26.090 6.1 (6) | |
193 */ | |
194 void ff_scale_vector_to_given_sum_of_squares(float *out, const float *in, | |
195 float sum_of_squares, const int n); | |
196 | |
179 #endif /* AVCODEC_ACELP_VECTORS_H */ | 197 #endif /* AVCODEC_ACELP_VECTORS_H */ |