100l: free previous frame, not current one!
authorRoberto Togni <r_togni@tiscali.it>
Fri, 31 Oct 2003 22:56:16 +0000 (22:56 +0000)
committerRoberto Togni <r_togni@tiscali.it>
Fri, 31 Oct 2003 22:56:16 +0000 (22:56 +0000)
Set reference flag for frames.

Originally committed as revision 2460 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/msrle.c

index f0564a9..4d8ceaa 100644 (file)
@@ -171,6 +171,7 @@ static int msrle_decode_frame(AVCodecContext *avctx,
     s->buf = buf;
     s->size = buf_size;
 
+    s->frame.reference = 1;
     if (avctx->get_buffer(avctx, &s->frame)) {
         printf ("  MS RLE: get_buffer() failed\n");
         return -1;
@@ -183,8 +184,8 @@ static int msrle_decode_frame(AVCodecContext *avctx,
 
     msrle_decode_pal8(s);
 
-    if (s->frame.data[0])
-        avctx->release_buffer(avctx, &s->frame);
+    if (s->prev_frame.data[0])
+        avctx->release_buffer(avctx, &s->prev_frame);
 
     /* shuffle frames */
     s->prev_frame = s->frame;