mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-29 06:45:47 +00:00
avcodec/libjxldec: respect side data preference
Also fixes a memory leak where the side data was previously not properly cleaned up on OOM. Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
b9565db9a0
commit
62f40d0e38
@ -483,11 +483,9 @@ static int libjxl_receive_frame(AVCodecContext *avctx, AVFrame *frame)
|
||||
/* full image is one frame, even if animated */
|
||||
av_log(avctx, AV_LOG_DEBUG, "FULL_IMAGE event emitted\n");
|
||||
if (ctx->iccp) {
|
||||
AVFrameSideData *sd = av_frame_new_side_data_from_buf(ctx->frame, AV_FRAME_DATA_ICC_PROFILE, ctx->iccp);
|
||||
if (!sd)
|
||||
return AVERROR(ENOMEM);
|
||||
/* ownership is transfered, and it is not ref-ed */
|
||||
ctx->iccp = NULL;
|
||||
ret = ff_frame_new_side_data_from_buf(avctx, ctx->frame, AV_FRAME_DATA_ICC_PROFILE, &ctx->iccp, NULL);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
if (ctx->basic_info.have_animation) {
|
||||
ctx->frame->pts = av_rescale_q(ctx->accumulated_pts, ctx->anim_timebase, avctx->pkt_timebase);
|
||||
|
Loading…
Reference in New Issue
Block a user