diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index 7510b12ef9ec5d513b42cecc47231dcc86120597..d4c9c5a8284f3cda91032e9d60e5a53acdb725dd 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -979,10 +979,10 @@ static int decode_subframe(WmallDecodeCtx *s) for (j = 0; j < subframe_len; j++) { if (s->bits_per_sample == 16) { - *s->samples_16[c] = (int16_t) s->channel_residues[c][j]; + *s->samples_16[c] = (int16_t) s->channel_residues[c][j] << padding_zeroes; s->samples_16[c] += s->num_channels; } else { - *s->samples_32[c] = s->channel_residues[c][j]; + *s->samples_32[c] = s->channel_residues[c][j] << padding_zeroes; s->samples_32[c] += s->num_channels; } }