From patchwork Sat Jul 8 18:45:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 42530 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6d25:b0:130:f365:34ad with SMTP id fv37csp609669pzb; Sat, 8 Jul 2023 11:45:18 -0700 (PDT) X-Google-Smtp-Source: APBJJlEzZSFiMXJsi+vGA6fE1Yg9UwvKu6gali9Gjxip41uWOVPjSK78zDDpLFnVidXanpjoexM2 X-Received: by 2002:adf:f210:0:b0:314:385d:6099 with SMTP id p16-20020adff210000000b00314385d6099mr10051220wro.35.1688841918380; Sat, 08 Jul 2023 11:45:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688841918; cv=none; d=google.com; s=arc-20160816; b=IAgBQRnY45DrXI4YQ8RYz7Jks6m53xNf1VNQ2D4Xq72gqTr05k/MZy/Ze6iZ5qLyrY M+GiLEuNsITfXQh5rVptVlNc3Ie1JY5Mu4/t2Nx8bAyTHZtkOiQw0Rnpf7IK+Ys7BaI+ s7cpom5FIZycdz0y5cwQNB17iZncJhlz56c9VoftVEK2sP+0fBeljZCCLxb5BZdNxSRN ubTi16M3UmcLea8wWso3BLBMXG8k+UOkcytIYqrBwbgRCTYJ63QF7xtbJhI9K6li1+vw XGr/RJz6UZRhh3BI1oB+RAkflVRayyxh9B0gOwW2v4lfREyUOeBleUymWSo0eX/Az7TW iM9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=XNaJJBJcVlhYLKCBwy3VclE4DF4fnN/mNTOas4GIKXw=; fh=W57KVLPaTz0tbsYsrKIbKYuBNANpg4Tl/mHbnGjtYGU=; b=wp+9rdpT4eZQHHfGzNMtR49UIhp+x6sDtN8ySwyF1UuzQ4ihPhrd9qF+rBjNEv4iIe wXQKn0pHJlbYIGd+ORIjff2Hd+q6IojqbHHhe0bBsYWQWz/zMegfQIv34D3/rZZr6XgT bD9r3r4LXqbvCgK73WbiGS58e2CCqHD+7rxgzIksRWUVLw68BGkf6XEjAa5xvUsQHsN9 Qsk8QKhkA6x/9FtdRtwXsDFfsMp4HfBVfS0YiPiDT3sZxBXEM9VA0Fo0wP6VmzeUsqLz DsoD+9YLqbQfYIv7UHUkskLcmfOQ3F1xwsbCUBmGCODva682I7jm9atIv7WPtV9xl4mz qvaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=WAo3Erbq; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l6-20020aa7c306000000b0051e3375d4f2si3890862edq.338.2023.07.08.11.45.17; Sat, 08 Jul 2023 11:45:18 -0700 (PDT) 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=@gmail.com header.s=20221208 header.b=WAo3Erbq; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 188CA68C50F; Sat, 8 Jul 2023 21:45:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C67E568C355 for ; Sat, 8 Jul 2023 21:45:06 +0300 (EEST) Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-40324c87761so6974621cf.1 for ; Sat, 08 Jul 2023 11:45:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688841904; x=1691433904; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=uayn/kJQeiqEGJNVPFMeL8y+RV0yYf46gGj5wy3OFkQ=; b=WAo3Erbq71wVFLpPEBfGF3Q5/9+yTfHdWNlGA0lIZjI25hVYOljBUruYO8oqcHxqPA te9MEYaTMzKXWSkIsTsIUo6XuEMH2tPo28PRwRNezC9mteyUiiyryJcKYsXcDwqAllQE 1Aqv3+7Dq87J2ixsmLDvjq2k5IS/iBIFYDodQtHWxhNfjVbIy4hWUjUGyN5xL/UEoSEv ntrPPjLFkiXMXq8ZhdBXa2p52kocyJt+ic8LXUaAQkCbYDrw1CjTuMSBo0bX1P8RS2te f/mlodoFwL375UR4CQzDYWjiZUB8Zbm89nNplvgOahCBIYi9nUnoDWmdtwJqX3J2BGbL TiFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688841904; x=1691433904; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uayn/kJQeiqEGJNVPFMeL8y+RV0yYf46gGj5wy3OFkQ=; b=gbtEGKF+cRqYMK8G+e+tQG7BsxS59KwlxuXRZati2l6yHcZGxammEthXg6aR7hnhlA zOgM/mfRdIxtZ3ZsEu4YM32Ls7/JteCR8pmlNInCiDbjPe3XKKSHqGmkSVmSmPNcbf0R gs6kGk2hXlkIaGQoJtvblVx1B6wW3Di+iCyBfwZ63QPpDL00DAIxva6861piwkqlnAnr GhW8EkF3I7gV7H9RnCyl7l9E6m34qstDmSwJqk+wgDk+4Zvr9m97rNHpJnOYg/ekx6H9 9cBDfDP1YZxWusMkcH7q/PmmgXDvQVIZjU+pYn5n2bQQ5u1Kwyp/Y7j8o/fVfXr4Qi5i qV/A== X-Gm-Message-State: ABy/qLb3G9qQO9u+JJHPi3BCvi9ZxV1og/FCsYH2JmOj/bqcACL7kLRO pPlvWHtb9ozSE6/e/on+Bf9ykR4y7G4= X-Received: by 2002:a05:620a:4115:b0:767:614f:323b with SMTP id j21-20020a05620a411500b00767614f323bmr11023210qko.1.1688841904483; Sat, 08 Jul 2023 11:45:04 -0700 (PDT) Received: from gauss.local (c-98-224-219-15.hsd1.mi.comcast.net. [98.224.219.15]) by smtp.gmail.com with ESMTPSA id d5-20020a37c405000000b007675c4b530fsm3026806qki.28.2023.07.08.11.45.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jul 2023 11:45:04 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Sat, 8 Jul 2023 14:45:02 -0400 Message-ID: <20230708184502.66917-1-leo.izen@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/libjxldec: build against libjxl 0.9 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 Cc: Leo Izen Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: utDiOnfInCTx Git master libjxl changed several function signatures, so this commit adds some #ifdefs to handle the new signatures without breaking old releases. --- libavcodec/libjxldec.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c index 50417bcb02..e45ac02c07 100644 --- a/libavcodec/libjxldec.c +++ b/libavcodec/libjxldec.c @@ -210,14 +210,22 @@ static int libjxl_get_icc(AVCodecContext *avctx) JxlDecoderStatus jret; /* an ICC profile is present, and we can meaningfully get it, * because the pixel data is not XYB-encoded */ +#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) jret = JxlDecoderGetICCProfileSize(ctx->decoder, &ctx->jxl_pixfmt, JXL_COLOR_PROFILE_TARGET_DATA, &icc_len); +#else + jret = JxlDecoderGetICCProfileSize(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, &icc_len); +#endif if (jret == JXL_DEC_SUCCESS && icc_len > 0) { av_buffer_unref(&ctx->iccp); ctx->iccp = av_buffer_alloc(icc_len); if (!ctx->iccp) return AVERROR(ENOMEM); +#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) jret = JxlDecoderGetColorAsICCProfile(ctx->decoder, &ctx->jxl_pixfmt, JXL_COLOR_PROFILE_TARGET_DATA, - ctx->iccp->data, icc_len); + ctx->iccp->data, icc_len); +#else + jret = JxlDecoderGetColorAsICCProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, ctx->iccp->data, icc_len); +#endif if (jret != JXL_DEC_SUCCESS) { av_log(avctx, AV_LOG_WARNING, "Unable to obtain ICC Profile\n"); av_buffer_unref(&ctx->iccp); @@ -253,12 +261,21 @@ static int libjxl_color_encoding_event(AVCodecContext *avctx, AVFrame *frame) /* set this flag if we need to fall back on wide gamut */ int fallback = 0; +#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, NULL, JXL_COLOR_PROFILE_TARGET_ORIGINAL, &jxl_color); +#else + jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_ORIGINAL, &jxl_color); +#endif if (jret == JXL_DEC_SUCCESS) { /* enum values describe the colors of this image */ jret = JxlDecoderSetPreferredColorProfile(ctx->decoder, &jxl_color); if (jret == JXL_DEC_SUCCESS) - jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, &ctx->jxl_pixfmt, JXL_COLOR_PROFILE_TARGET_DATA, &jxl_color); +#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) + jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, &ctx->jxl_pixfmt, + JXL_COLOR_PROFILE_TARGET_DATA, &jxl_color); +#else + jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, &jxl_color); +#endif /* if we couldn't successfully request the pixel data space, we fall back on wide gamut */ /* this code path is very unlikely to happen in practice */ if (jret != JXL_DEC_SUCCESS)