From patchwork Tue Apr 12 05:53:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 35274 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp1410027pzh; Mon, 11 Apr 2022 22:54:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwsceQtk/DG/nn16wQlnMfn7uQoI9QIK8D1+opp6I7zbm6rOAoxjT+HflCm21skqXYmYsGK X-Received: by 2002:a05:6402:28a4:b0:41d:7ae0:6ec9 with SMTP id eg36-20020a05640228a400b0041d7ae06ec9mr9026329edb.410.1649742882468; Mon, 11 Apr 2022 22:54:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649742882; cv=none; d=google.com; s=arc-20160816; b=Jw1XwjjoNJxhRYlUQsWCIdB2O2dlu/MQ7GQ5VMC8Bzd8tlQcVcnjeD3lBdExxi5oFG nPLhu3leUMfLzzOObfkG/yGMG/R0bLe8D5T5sVbXPp4fY+LYYEG8sQw8YpHmw0U666mW DmBBXs1tJAXeNu+3Nt0g8T8FXZjK+mtXibR8RW81AS9I7N02RybXAVaxZUJfjihyYear ghQ6fjXWC0m2yn/zldGgOd39CWLiwXAR8hJkcWpJPt+lGbWSL3n+e3s4haQQ7+G5QazW MUbGnT5H64lCGTUZ4uikQQ14xsvK7yk3AmnTK0SG8yCANpHJIdnzDeSnFKd2LQdbMiKE O8QA== 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=jk//lI658rduzwS06hXsbTpCRwwWxdr6/6iUGlKoiXc=; b=NOIpDIQSl+XZos0AjrU26ravPx9jjKoRWtSsicpTqCVubW6IOpah5Pr1HyK8mz9Rl6 NjOY/difWi6irK2EFmXIgLJWRfHMwPmiJF2lh/3VvmBfwEXp3R2oZL6Mbjm1uUtbHivp pTbsmkivyhcpZQykFLUHg9VkDr35Jmnroqs7Ddfxoq3tKujqn3NDqSDb6KMjH3S4EPL4 Syni/gM6B0Ny8SHVw+pmusLUSbSh/XHiRVxb3LuMVH4gjo+6Mid+ea5d0mHeEN/D1iX8 MCmoK/Wi4BpjPjM6/p0sktLtq6jOR5kamI2IeE1HN8G2RO/FxUsyvwfr2ZRL0mteh8SB GX8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="Iu/T+uKQ"; 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 k6-20020a17090632c600b006e0db091514si8100266ejk.769.2022.04.11.22.54.42; Mon, 11 Apr 2022 22:54:42 -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="Iu/T+uKQ"; 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 2EC9B68B351; Tue, 12 Apr 2022 08:54:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4218F68AFEB for ; Tue, 12 Apr 2022 08:54:24 +0300 (EEST) Received: by mail-qv1-f48.google.com with SMTP id ke15so15373448qvb.11 for ; Mon, 11 Apr 2022 22:54:24 -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=CGPzWK7ztgoa4ejlfj//B0CphryifllXmDMKOd/uTjk=; b=Iu/T+uKQA/k69f1JcoVH2Oe+q0HvErz9XUQpatFeZSDv9YrPdL8N+9nq+t5ZqhkJQO DJ40adx/3PbjPao5gueEr7lwcHv8PaUeXq1r/1A+kwrXt8odAQWTxOlmMVkqkMTeaZ12 3qWZPM6JCtgepCeoV+FuBCuMUfwas3jzgUY4HDx2XSSMgNbQYmxhglSi/CYlxSXouKn4 YrazSTwGyXzuzM536lRuDhPM/IuuRE/VTeLOJnwgdzDCV6i10bWXpG7Pl0DtzXzOHWQp VKemN1jpEk51FNb7RCXiAnyH+0X4KA08Xr74MFsKBb7HPJyUguCP/q26LOpHjKzXxuNM F0JQ== 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=CGPzWK7ztgoa4ejlfj//B0CphryifllXmDMKOd/uTjk=; b=6dNoSPsraB8MwkaDSr7I07Vi9V1LhHgz5cIv5RbAkOEAWWGTgIweXyn1W5SZMx3bO0 Duyhiv0XZgmH3NgsOJ3iOH180PbjMlAfY/ZKIpSWu/fF3HiEM81t2yN/MKkovqYlqqkK /V0I4LIoikyNFCkCzFcJXMoycTeK9WTVbL5jwKZZKFn+OsW4i9rlbqgb05pQs9n6ycXV 8JQNM84XuwhEYGo7SqYaBEFSUh8KuklGn/7nJYPOXIakQUStR4KH0+abZgpuQQyl3qwU phVuJu6bBcacE0zEUYhmZjPqRO141KFiQPiSro07IGDi2WsAIEebdunY3Kxfw9yGEJ35 Wz8A== X-Gm-Message-State: AOAM530CqNe/1utt+io2WqPQtfcxK0LH6tNXbCBzxFn0Ky8E61pOyN5u CTsAtxbF0NC4BvdSRn01MwXN9xBkqys= X-Received: by 2002:ad4:5ba3:0:b0:441:32c:767b with SMTP id 3-20020ad45ba3000000b00441032c767bmr2288368qvq.9.1649742862491; Mon, 11 Apr 2022 22:54:22 -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 k2-20020a37ba02000000b0067dc1b0104asm19801988qkf.124.2022.04.11.22.54.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Apr 2022 22:54:22 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Apr 2022 01:53:30 -0400 Message-Id: <20220412055333.62424-2-leo.izen@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412055333.62424-1-leo.izen@gmail.com> References: <20220412055333.62424-1-leo.izen@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v14 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: KFGKNQdzT7Cs 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 + 3 files changed, 11 insertions(+) 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 c08854cc93..e7f0f6a8d4 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1870,6 +1870,15 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Vizrt Binary 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 43c72ce8e4..8b317fa121 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -309,6 +309,7 @@ enum AVCodecID { AV_CODEC_ID_SGA_VIDEO, AV_CODEC_ID_GEM, AV_CODEC_ID_VBN, + AV_CODEC_ID_JPEGXL, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs