diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c index f7e1af55a0..bfc2b37665 100644 --- a/libavcodec/ra288.c +++ b/libavcodec/ra288.c @@ -88,10 +88,11 @@ static void decode(RA288Context *ractx, float gain, int cb_coef) sum = av_clipf(sum, 0, 60); /* block 48 of G.728 spec */ - sumsum = exp(sum * 0.1151292546497) * gain; /* pow(10.0,sum/20)*gain */ + /* exp(sum * 0.1151292546497) == pow(10.0,sum/20) */ + sumsum = exp(sum * 0.1151292546497) * gain / 2048.; for (i=0; i < 5; i++) - buffer[i] = codetable[cb_coef][i] * sumsum * (1./2048.); + buffer[i] = codetable[cb_coef][i] * sumsum; sum = scalar_product_float(buffer, buffer, 5) / 5;