Mercurial > libavcodec.hg
diff loco.c @ 10399:136334ad62b3 libavcodec
Release frame after decoding is done
author | kostya |
---|---|
date | Wed, 14 Oct 2009 05:28:24 +0000 |
parents | 0dce4fe6e6f3 |
children | 8a137661f31e |
line wrap: on
line diff
--- a/loco.c Tue Oct 13 20:48:51 2009 +0000 +++ b/loco.c Wed Oct 14 05:28:24 2009 +0000 @@ -275,6 +275,17 @@ return 0; } +static av_cold int decode_end(AVCodecContext *avctx){ + LOCOContext * const l = avctx->priv_data; + AVFrame *pic = &l->pic; + + if (pic->data[0]) + avctx->release_buffer(avctx, pic); + av_freep(&l->pic); + + return 0; +} + AVCodec loco_decoder = { "loco", CODEC_TYPE_VIDEO, @@ -282,7 +293,7 @@ sizeof(LOCOContext), decode_init, NULL, - NULL, + decode_end, decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("LOCO"),