Skip to content
Snippets Groups Projects
Commit ac140479 authored by Kostya Shishkov's avatar Kostya Shishkov
Browse files

Fix decoding of VMDs representing sprites (Last Dynasty, Woodruff).

Fixes issue 101

Originally committed as revision 10552 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent c1f3c630
No related branches found
No related tags found
No related merge requests found
......@@ -68,6 +68,7 @@ typedef struct VmdVideoContext {
unsigned char *unpack_buffer;
int unpack_buffer_size;
int x_off, y_off;
} VmdVideoContext;
#define QUEUE_SIZE 0x1000
......@@ -207,6 +208,15 @@ static void vmd_decode(VmdVideoContext *s)
frame_width = AV_RL16(&s->buf[10]) - frame_x + 1;
frame_height = AV_RL16(&s->buf[12]) - frame_y + 1;
if ((frame_width == s->avctx->width && frame_height == s->avctx->height) &&
(frame_x || frame_y)) {
s->x_off = frame_x;
s->y_off = frame_y;
}
frame_x -= s->x_off;
frame_y -= s->y_off;
/* if only a certain region will be updated, copy the entire previous
* frame before the decode */
if (frame_x || frame_y || (frame_width != s->avctx->width) ||
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment