From patchwork Fri Jan 7 09:01:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 33146 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp209262iog; Fri, 7 Jan 2022 01:02:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJwMQZhYYZ+QmbjjZlMvwi5N6EvY0c3864dXHmzvCNuDgqNzkgzlJzr8sEFP9H5xsrf6kXns X-Received: by 2002:aa7:dd02:: with SMTP id i2mr577866edv.30.1641546125232; Fri, 07 Jan 2022 01:02:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1641546125; cv=none; d=google.com; s=arc-20160816; b=eQs43YCAwkdCunLPEPsU3vkUjtAEtCuQ3JI6C0GnLy1Mixi7f7kULnJhF5nODw8XqM QSEPJbZY7iXpWPm7X/CaV00mGNP6Fi+vvhBCZojdzv1+raW0gYdS9IRdsBp676SLN8AJ GcD9P0N41p5sx8PL6Q6tu0eUBRKBvL2dc30LfCfayvd9w8f1mROpIyA3t477sC9Hi0/c qDnnDUFw66u4+v5giXYYkKA+EDa6LRckpthntV0tKNsCI24KGVqVIIyeBEwm8zsyhLkT IZBmW5k9tcFew0dm6lNyqgY9vkYL7fZTQnfdaFbTWbjjsRTGOKAGXuT4MMKHvt6PQNAv H1Cg== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=uklRsNYsnBJXjcgHgF7cdQxXFd2h6YqaezvmmuCO5SQ=; b=xuhYWK/1d6mJeRQK66wCXdx/kP3HuBiEyE3IhiJ96ibo6cWi7/3yX+LCERBXC0xm7Q LJdaGyzMf4TwXvhrTbVN+kDdSR9clNHJOcXI2epWHCQzeNTcMvko5CziHKlSfcICoPY8 B3gSJpMHEW96HJh94qyddfkaFk/2cCuxpSJITr3D3cTfu7gMeyzSWN7myfdRguzhou6d NquxoYvxGAXoVITlDvagmydiNnYe3df0joPJlGpt9bSYDwwChjpODJdIUJvC20i/2NH2 Mh/AquAwar6dJ2qAmA2VBPfeIk9Bx/vuq1yqKFy+Mr4nCIpAEFYcWR7V6wSt1RWlLrkx Qmxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="cs/o9T2K"; 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 a23si2066845ejf.874.2022.01.07.01.01.58; Fri, 07 Jan 2022 01:02:05 -0800 (PST) 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="cs/o9T2K"; 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 20ADE6807A1; Fri, 7 Jan 2022 11:01:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C44CC689D48 for ; Fri, 7 Jan 2022 11:01:47 +0200 (EET) Received: by mail-qv1-f45.google.com with SMTP id kj16so4931851qvb.2 for ; Fri, 07 Jan 2022 01:01:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=h9JBfqyrl/2/mt2auhSapLIBr3NO+aFS/glvJXRAWzs=; b=cs/o9T2KOnClratZeFhXiuropA5ArR3D5wKFI60SWVi7A8C0QoHZvjJSX24u2GQLGc 8hgDi2J4mSQwlVjongsa7+p8wn2ThW4+aGqJ0wSjLTdFEJGAhODKbI67oXzqTIq2dHs/ qQOzbLkTi9PSRcRLcRw2n8tS4E31NKA3Pq3gCwb/mtyDeAjfynAr00Q67ZWCJGar7DZb rWP/VvPfvBVK8LNfjBlAl2GqiC6yKfWz3Xv8dStGPS01L8ocO12nBDg4IjXL5cBgDxBc ZtByYTwCfH43UuCjwJS2W8bfJLie3gD1HLp5YdBxLzzn+ZV/qKaxC3e/ZcnMcvHCuVEJ BoKA== 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:mime-version :content-transfer-encoding; bh=h9JBfqyrl/2/mt2auhSapLIBr3NO+aFS/glvJXRAWzs=; b=LNwKNOaX/PmCKseoHlFDIMEQnbZx60hcdFcNSHCfszuRIqknjCMtePTYtqH2ZdIBuS iq4L6NjNujsbmM7iv4vJNhWLG/FZnkbTkaCuDC54H+FaPYpRkELqduORYNf6aJ2yQKo0 0gRr1z2NfyUMwwNrFIl7T3fm7pP8WnFdixk+Qb98KJEuS5Oy4Dx2tMCOwAUlEcGkKnjM L2iyriorICgzHjGNueMn93XC3CzuebHk7EbVqh/D1mtTm1UGUNHVdPTVD/nHrsSNAKYi NFLL7yemjst3EZlB7rxbfqe1Ig2KYMgyM2VZvYCUMRK0jU0eGlk53UTAcxJ+xrw89m38 XZiw== X-Gm-Message-State: AOAM533N7f+IU6/Q3EedRD7JeSpJRlzWE0k95EK/iNADPEFdQZMDtiae hiRVTrVz9w9sbbE708O78oOGZwny7no= X-Received: by 2002:a05:6214:27e6:: with SMTP id jt6mr55151632qvb.55.1641546106518; Fri, 07 Jan 2022 01:01:46 -0800 (PST) Received: from gauss.local (c-68-41-54-207.hsd1.mi.comcast.net. [68.41.54.207]) by smtp.gmail.com with ESMTPSA id u17sm3077071qki.2.2022.01.07.01.01.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 01:01:46 -0800 (PST) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Fri, 7 Jan 2022 04:01:06 -0500 Message-Id: <20220107090111.243853-1-leo.izen@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 0/5] jpegxl patchset 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: GArdW0GBOw9q This is the same code as v3 but with the version numbers in version.h rebased onto git master. Leo Izen (5): avcodec/jpegxl: add Jpeg XL image codec and parser avcodec/libjxl: add Jpeg XL decoding via libjxl avcodec/libjxl: add Jpeg XL encoding via libjxl avformat/image2: add Jpeg XL as image2 format fate/jpegxl: add JPEG XL demux and parse FATE test MAINTAINERS | 3 + configure | 6 + doc/general_contents.texi | 7 + libavcodec/Makefile | 3 + libavcodec/allcodecs.c | 2 + libavcodec/codec_desc.c | 9 + libavcodec/codec_id.h | 1 + libavcodec/jpegxl.h | 206 +++++++ libavcodec/jpegxl_parser.c | 809 ++++++++++++++++++++++++++++ libavcodec/libjxl.c | 70 +++ libavcodec/libjxl.h | 48 ++ libavcodec/libjxldec.c | 276 ++++++++++ libavcodec/libjxlenc.c | 383 +++++++++++++ libavcodec/parsers.c | 1 + libavcodec/version.h | 2 +- libavformat/allformats.c | 1 + libavformat/img2.c | 1 + libavformat/img2dec.c | 19 + libavformat/img2enc.c | 6 +- libavformat/mov.c | 1 + libavformat/version.h | 2 +- tests/fate/image.mak | 10 + tests/ref/fate/jxl-parse-codestream | 6 + tests/ref/fate/jxl-parse-container | 6 + 24 files changed, 1873 insertions(+), 5 deletions(-) create mode 100644 libavcodec/jpegxl.h create mode 100644 libavcodec/jpegxl_parser.c create mode 100644 libavcodec/libjxl.c create mode 100644 libavcodec/libjxl.h create mode 100644 libavcodec/libjxldec.c create mode 100644 libavcodec/libjxlenc.c create mode 100644 tests/ref/fate/jxl-parse-codestream create mode 100644 tests/ref/fate/jxl-parse-container