diff options
author | Carl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at> | 2009-10-16 14:50:08 +0000 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at> | 2009-10-16 14:50:08 +0000 |
commit | 0b7f39c9d425db649f14cbc927fbce5cdc20828f (patch) | |
tree | 29b24b9d1eb5aa1780c40023c2b8d97dc6a6bf12 | |
parent | bc2d2a07d5bf1b6d13b16e106413c7e62979dcc1 (diff) | |
download | ffmpeg-0b7f39c9d425db649f14cbc927fbce5cdc20828f.tar.gz |
Release unreleased buffers found by make test.
Originally committed as revision 20251 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/huffyuv.c | 3 | ||||
-rw-r--r-- | libavcodec/mjpegdec.c | 3 | ||||
-rw-r--r-- | libavcodec/pnmenc.c | 19 |
3 files changed, 20 insertions, 5 deletions
diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c index 32a6c0b296..531c55be0f 100644 --- a/libavcodec/huffyuv.c +++ b/libavcodec/huffyuv.c @@ -1185,6 +1185,9 @@ static av_cold int decode_end(AVCodecContext *avctx) HYuvContext *s = avctx->priv_data; int i; + if (s->picture.data[0]) + avctx->release_buffer(avctx, &s->picture); + common_end(s); av_freep(&s->bitstream_buffer); diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index e8f0dd6032..5e55614eef 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -1494,6 +1494,9 @@ av_cold int ff_mjpeg_decode_end(AVCodecContext *avctx) MJpegDecodeContext *s = avctx->priv_data; int i, j; + if (s->picture.data[0]) + avctx->release_buffer(avctx, &s->picture); + av_free(s->buffer); av_free(s->qscale_table); diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c index e619fc36cf..adf7dad39a 100644 --- a/libavcodec/pnmenc.c +++ b/libavcodec/pnmenc.c @@ -328,6 +328,15 @@ static int pam_encode_frame(AVCodecContext *avctx, unsigned char *outbuf, int bu return s->bytestream - s->bytestream_start; } +static av_cold int common_end(AVCodecContext *avctx){ + PNMContext *s = avctx->priv_data; + + if (s->picture.data[0]) + avctx->release_buffer(avctx, &s->picture); + + return 0; +} + #if 0 static int pnm_probe(AVProbeData *pd) { @@ -371,7 +380,7 @@ AVCodec pgm_decoder = { sizeof(PNMContext), common_init, NULL, - NULL, + common_end, pnm_decode_frame, CODEC_CAP_DR1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_GRAY8, PIX_FMT_GRAY16BE, PIX_FMT_NONE}, @@ -400,7 +409,7 @@ AVCodec pgmyuv_decoder = { sizeof(PNMContext), common_init, NULL, - NULL, + common_end, pnm_decode_frame, CODEC_CAP_DR1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_NONE}, @@ -429,7 +438,7 @@ AVCodec ppm_decoder = { sizeof(PNMContext), common_init, NULL, - NULL, + common_end, pnm_decode_frame, CODEC_CAP_DR1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB48BE, PIX_FMT_NONE}, @@ -458,7 +467,7 @@ AVCodec pbm_decoder = { sizeof(PNMContext), common_init, NULL, - NULL, + common_end, pnm_decode_frame, CODEC_CAP_DR1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_MONOWHITE, PIX_FMT_NONE}, @@ -487,7 +496,7 @@ AVCodec pam_decoder = { sizeof(PNMContext), common_init, NULL, - NULL, + common_end, pnm_decode_frame, CODEC_CAP_DR1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB32, PIX_FMT_GRAY8, PIX_FMT_MONOWHITE, PIX_FMT_NONE}, |