{"id":16881,"url":"https://patchwork.libcamera.org/api/1.1/patches/16881/?format=json","web_url":"https://patchwork.libcamera.org/patch/16881/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220801000543.3501-5-laurent.pinchart@ideasonboard.com>","date":"2022-08-01T00:05:34","name":"[libcamera-devel,04/13] libcamera: formats: Add AVUY8888 and XVUY8888 formats","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"e3f4aee33a8d5e7a62f2c14e2418fa80230c1e47","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/16881/mbox/","series":[{"id":3352,"url":"https://patchwork.libcamera.org/api/1.1/series/3352/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3352","date":"2022-08-01T00:05:30","name":"libcamera: pipeline: simple: Support the NXP i.MX8 ISI","version":1,"mbox":"https://patchwork.libcamera.org/series/3352/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/16881/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/16881/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 7469BBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  1 Aug 2022 00:05:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 428106331F;\n\tMon,  1 Aug 2022 02:05:57 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1B2F163316\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  1 Aug 2022 02:05:55 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A8D699AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  1 Aug 2022 02:05:54 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1659312357;\n\tbh=E3PAsvSy3WTxzdQlZAYsTOacD1wqsE8rvqeK246JCf8=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=q78hxTtATinwJC8Un2wHaxSCVubEvqLLQ+0AnEty31wstQFjr49lN3Z1C7Remu9Pw\n\tDuRbjFdetd4uLea7VGJh5Cwu7JWpU3UV3iSDgSIUfaKvg4VsCXV78a9YVkOz5P38nw\n\tY8jwlD8ejFQyoaQkLdVCVYTtwZUcyzLhxD3CiZsAh98J4YPh98UX16xKsup4V7mv/I\n\tHMMQxg4ZPHMRfgS3bmR2dqHkifc9X1aB3mQG5TYx7ypciBUN/ApaFR1wCjzShAhmHM\n\tCMU+Nq+uy0NK4MB2uMD3XDwgbrIUspKJJe1wtQZiSFu5TwBHJAyURW01PJZnIyLJQI\n\tHJLlsqG0j8NNw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1659312354;\n\tbh=E3PAsvSy3WTxzdQlZAYsTOacD1wqsE8rvqeK246JCf8=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=Q9hetGDBwp4IfumLjF3JRM0nvEcX5a1Ps/BKQdR6iHOCxIQeFnSPHu1KIquHxErQR\n\tGmspqqPPj6i/zr6gQcu7rriFx2HkQ8z9jfEEFqDtwwy6wqLhDNDanpEDcysNBF2zob\n\tgVrkveVt2QpVCduZ6+NDCpounDHN4XB7+Ux/HIDk="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Q9hetGDB\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Mon,  1 Aug 2022 03:05:34 +0300","Message-Id":"<20220801000543.3501-5-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.35.1","In-Reply-To":"<20220801000543.3501-1-laurent.pinchart@ideasonboard.com>","References":"<20220801000543.3501-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 04/13] libcamera: formats: Add AVUY8888\n\tand XVUY8888 formats","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Add missing 32-bit packet YUV 4:4:4 formats. These formats are used by\nthe i.MX8 ISI driver.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/libcamera/formats.cpp          | 26 ++++++++++++++++++++++++++\n src/libcamera/formats.yaml         |  4 ++++\n src/libcamera/v4l2_pixelformat.cpp |  4 ++++\n 3 files changed, 34 insertions(+)","diff":"diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\nindex 283ecb3d89d8..24739c01c928 100644\n--- a/src/libcamera/formats.cpp\n+++ b/src/libcamera/formats.cpp\n@@ -363,6 +363,32 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{\n \t\t.pixelsPerGroup = 2,\n \t\t.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n \t} },\n+\t{ formats::AVUY8888, {\n+\t\t.name = \"AVUY8888\",\n+\t\t.format = formats::AVUY8888,\n+\t\t.v4l2Formats = {\n+\t\t\t.single = V4L2PixelFormat(V4L2_PIX_FMT_YUVA32),\n+\t\t\t.multi = V4L2PixelFormat(),\n+\t\t},\n+\t\t.bitsPerPixel = 32,\n+\t\t.colourEncoding = PixelFormatInfo::ColourEncodingYUV,\n+\t\t.packed = false,\n+\t\t.pixelsPerGroup = 1,\n+\t\t.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n+\t} },\n+\t{ formats::XVUY8888, {\n+\t\t.name = \"XVUY8888\",\n+\t\t.format = formats::XVUY8888,\n+\t\t.v4l2Formats = {\n+\t\t\t.single = V4L2PixelFormat(V4L2_PIX_FMT_YUVX32),\n+\t\t\t.multi = V4L2PixelFormat(),\n+\t\t},\n+\t\t.bitsPerPixel = 32,\n+\t\t.colourEncoding = PixelFormatInfo::ColourEncodingYUV,\n+\t\t.packed = false,\n+\t\t.pixelsPerGroup = 1,\n+\t\t.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n+\t} },\n \n \t/* YUV planar formats. */\n \t{ formats::NV12, {\ndiff --git a/src/libcamera/formats.yaml b/src/libcamera/formats.yaml\nindex 7dda01325f33..d3fbf5f47211 100644\n--- a/src/libcamera/formats.yaml\n+++ b/src/libcamera/formats.yaml\n@@ -49,6 +49,10 @@ formats:\n       fourcc: DRM_FORMAT_UYVY\n   - VYUY:\n       fourcc: DRM_FORMAT_VYUY\n+  - AVUY8888:\n+      fourcc: DRM_FORMAT_AVUY8888\n+  - XVUY8888:\n+      fourcc: DRM_FORMAT_XVUY8888\n \n   - NV12:\n       fourcc: DRM_FORMAT_NV12\ndiff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\nindex bdcdc3be4e0c..53ac9399130a 100644\n--- a/src/libcamera/v4l2_pixelformat.cpp\n+++ b/src/libcamera/v4l2_pixelformat.cpp\n@@ -81,6 +81,10 @@ const std::map<V4L2PixelFormat, V4L2PixelFormat::Info> vpf2pf{\n \t\t{ formats::UYVY, \"UYVY 4:2:2\" } },\n \t{ V4L2PixelFormat(V4L2_PIX_FMT_VYUY),\n \t\t{ formats::VYUY, \"VYUY 4:2:2\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUVA32),\n+\t\t{ formats::AVUY8888, \"32-bit YUVA 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUVX32),\n+\t\t{ formats::XVUY8888, \"32-bit YUVX 8-8-8-8\" } },\n \n \t/* YUV planar formats. */\n \t{ V4L2PixelFormat(V4L2_PIX_FMT_NV16),\n","prefixes":["libcamera-devel","04/13"]}