From patchwork Mon Mar 4 13:06:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 46755 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a919:b0:19e:cdac:8cce with SMTP id cd25csp2789192pzb; Mon, 4 Mar 2024 05:08:34 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCV1zNyistoQ641oNycR6Ij5vivpRKiWgOqrknWn1uC7/KRZcDgK8RWqiXLIBgAyp2Oboa3NPr6Yki2NwAJ6KVI/pet3hvKiHVuj7w== X-Google-Smtp-Source: AGHT+IHQPfZ64PQqJXHzqc3vKovlWsGZmCdxDdV09H7+NrN7cWZf0VZUUkCDw5342FW3ew+i3Nlc X-Received: by 2002:a05:6402:3590:b0:566:fe55:ecf0 with SMTP id y16-20020a056402359000b00566fe55ecf0mr4790617edc.3.1709557712960; Mon, 04 Mar 2024 05:08:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709557712; cv=none; d=google.com; s=arc-20160816; b=dUHLR9nKOir+UKJ6Z7k4CVAQL5USsUSmghHCPXTBBVV3hYTFRUiX9mJ6STIEg92Mo3 bIKKB1XUbikrrn9q2kN+vhc2CeH1UUin/vE+bj3CE/Z4+LbDwF7PSfsgVf7qUGlj8pKO qKVAsJLVmBdGfNqi9raZ6uOhP2zhcfehJHL1ShhaXko+VTXaDCR2qDnlOXGPZc+xpP1l WAnsTbyx7NjACCl34zufkr3GVmfdjnhHTld1qZ0/DgjouqywN9B5PkmzXu1ko2yPexes 3tBh8L4Yuh5T7doHzdN5HYrdPJnvi9g0hji8lElGrSWOsuwlLquQ74CZpLnpuaLrJ4Lk Xcwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=GpCG8iaHFVlyCsbHvdBZg8IJiowVZ8YWlgF+q4yA9VE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Nc60pfCzi5Wm3gErSsFsVk9oaL04go9qc1F/HHWJCUh7e52tXa4/yE4bsg2amXVr8T fMYhSNFCwoagu/9o0S124D5jZm/HEwySHtgPkzF0eE6aw3IoM2P9nTZRLnNCPsd5Xdqy PANQ2d58vyzyCZzVXMkiELfKeucqwg9rfXXocAa9aAOxkUoQSKbZWbVWV522LQE5HLkx OsiTatDAUeZ/aU8Wr8RO/QSS7aVXseSjDybhhza/QuB7LJifbJdeowrjXAa97QGvP8RC ZP/nd5y2FqqCqccxEsRTWCH4anK7FYFZSyAeAnWmSkqXJiGvdkAnILaOc38TTAyJVP3q SE5g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=paMoOB2L; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w15-20020a056402268f00b00565d5d87a2bsi3939526edd.629.2024.03.04.05.08.32; Mon, 04 Mar 2024 05:08:32 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=paMoOB2L; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4F98568D43F; Mon, 4 Mar 2024 15:07:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6745768D382 for ; Mon, 4 Mar 2024 15:07:14 +0200 (EET) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=paMoOB2L; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id DACCA4D58 for ; Mon, 4 Mar 2024 14:07:09 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id rrD7VOT33Zrt for ; Mon, 4 Mar 2024 14:07:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1709557626; bh=ciQ5gyAqgs95XHY9PB5rTpex1reQIcOAMvas3ofOtk0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=paMoOB2LamSp7E/HkSuJfcuG8IlTEHquFAtyjT8qUjSpb3/1+kSSi6nctcu7pyJk7 QUIB4U/FRonNmv4kKaAESOT76nwky3rLmys7gNkUEh/ZU5kLE8CGDilP5Mvy2wtFX4 2yK0sTyblaC9c9OCFWG1/+ofpRxE+T75FPFadhZv8p6YrjUPt86EaDARTRDVFLeVNH iE5atC3z663sWOczL9sm5eCKlfSRUoEFu1cZpI8C05TyeP9QZF6roPhAUki6ejp3F1 6DH9wjmZPDPsWOqBVBTSdFmQp3CyzRqs0HeYUY7+yF6+wj0SUuw1LcY21Ytj5V/N+k taYWdYnqSntVA== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id 982274D61 for ; Mon, 4 Mar 2024 14:07:06 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 8C24B3A134E for ; Mon, 4 Mar 2024 14:07:00 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 14:06:30 +0100 Message-ID: <20240304130657.30631-15-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240304130657.30631-1-anton@khirnov.net> References: <20240304130657.30631-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 15/29] avcodec/libjxldec: respect side data preference X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IlmMwnN/xMhB From: Niklas Haas Also fixes a memory leak where the side data was previously not properly cleaned up on OOM. Signed-off-by: Anton Khirnov --- libavcodec/libjxldec.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c index b830eee784..d57a27418f 100644 --- a/libavcodec/libjxldec.c +++ b/libavcodec/libjxldec.c @@ -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);