Browse Source

Do proper frame swapping so VMD video decoder works again

Originally committed as revision 9151 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Kostya Shishkov 18 years ago
parent
commit
3dba31aa0d
1 changed files with 4 additions and 5 deletions
  1. +4
    -5
      libavcodec/vmdav.c

+ 4
- 5
libavcodec/vmdav.c View File

@@ -380,14 +380,13 @@ static int vmdvideo_decode_frame(AVCodecContext *avctx,
/* make the palette available on the way out */
memcpy(s->frame.data[1], s->palette, PALETTE_COUNT * 4);

if (s->prev_frame.data[0])
avctx->release_buffer(avctx, &s->prev_frame);

/* shuffle frames */
s->prev_frame = s->frame;
FFSWAP(AVFrame, s->frame, s->prev_frame);
if (s->frame.data[0])
avctx->release_buffer(avctx, &s->frame);

*data_size = sizeof(AVFrame);
*(AVFrame*)data = s->frame;
*(AVFrame*)data = s->prev_frame;

/* report that the buffer was completely consumed */
return buf_size;


Loading…
Cancel
Save