Release buffer when decoding is finished.
authorCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Mon, 25 Jan 2010 10:46:32 +0000 (10:46 +0000)
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Mon, 25 Jan 2010 10:46:32 +0000 (10:46 +0000)
Originally committed as revision 21449 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vcr1.c

index 6218c7c..ea2d555 100644 (file)
@@ -158,6 +158,15 @@ static av_cold int decode_init(AVCodecContext *avctx){
     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 @@ AVCodec vcr1_decoder = {
     sizeof(VCR1Context),
     decode_init,
     NULL,
-    NULL,
+    decode_end,
     decode_frame,
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),