From patchwork Sun Apr 17 13:22:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 35336 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp1136307pzh; Sun, 17 Apr 2022 06:23:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxEqv6uV9yaEWQmurJ0f4oI4jiLiHMoV9oE0N38mGkR4aCEJ3iRAN1R8Ov6uANNkvI3NYL0 X-Received: by 2002:a05:6402:2709:b0:423:e570:c2b3 with SMTP id y9-20020a056402270900b00423e570c2b3mr982932edd.413.1650201787685; Sun, 17 Apr 2022 06:23:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650201787; cv=none; d=google.com; s=arc-20160816; b=GQS9ILXeJM5VOJDMyIzuI2r52pOVkhiI/DNb1VnE47q/7zTFeMAAPKYoNnv+Nr2grC 8BDwXW2+pm/nG0E+HwnomyW8A97qTFtTwojIMVWUP4FjbJX3u32tv5+rk6r+ZzeUWQIW H8nEYru3ALRN1TO/xwp//9Uy5iop4juvpanNZQdJrEa3CTB9OKhasvMEvbfFHQyqgQtX lTlCaOsuCnMGIXcb+Um2KK4TQitNeBgUqSNQazLADNJ7VK1oZtOM4msvpRx31kv+Pnb3 M+Pun7z4/OcjzM6THdNDReSbRv5jBBD4ksvFX+W8/GzEMsJZfraCtwdy0hcePVA6svjF MtsA== 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=S3iLX5a9jyScjkSay8+dga/0XteUeiaAUTr5J+sT74f+sNRpmv4OhWSIpkkClSG6a7 KJv7hURJr8IXK8XSkCji9sBZ7ns5zB3rvnlkXQ32ULqtVb2ueRBxFaI7i4Bu4DtSKxsX 8hi+EOEo2tpKNG+aVEDgREY4dLwXM58kPXUUegHPAaUelEp33DLKmKpa0cosJnDS/XCd l5CiHv8nLW5lBNpKK3Zka4k1hSuLXq3ZarWr16tRTkCDVLB6yDFG+LdRfA7ZHxsJhONU GKS6MImQiHUYre1pV7poHKXs1LxIWDr8M8uiVA6YGRt+f1tAe2z72TLXk6wLKXTNs53G q9bg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=njJ4h2X7; 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 a24-20020a05640213d800b0041901f9db85si4101387edx.368.2022.04.17.06.23.07; Sun, 17 Apr 2022 06:23:07 -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=njJ4h2X7; 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 5B8BB68B2C2; Sun, 17 Apr 2022 16:22:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B2038689CFC for ; Sun, 17 Apr 2022 16:22:48 +0300 (EEST) Received: by mail-qt1-f178.google.com with SMTP id z19so8631048qtw.2 for ; Sun, 17 Apr 2022 06:22:48 -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=njJ4h2X7Fi3dNvzCZnrJtQOQxXDEYuzRToZ3W7zbyeDym+9wb4bA62zyI6l+wzN6Vr xy6VVO9oYi6J0MQ9/sYC8mx/CkNcKDN1jkjQdjr57Z2GUhHOa019XhXoeEcibd/0OR3t 8TBm/mFtwJrSwPgcfKGftqiStq1UKnJUqbLvKHir48s3DKx0D8gM5dyxdXBNe2XHq005 3h1uftUpZV+oveiBzU4AdPi5KkBr6PZup72aE5UsqiLIzpNhrT/hk4otN6wam0rjyef/ q7yklT2wz3fOjmc8eshZzeIcb1Bk5Iw4v1QcSRtL1A0wsr0Iyz6ohVMNpDquriYthWmP 6GNQ== 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=YQmEDxH0A1mQea102mBzEhHHgiZ5gl0nSl0BW+IyvxM5gyuvTBqtgL+ln/ddX5n3LF 6NZjKURnxjkPEfSwpLdxRVYcINHZT9LqK1ztjdTBwHdzn47TeBPnRSYvBqfUTVKJsASu DnMKBJhI80YYY9CpseExWounFw7FhO8jmt6mn/7Lno6EvY0j958kwpqewQJZwyPH7Svl NETN9w6IeIS7jY1ca0Q3/xNJyQHvxfAIyQr+OUa/khtK3JDCzwGl+td9WhoK45RCONmA Ffz2XpSIZlG464KEY2MUVPwkcLty7BEBuQSHX/R0CWXflslUqTCQWHqG2+g9bCJq2coM exew== X-Gm-Message-State: AOAM531hCB00mxnghQ7LGApNt1nRjvqbi5Usz+dXOKo2zd8x35IVuGR0 2SVPA4HlUCDFdLvsK2qs7QJ0x4Dh+lc= X-Received: by 2002:ac8:5a90:0:b0:2f1:f1c0:e0db with SMTP id c16-20020ac85a90000000b002f1f1c0e0dbmr4458846qtc.620.1650201767166; Sun, 17 Apr 2022 06:22:47 -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 s195-20020a37a9cc000000b0069ca29ab6f4sm3903381qke.26.2022.04.17.06.22.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 06:22:46 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Sun, 17 Apr 2022 09:22:33 -0400 Message-Id: <20220417132236.200239-2-leo.izen@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220417132236.200239-1-leo.izen@gmail.com> References: <20220417132236.200239-1-leo.izen@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v15 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: 8P/hLE6LJZ4o 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