dither lpc cpeffs

Originally committed as revision 5727 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2006-07-13 11:41:52 +00:00
parent ebd7617ba7
commit 1484a46753
1 changed files with 5 additions and 2 deletions

View File

@ -661,7 +661,7 @@ static void quantize_lpc_coefs(double *lpc_in, int order, int precision,
int32_t *lpc_out, int *shift) int32_t *lpc_out, int *shift)
{ {
int i; int i;
double cmax; double cmax, error;
int32_t qmax; int32_t qmax;
int sh; int sh;
@ -697,8 +697,11 @@ static void quantize_lpc_coefs(double *lpc_in, int order, int precision,
} }
/* output quantized coefficients and level shift */ /* output quantized coefficients and level shift */
error=0;
for(i=0; i<order; i++) { for(i=0; i<order; i++) {
lpc_out[i] = (int32_t)(lpc_in[i] * (1 << sh)); error += lpc_in[i] * (1 << sh);
lpc_out[i] = clip(lrintf(error), -qmax, qmax);
error -= lpc_out[i];
} }
*shift = sh; *shift = sh;
} }