diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-22 14:44:24 -0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-22 15:30:19 -0400 |
commit | ae3321849596094d204f9c3dbe485b5fde6e5782 (patch) | |
tree | b0a06086400ca43ce83404d37bed8c0634ccb9f8 /celt | |
parent | c76c4de1232531b80c4f6bdf7415771c326d5e92 (diff) | |
download | libopus-ae3321849596094d204f9c3dbe485b5fde6e5782.tar.gz |
Reduce risk of overflowing in mono downsampling
Not observed yet (except when caused by a different bug), but "just in case"
Diffstat (limited to 'celt')
-rw-r--r-- | celt/celt_decoder.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c index b978bb34..0228d9e1 100644 --- a/celt/celt_decoder.c +++ b/celt/celt_decoder.c @@ -333,7 +333,7 @@ void celt_synthesis(const CELTMode *mode, celt_norm *X, celt_sig * out_syn[], denormalise_bands(mode, X+N, freq2, oldBandE+nbEBands, start, effEnd, M, downsample, silence); for (i=0;i<N;i++) - freq[i] = HALF32(ADD32(freq[i],freq2[i])); + freq[i] = ADD32(HALF32(freq[i]), HALF32(freq2[i])); for (b=0;b<B;b++) clt_mdct_backward(&mode->mdct, &freq[b], out_syn[0]+NB*b, mode->window, overlap, shift, B, arch); } else { |