From patchwork Tue Apr 5 16:55:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 35217 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c05:b0:7a:e998:b410 with SMTP id bw5csp410704pzb; Tue, 5 Apr 2022 09:55:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzJe2wappa9gkS0q8wN+Yk+JwSaGvPIxhx5aYW9KH+KkkkGv4THj1BpMougQUflpwvTQO0c X-Received: by 2002:a05:6402:4315:b0:419:2e38:ab8f with SMTP id m21-20020a056402431500b004192e38ab8fmr4624572edc.250.1649177750645; Tue, 05 Apr 2022 09:55:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649177750; cv=none; d=google.com; s=arc-20160816; b=kEOcpDLLDY6EQ1hXdmwRdQK0KgrpeMglRK5rGr2Lp9zk0G7tmR8tV64jVFcoCloKmS a77cSW92i8zD1ebtQW6T3H1bCNHiqxqe3C3ma1w5R7B5Y8pCJcKfcjN2w8YDboRVhKA4 /ZWMlgnxnhkcmt5vZV7Ut0hR0aPfSE/sfVMMhNYntEKg10B7bdYWYa+w183fxFrEq/6i Pk9d1R8NkxR2rwhnAKs6iDcXtneurIJN4wIxdmJ8Pk09TERSZXqQaPAJehnl2DWYSjEs 0rZOzo+/RH5/q59hMiJJkEzcWwD0Vow04KAVbWzOrijLyRBBOOgkCMAkBxVU/hugDPhy +sfA== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=dIGzx4yAtktf5JWE93HYPb9qXYAjj7GwUQpeUC2ihQg=; b=y0ID87BeiQUX/ICT9h3YwEx+V8hjWsQjDOA406BntgnF9I8dFbwHHu66RZ9iUDgicz P650Hn4JRXZYUxn4RGdkTSorCNpq//N/iTV8iWHFn+8OCI/ITbjIdxtgK0JlzwyuV+dJ mJWP1p70Q0mFg+5UFcjvfNhTWW2hu7x6cXQorPzF2VaXEz7ZISm/mtAl3k03dbF/hrsI Id6xZRgx7hDxW394hyczfAtpkPnK2qan4t6WaX473vd92uJO/d5/+ETZyMazWIElh8if cd2MUncrKxk0yZkePw++DiBi4+GWPtCTqLsvzrS7YO2s+2bZ3VwWL+ibcoPq2BAhdE82 KHiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=VE1TCU77; 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 h3-20020a056402280300b00418c2b5bd50si10198477ede.50.2022.04.05.09.55.48; Tue, 05 Apr 2022 09:55:50 -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=20210112 header.b=VE1TCU77; 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 9FBC768B00F; Tue, 5 Apr 2022 19:55:38 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com [209.85.219.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BD90568B0FD for ; Tue, 5 Apr 2022 19:55:30 +0300 (EEST) Received: by mail-qv1-f46.google.com with SMTP id p8so8534qvv.5 for ; Tue, 05 Apr 2022 09:55:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qS1Eqxb5rk7TAtghbFjRURu/vm1i/lrUTkPMgcIjwrU=; b=VE1TCU77BlovjVxPbbaXAYZ6JQpfvGWHMJYOXxLfeRCXYhZNQvkXSwmFnuqmrTVoqL mBhRJW3v+sGJxODmpQ/v7rJw0/VpMyKALlTZfkDI3J3O8NDk2GQY5rEaEDcxVUdcJTtM XrRmwjBJb/XecnCHYsBksdys12v6CkVD04FZJhBFbnTS6kNI7WLLZucmYY09ZPd2zUAT vk3UCE+EcXzOaub9YL8NAFpXYLUdZ4oM+kpHul9GZhAaHl2Lx1HHveyh8mgoBaH1AF+y h60eMswuHvOXTVWB15S00+fm/mOPJv6PbnPEa6ZTUdsvkRXoNTkGxiWLk5oW9wo6cmgK 2Mlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qS1Eqxb5rk7TAtghbFjRURu/vm1i/lrUTkPMgcIjwrU=; b=PC8c+eka2xP34hQ7yYWRHT++Empn88B6b+1ReMa6e5NqhoB+eutDZ3/Uwav04uIIu8 xQfuPiuaSOnM9KPyJ2nQhfeiGtwZqZstJKppRCawnNPRdqnKHa6ttqt/FcHNgNoX7y5U zP6BEvZCehAL4ZoVQIo3NYn7I2syJUKFWGvP4OkEtjD/yAdW5S8zOavva/Nvz/g75hp3 vJGBypyOh3Yj44DRdbteik2Ed3oZH8oZbbi8XBROqLtTUjAxtv3EyYqIfyRCCN9CAi6M EI3MG1whPdoIRUl/5HPr8XoUJlsi+18zMSvkcK2/pO1x6rU9fLQIqFsqmEOm/BsfFlqd YJKQ== X-Gm-Message-State: AOAM530jsmdR1bnorS3DXcJHP31GO1AhsIYnw7Z39cYfvrb5SoS/PyjX MlRknALFa7cJMF+GHvn4uBGCITCqio8= X-Received: by 2002:a0c:b381:0:b0:443:e12c:141c with SMTP id t1-20020a0cb381000000b00443e12c141cmr3486959qve.117.1649177729483; Tue, 05 Apr 2022 09:55:29 -0700 (PDT) Received: from gauss.local (c-68-41-54-207.hsd1.mi.comcast.net. [68.41.54.207]) by smtp.gmail.com with ESMTPSA id bk15-20020a05620a1a0f00b0067e5bd7a9ccsm8332532qkb.50.2022.04.05.09.55.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Apr 2022 09:55:29 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Apr 2022 12:55:01 -0400 Message-Id: <20220405165504.29261-2-leo.izen@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405165504.29261-1-leo.izen@gmail.com> References: <20220405165504.29261-1-leo.izen@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v13 1/4] avcodec/jpegxl: add Jpeg XL image codec 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: tiGsLLXh3GEG This commit adds support to libavcodec to read encoded Jpeg XL images. Jpeg XL is intended to be an extended-life replacement to legacy mjpeg. --- MAINTAINERS | 1 + libavcodec/codec_desc.c | 9 +++++++++ libavcodec/codec_id.h | 1 + libavcodec/version.h | 2 +- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 8c71605339..859a5005d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -618,6 +618,7 @@ Haihao Xiang (haihao) 1F0C 31E8 B4FE F7A4 4DC1 DC99 E0F5 76D4 76FC 437F Jaikrishnan Menon 61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368 James Almer 7751 2E8C FD94 A169 57E6 9A7A 1463 01AD 7376 59E0 Jean Delvare 7CA6 9F44 60F1 BDC4 1FD2 C858 A552 6B9B B3CD 4E6A +Leo Izen (thebombzen) B6FD 3CFC 7ACF 83FC 9137 6945 5A71 C331 FD2F A19A Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE Lynne FE50 139C 6805 72CA FD52 1F8D A2FE A5F0 3F03 4464 Michael Niedermayer 9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index 81f3b3c640..1b82870aaa 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1863,6 +1863,15 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("GEM Raster image"), .props = AV_CODEC_PROP_LOSSY, }, + { + .id = AV_CODEC_ID_JPEGXL, + .type = AVMEDIA_TYPE_VIDEO, + .name = "jpegxl", + .long_name = NULL_IF_CONFIG_SMALL("JPEG XL"), + .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY | + AV_CODEC_PROP_LOSSLESS, + .mime_types= MT("image/jxl"), + }, /* various PCM "codecs" */ { diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 3ffb9bd22e..dbc4f3a208 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -308,6 +308,7 @@ enum AVCodecID { AV_CODEC_ID_SIMBIOSIS_IMX, AV_CODEC_ID_SGA_VIDEO, AV_CODEC_ID_GEM, + AV_CODEC_ID_JPEGXL, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs diff --git a/libavcodec/version.h b/libavcodec/version.h index a744e7469f..26ee41eb1f 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 25 +#define LIBAVCODEC_VERSION_MINOR 26 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \