1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00

libopenjpegdec: refactor some code and fix memory leaks

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Paul B Mahol 2012-03-26 02:22:34 +00:00 committed by Michael Niedermayer
parent 02fb320ada
commit 3dc0b9d6da

View File

@ -278,7 +278,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
if(ff_thread_get_buffer(avctx, picture) < 0){ if(ff_thread_get_buffer(avctx, picture) < 0){
av_log(avctx, AV_LOG_ERROR, "ff_thread_get_buffer() failed\n"); av_log(avctx, AV_LOG_ERROR, "ff_thread_get_buffer() failed\n");
return -1; goto done;
} }
ctx->dec_params.cp_limit_decoding = NO_LIMITATION; ctx->dec_params.cp_limit_decoding = NO_LIMITATION;
@ -288,17 +288,16 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
stream = opj_cio_open((opj_common_ptr)dec, buf, buf_size); stream = opj_cio_open((opj_common_ptr)dec, buf, buf_size);
if(!stream) { if(!stream) {
av_log(avctx, AV_LOG_ERROR, "Codestream could not be opened for reading.\n"); av_log(avctx, AV_LOG_ERROR, "Codestream could not be opened for reading.\n");
opj_destroy_decompress(dec); goto done;
return -1;
} }
opj_image_destroy(image);
// Decode the codestream // Decode the codestream
image = opj_decode_with_info(dec, stream, NULL); image = opj_decode_with_info(dec, stream, NULL);
opj_cio_close(stream); opj_cio_close(stream);
if(!image) { if(!image) {
av_log(avctx, AV_LOG_ERROR, "Error decoding codestream.\n"); av_log(avctx, AV_LOG_ERROR, "Error decoding codestream.\n");
opj_destroy_decompress(dec); goto done;
return -1;
} }
pixel_size = av_pix_fmt_descriptors[avctx->pix_fmt].comp[0].step_minus1 + 1; pixel_size = av_pix_fmt_descriptors[avctx->pix_fmt].comp[0].step_minus1 + 1;