aboutsummaryrefslogtreecommitdiff
path: root/celt
diff options
context:
space:
mode:
authorMarcello Caramma (mcaramma) <mcaramma@cisco.com>2014-02-24 15:06:46 -0500
committerJean-Marc Valin <jmvalin@jmvalin.ca>2014-02-24 15:06:46 -0500
commitf17623f2f9c7b129ba6b27f2c32fdfed70a5736c (patch)
tree5c122288ae93e17fb2ea9d4d75b1c34f694cffd3 /celt
parent718b10c6282c3ef9d8052e22aee5e853700c2529 (diff)
downloadlibopus-f17623f2f9c7b129ba6b27f2c32fdfed70a5736c.tar.gz
Fixes an aliasing bug in the MDCT when the frame size isn't a multiple of 4.
In that case, the yp0 and yp1 ended up aliasing for the last element, despite being marked as restrict. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'celt')
-rw-r--r--celt/mdct.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/celt/mdct.c b/celt/mdct.c
index 1634e8e0..fa5098cd 100644
--- a/celt/mdct.c
+++ b/celt/mdct.c
@@ -276,8 +276,8 @@ void clt_mdct_backward(const mdct_lookup *l, kiss_fft_scalar *in, kiss_fft_scala
/* Post-rotate and de-shuffle from both ends of the buffer at once to make
it in-place. */
{
- kiss_fft_scalar * OPUS_RESTRICT yp0 = out+(overlap>>1);
- kiss_fft_scalar * OPUS_RESTRICT yp1 = out+(overlap>>1)+N2-2;
+ kiss_fft_scalar * yp0 = out+(overlap>>1);
+ kiss_fft_scalar * yp1 = out+(overlap>>1)+N2-2;
const kiss_twiddle_scalar *t = &trig[0];
/* Loop to (N4+1)>>1 to handle odd N4. When N4 is odd, the
middle pair will be computed twice. */