xan: Check for overlapping copies

No valid samples i found use such copies

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/15/head
Michael Niedermayer 12 years ago
parent 32cc7ba8a7
commit bdfe60c769
  1. 6
      libavcodec/xan.c

@ -249,6 +249,12 @@ static inline void xan_wc3_copy_pixel_run(XanContext *s, AVFrame *frame,
curframe_x = x;
prevframe_index = (y + motion_y) * stride + x + motion_x;
prevframe_x = x + motion_x;
if (prev_palette_plane == palette_plane && FFABS(curframe_index - prevframe_index) < pixel_count) {
avpriv_request_sample(s->avctx, "Overlapping copy\n");
return ;
}
while (pixel_count &&
curframe_index < s->frame_size &&
prevframe_index < s->frame_size) {

Loading…
Cancel
Save