Commit f17623f2 authored by Marcello Caramma (mcaramma)'s avatar Marcello Caramma (mcaramma) Committed by Jean-Marc Valin
Browse files

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's avatarJean-Marc Valin <>
parent 718b10c6
......@@ -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. */
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment