Commit 95386b7b authored by Peter Ross's avatar Peter Ross

avcodec/svq3: perform residual slice copy before xor'ing watermark key

Fixes ticket #5387
parent 12733c0c
......@@ -1037,15 +1037,16 @@ static int svq3_decode_slice_header(AVCodecContext *avctx)
}
memcpy(s->slice_buf, s->gb.buffer + s->gb.index / 8, slice_bytes);
if (length > 0) {
memmove(s->slice_buf, &s->slice_buf[slice_length], length - 1);
}
if (s->watermark_key) {
uint32_t header = AV_RL32(&s->slice_buf[1]);
AV_WL32(&s->slice_buf[1], header ^ s->watermark_key);
}
init_get_bits(&s->gb_slice, s->slice_buf, slice_bits);
if (length > 0) {
memmove(s->slice_buf, &s->slice_buf[slice_length], length - 1);
}
skip_bits_long(&s->gb, slice_bytes * 8);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment