From c9d5bea13e3cb7381bfa897a45d8bab4e7b767a7 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Wed, 13 Jul 2022 19:20:06 -0400 Subject: Fix NORM_ALIASING_HACK We need to move the history out of the way before we write to the shape array X, or else we get corruption of the audio. Signed-off-by: Jean-Marc Valin --- celt/celt_decoder.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c index 77eb44f4..35a2073a 100644 --- a/celt/celt_decoder.c +++ b/celt/celt_decoder.c @@ -557,6 +557,10 @@ static void celt_decode_lost(CELTDecoder * OPUS_RESTRICT st, int N, int LM) #else ALLOC(X, C*N, celt_norm); /**< Interleaved normalised MDCTs */ #endif + c=0; do { + OPUS_MOVE(decode_mem[c], decode_mem[c]+N, + DECODE_BUFFER_SIZE-N+(overlap>>1)); + } while (++crng = seed; - c=0; do { - OPUS_MOVE(decode_mem[c], decode_mem[c]+N, - DECODE_BUFFER_SIZE-N+(overlap>>1)); - } while (++cdownsample, 0, st->arch); } else { int exc_length; -- cgit v1.2.3