mirror of
https://github.com/xiph/opus.git
synced 2025-06-05 23:10:54 +00:00
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>
This commit is contained in:
parent
718b10c628
commit
f17623f2f9
1 changed files with 2 additions and 2 deletions
|
@ -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
|
/* Post-rotate and de-shuffle from both ends of the buffer at once to make
|
||||||
it in-place. */
|
it in-place. */
|
||||||
{
|
{
|
||||||
kiss_fft_scalar * OPUS_RESTRICT yp0 = out+(overlap>>1);
|
kiss_fft_scalar * yp0 = out+(overlap>>1);
|
||||||
kiss_fft_scalar * OPUS_RESTRICT yp1 = out+(overlap>>1)+N2-2;
|
kiss_fft_scalar * yp1 = out+(overlap>>1)+N2-2;
|
||||||
const kiss_twiddle_scalar *t = &trig[0];
|
const kiss_twiddle_scalar *t = &trig[0];
|
||||||
/* Loop to (N4+1)>>1 to handle odd N4. When N4 is odd, the
|
/* Loop to (N4+1)>>1 to handle odd N4. When N4 is odd, the
|
||||||
middle pair will be computed twice. */
|
middle pair will be computed twice. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue