diff vcr1.c @ 11005:bc62e2826782 libavcodec

Release buffer when decoding is finished.
author cehoyos
date Mon, 25 Jan 2010 10:46:32 +0000
parents 54bc8a2727b0
children 8a4984c5cacc
line wrap: on
line diff
--- a/vcr1.c	Mon Jan 25 02:44:34 2010 +0000
+++ b/vcr1.c	Mon Jan 25 10:46:32 2010 +0000
@@ -158,6 +158,15 @@
     return 0;
 }
 
+static av_cold int decode_end(AVCodecContext *avctx){
+    VCR1Context *s = avctx->priv_data;
+
+    if (s->picture.data[0])
+        avctx->release_buffer(avctx, &s->picture);
+
+    return 0;
+}
+
 #if CONFIG_VCR1_ENCODER
 static av_cold int encode_init(AVCodecContext *avctx){
 
@@ -174,7 +183,7 @@
     sizeof(VCR1Context),
     decode_init,
     NULL,
-    NULL,
+    decode_end,
     decode_frame,
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),