From patchwork Sat Apr 2 20:12:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 35140 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c05:b0:7a:e998:b410 with SMTP id bw5csp1245548pzb; Sat, 2 Apr 2022 13:13:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxZuQQOKq2M03uhUgHyOVTtysgiuJavqeE+SaIIJ7i4iB+lmAFYM/YzL5fl7TIECd3H69YO X-Received: by 2002:aa7:c157:0:b0:418:f8e3:4c87 with SMTP id r23-20020aa7c157000000b00418f8e34c87mr26169727edp.271.1648930384027; Sat, 02 Apr 2022 13:13:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648930384; cv=none; d=google.com; s=arc-20160816; b=N6ixyThZU74P8TRtnwKUVnzMyODLjzyC0ii5TY3rH3kMNdtIEqohzRaxj1LGckpCV4 MURlm3fBMXUtHnzBcLuDwN74zjMXNho+I5ZQ7rz8r6TEDAmEIdxjnXSX+fvIj9yvw22+ f42vFuErgUdhrtErIsxxtd/WKE33Rb72Zq8JSXkPzFZnvzoNfjN8w4Hpfxwxjgymbjpo JPq8pmDTkadCrGInC/CCz+Cq6Zu1PiUzDIXsKeyDVIJ5qoDZK9sBIzLs0WpSX3pXtRab d8wYG58EidONJd1+6Y4gA+cnnSgY4ANHTKUFJhLDDpGjtUUxQQSCne2JnIvD9AL0+zxk oqfA== 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=/MqjWZiuNO+tSZBSWRpb8WHpRfJc0eiu73221ktqFwo=; b=Q+6BQidvz43RENvmH+eTLlAUGYVW5454T234Q14lqF1ZhfEMQ+UICzzyopuCV90j1V H8kWUMOmxDWjw5SzHK74JCnsX/Zf+/1ibnMzwfrUDqiXdAk6j2JyNLz5e9WonoJOt4eR Iw81xHefbRqJLpV5yDOqUAbNeTbuobPMpxYEN1B2yxwTASK22E1eTX49PBKvhzislJjo OwP9621o/L8FSVleykudsL1Z9A2gvxc3vBwKnfhJ+/Xio1Gr78XiTBZuV9PLvMYZW8ky i9H+eg+/wduvi6rc4+wiFCI2ORDVeiQ6D27liXpo8eMKFxSAYDOATL+4RHNQ32piHdhh BdEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=koW+I3aG; 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 gg2-20020a170906e28200b006df76385c4fsi3874424ejb.239.2022.04.02.13.13.03; Sat, 02 Apr 2022 13:13:04 -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=koW+I3aG; 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 5633368B21E; Sat, 2 Apr 2022 23:12:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B810F68AF88 for ; Sat, 2 Apr 2022 23:12:42 +0300 (EEST) Received: by mail-qv1-f51.google.com with SMTP id f3so4557385qvz.10 for ; Sat, 02 Apr 2022 13:12:42 -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=hqWLvdkfxyTyXEYwMkGoD0YZy9iRoA6vJR5NP6Vutp8=; b=koW+I3aGfwctn1KdmnqN6SBoxXH9Cj+H4bdZ86naqBCjB3w6wXuFw3r/Vya2ROe01z aH1yvucVNY05OLNY8xuFoI1BkOjBnDTnTnMuQ0sZglkFd5iuPU3BLrftbE+UavYRl8h+ aPujvtoNF8/KqW7c4dPesTqDTfCAmIC3i7wOz4H6686QQXF766jjEot3RlietjxODObn UU5oHl3ymkbZ0UBHKwEZSFsiwE1WD3mUhDHEzQu2KqbM8vHI9QEXWkoakPNGd0moVT3U /uHU/CbMybZicdw/23pLmtFURToi73KOPCXqGy/bPn5mhxGP1ljMQemjvmFNXmJndaJd QMDg== 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=hqWLvdkfxyTyXEYwMkGoD0YZy9iRoA6vJR5NP6Vutp8=; b=lRObIixIvi+7Ti820KnThteZ89ejheLqyvuiEZS27Pi1rPzfHD65bnt8FCPHWQDkyW j5lW3aJ0E730z+QaInDCG+EsrqiGxhHvG83jjETUAnnf7PHFzQiUd/C8nIcyHu9KB/tC 3f6JXpbOdd74gD/sP/MwHvyLLyyxunG6vTrHoCIIX67JpvOUDRnUeUUgzt3Wz7+XxLXd c1PC3ZTW5xyVEXxfejGgOHzYJj+uvDuxmTssejksT/FfGJEqV3nr8FQc15WRMeZrF5gB KUNvHIluNuzpn5UyYnnskIcFLCSz3cTV7x3mZapQFsVYDR+hJGbc5aOAaET372hg7Rkg 7DFg== X-Gm-Message-State: AOAM531TB5/qvuWl+zF1Adx+KhoRUVqBFG0t7y0X2bANGE/KBBYOlP11 GZ+ghA4kMc3qIwgpldgpd8oAzWs+6Q0= X-Received: by 2002:a05:6214:625:b0:441:4934:3c8d with SMTP id a5-20020a056214062500b0044149343c8dmr43408438qvx.40.1648930361544; Sat, 02 Apr 2022 13:12:41 -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 h14-20020a05622a170e00b002e1a65754d8sm4743937qtk.91.2022.04.02.13.12.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Apr 2022 13:12:41 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Sat, 2 Apr 2022 16:12:07 -0400 Message-Id: <20220402201210.86308-2-leo.izen@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220402201210.86308-1-leo.izen@gmail.com> References: <20220402201210.86308-1-leo.izen@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v12 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: dsaNo/LciX0p 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 76e1332ad8..490d6643d1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -617,6 +617,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, \