From 3b00fd5985c3ddffe7f66f72dcaa13b478fc7459 Mon Sep 17 00:00:00 2001 From: Jakub Stachowski Date: Wed, 11 Apr 2012 23:36:07 +0200 Subject: [PATCH] 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 Reviewed-by: Mashiat Sarker Shakkhar Signed-off-by: Michael Niedermayer --- libavcodec/wmalosslessdec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index ab7af9552c..e5114436e6 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -955,7 +955,8 @@ static int decode_subframe(WmallDecodeCtx *s) else use_normal_update_speed(s, i); revert_cdlms(s, i, 0, subframe_len); - } + } else + memset(s->channel_residues, 0, sizeof(s->channel_residues)); } if (s->do_mclms) revert_mclms(s, subframe_len);