Mercurial > libavcodec.hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
10398:11b685acd280 | 10399:136334ad62b3 |
---|---|
273 av_log(avctx, AV_LOG_INFO, "lossy:%i, version:%i, mode: %i\n", l->lossy, version, l->mode); | 273 av_log(avctx, AV_LOG_INFO, "lossy:%i, version:%i, mode: %i\n", l->lossy, version, l->mode); |
274 | 274 |
275 return 0; | 275 return 0; |
276 } | 276 } |
277 | 277 |
278 static av_cold int decode_end(AVCodecContext *avctx){ | |
279 LOCOContext * const l = avctx->priv_data; | |
280 AVFrame *pic = &l->pic; | |
281 | |
282 if (pic->data[0]) | |
283 avctx->release_buffer(avctx, pic); | |
284 av_freep(&l->pic); | |
285 | |
286 return 0; | |
287 } | |
288 | |
278 AVCodec loco_decoder = { | 289 AVCodec loco_decoder = { |
279 "loco", | 290 "loco", |
280 CODEC_TYPE_VIDEO, | 291 CODEC_TYPE_VIDEO, |
281 CODEC_ID_LOCO, | 292 CODEC_ID_LOCO, |
282 sizeof(LOCOContext), | 293 sizeof(LOCOContext), |
283 decode_init, | 294 decode_init, |
284 NULL, | 295 NULL, |
285 NULL, | 296 decode_end, |
286 decode_frame, | 297 decode_frame, |
287 CODEC_CAP_DR1, | 298 CODEC_CAP_DR1, |
288 .long_name = NULL_IF_CONFIG_SMALL("LOCO"), | 299 .long_name = NULL_IF_CONFIG_SMALL("LOCO"), |
289 }; | 300 }; |