diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c index 5fb41bf4e9..7702a3c350 100644 --- a/libavcodec/ra288.c +++ b/libavcodec/ra288.c @@ -69,13 +69,12 @@ static void decode(Real288_internal *glob, float gain, int cb_coef) sumsum = exp(sum * 0.1151292546497) * gain; /* pow(10.0,sum/20)*f */ - sum = 0; for (x=0; x < 5; x++) { buffer[x] = codetable[cb_coef][x] * sumsum; - sum += buffer[x] * buffer[x]; } - sum /= 5; + sum = scalar_product_float(buffer, buffer, 5) / 5; + if (sum < 1) sum = 1;