From patchwork Sat Jul 1 13:24:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UGV0ZXIgS292w6HFmQ==?= X-Patchwork-Id: 42362 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1e:b0:12b:9ae3:586d with SMTP id c30csp3197211pzh; Sat, 1 Jul 2023 06:24:30 -0700 (PDT) X-Google-Smtp-Source: APBJJlH8XAhtHcqp5Nt7rbR7edUJiLp2+iZHbdExo/L3orqlxNNLHR9IQNRtbaatr+hsqVGLh1p+ X-Received: by 2002:aa7:d7c5:0:b0:51d:9664:e84 with SMTP id e5-20020aa7d7c5000000b0051d96640e84mr3843881eds.9.1688217869636; Sat, 01 Jul 2023 06:24:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688217869; cv=none; d=google.com; s=arc-20160816; b=CPuCSO9Rw67UgZvitE1A1M11HbkUWuQd8viN6sqBscx0AJG/CQljsAGNIhX+QwC0qN Fs3uaTrfcLVGPN42Z6wLr6i4xoVAv+DLlXQOoeV8zUlgCsoXD53PSXYdWxhKdBlIMLPS ZayGxxSC5Ol0xvyy8NDC9hfGeZpMSFHg7devusCvbzS3UMSYQCa07EqtPU1cTbiepCEP 4ATEKlh/6pN7E02GpEkHntn6znl+MOI+J84ma3T88NpQ941fQSvxUE+HIk3vxOpvspPm TfsClK4a/sMSMZG4gtoebTXWUG6Uol5rKnZFeIOpGnForGRKLaQZGhbFNvthzr+L7tzg +Zgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:autocrypt :content-language:to:from:user-agent:mime-version:date:message-id :dkim-filter:delivered-to; bh=xdjuKQ7GQPWLe4gybnzqFtb0sN9kIZ5DZsIRMGj47lM=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=rmY7+tb37fi95nhMgreWQSYyWDWlnoR1dxbK5j4SCPaYOuLlxuzYWXzJBbML7kgIrW LC8gEHhe15OK8L2CYPsKshPy5hrZD6PTPjvzREgLuJtcSV+cKknVdY2KRU3UdLLWXCS0 crBYYo8kFToRaLHqRys+jFzyHtdhKghkKDJnEle4S5jU7eDnLWIzKnVzw7NtrZJ+GNcY MMfUCbqNCIjFy+YoNDIlUkiJJoi5NgnV86Zxkqk+o/4Ro48b81WNgJTMJEommt8liB02 1Kn0ghu0/N2B10Ci1c2OcSMo0ciXxHLvwEnZdmGQxiX3bbiWX7DBc1pste9HeV08QHMD //Qw== ARC-Authentication-Results: i=1; mx.google.com; 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 er14-20020a056402448e00b0051dd18c9dd3si4015884edb.172.2023.07.01.06.24.28; Sat, 01 Jul 2023 06:24:29 -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; 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 ED4DF68C061; Sat, 1 Jul 2023 16:24:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from xn--nrnberg-n2a.reflexion.tv (xn--nrnberg-n2a.reflexion.tv [173.249.8.56]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E17C068BFE0 for ; Sat, 1 Jul 2023 16:24:17 +0300 (EEST) Received: from [IPV6:2001:67c:2190:1302::1080] (unknown [IPv6:2001:67c:2190:f101:10:11:188:10]) by xn--nrnberg-n2a.reflexion.tv (Postfix) with ESMTPS id CB3BF941EDC for ; Sat, 1 Jul 2023 15:24:10 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 xn--nrnberg-n2a.reflexion.tv CB3BF941EDC Message-ID: Date: Sat, 1 Jul 2023 15:24:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 From: =?utf-8?b?UGV0ZXIgS292w6HFmQ==?= To: ffmpeg-devel@ffmpeg.org Content-Language: en-US Autocrypt: addr=peter.kovar@reflexion.tv; keydata= xjMEYh+0ixYJKwYBBAHaRw8BAQdAG9hiDyYn9Xu3PxHie+dEeIk9hIX6V5c6YXvSE2B2pNvN KFBldGVyIEtvdsOhxZkgPHBldGVyLmtvdmFyQHJlZmxleGlvbi50dj7CiwQTFggAMxYhBAKN jn/VejdDA7gD/2DCmET0YorhBQJiH7SLAhsDBQsJCAcCBhUICQoLAgUWAgMBAAAKCRBgwphE 9GKK4UI4AQCt/Rep/nJHiCEqmJUtpS9B48F90ItdC+CA35RNMLD4ygEA/l+EZmWreJPKixVe yNkQplf8P480uQW2m+IYdnzrdwDOOARiH7SLEgorBgEEAZdVAQUBAQdAXlLdR2OyyW19Jwv2 cw0D8WtcUXZLxJPrOoGonjTmjWMDAQgHwngEGBYIACAWIQQCjY5/1Xo3QwO4A/9gwphE9GKK 4QUCYh+0iwIbDAAKCRBgwphE9GKK4VHXAQD99ifvJfVe4YqIOZfaCZsIfrKaMCjv7KS95ena 2nkj4wD/eS9mWqAM73KQ4ijsT5oB6pNUwf8u8VAYEBDWdRgDrgQ= X-Spam-Status: No, score=1.9 required=5.0 tests=HELO_NO_DOMAIN,RDNS_NONE, SPF_NEUTRAL,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on xn--nrnberg-n2a.reflexion.tv Subject: [FFmpeg-devel] [PATCH] Adapted to the latest JPEG XL library version 0.9.0 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: q4JrDQX3ItnX Signed-off-by: Peter Kovář --- libavcodec/libjxldec.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) +#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 +262,20 @@ 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) +#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) -- 2.41.0 diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c index 50417bcb02..bfff60769c 100644 --- a/libavcodec/libjxldec.c +++ b/libavcodec/libjxldec.c @@ -210,14 +210,23 @@ 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); +#else + jret = JxlDecoderGetColorAsICCProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, + ctx->iccp->data, icc_len);