wmalosslessdec: Reset residues to 0 if they were not decoded from bitstream.

If channel residues are have not been decoded from bitstream, they should be
initialized to 0 instead of using values from previous subframe.
This causes bursts of noise in silent parts of some files.
This patch fixes bug #1055

Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/5/head
Jakub Stachowski 13 years ago committed by Michael Niedermayer
parent 9e938d22c5
commit 3b00fd5985
  1. 3
      libavcodec/wmalosslessdec.c

@ -955,7 +955,8 @@ static int decode_subframe(WmallDecodeCtx *s)
else else
use_normal_update_speed(s, i); use_normal_update_speed(s, i);
revert_cdlms(s, i, 0, subframe_len); revert_cdlms(s, i, 0, subframe_len);
} } else
memset(s->channel_residues, 0, sizeof(s->channel_residues));
} }
if (s->do_mclms) if (s->do_mclms)
revert_mclms(s, subframe_len); revert_mclms(s, subframe_len);

Loading…
Cancel
Save