mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/svq3: perform residual slice copy before xor'ing watermark key
Fixes ticket #5387
This commit is contained in:
parent
12733c0cbd
commit
95386b7b65
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user