diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c index 01cbc86f3e..5661bdc6f6 100644 --- a/libavcodec/ra144.c +++ b/libavcodec/ra144.c @@ -138,8 +138,13 @@ static void add_wav(int16_t *dest, int n, int skip_first, int *m, for (i=!skip_first; i<3; i++) v[i] = (gain_val_tab[n][i] * m[i]) >> gain_exp_tab[n]; + if (v[0]) { for (i=0; i < BLOCKSIZE; i++) dest[i] = (s1[i]*v[0] + s2[i]*v[1] + s3[i]*v[2]) >> 12; + } else { + for (i=0; i < BLOCKSIZE; i++) + dest[i] = (s2[i]*v[1] + s3[i]*v[2]) >> 12; + } } static unsigned int rescale_rms(unsigned int rms, unsigned int energy)