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:
parent
02fb320ada
commit
3dc0b9d6da
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user