summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-22 14:44:24 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-22 15:30:19 -0400
commitae3321849596094d204f9c3dbe485b5fde6e5782 (patch)
treeb0a06086400ca43ce83404d37bed8c0634ccb9f8
parentc76c4de1232531b80c4f6bdf7415771c326d5e92 (diff)
downloadopus-ae3321849596094d204f9c3dbe485b5fde6e5782.tar.gz
Reduce risk of overflowing in mono downsampling
Not observed yet (except when caused by a different bug), but "just in case"
-rw-r--r--celt/celt_decoder.c2
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 {