[{"id":36553,"web_url":"https://patchwork.libcamera.org/comment/36553/","msgid":"<om56xuse6eyatgq4xyijdftyp7pzexstw22cahiwslqekbivpb@psry53liibux>","date":"2025-10-30T11:49:39","subject":"Re: [PATCH 06/10] libcamera: bayer_format: Add entries for the CRU\n\tpacked RAWnn formats","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Dan\n\nOn Thu, Jul 24, 2025 at 07:52:52AM +0100, Daniel Scally wrote:\n> Add entries to bayer_format.pp describing the CRU packed, bayer order\n> agnostic formats.\n>\n> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> ---\n>  src/libcamera/bayer_format.cpp | 8 ++++++++\n>  1 file changed, 8 insertions(+)\n>\n> diff --git a/src/libcamera/bayer_format.cpp b/src/libcamera/bayer_format.cpp\n> index 686a5c1e..1e016a6a 100644\n> --- a/src/libcamera/bayer_format.cpp\n> +++ b/src/libcamera/bayer_format.cpp\n> @@ -133,6 +133,8 @@ const std::map<BayerFormat, Formats, BayerFormatComparator> bayerToFormat{\n>  \t\t{ formats::SGRBG10_IPU3, V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGRBG10) } },\n>  \t{ { BayerFormat::RGGB, 10, BayerFormat::Packing::IPU3 },\n>  \t\t{ formats::SRGGB10_IPU3, V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SRGGB10) } },\n> +\t{ { BayerFormat::NONE, 10, BayerFormat::Packing::CRU },\n> +\t\t{ formats::RAW10_CRU, V4L2PixelFormat(V4L2_PIX_FMT_RAW_CRU10) } },\n>  \t{ { BayerFormat::BGGR, 12, BayerFormat::Packing::None },\n>  \t\t{ formats::SBGGR12, V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12) } },\n>  \t{ { BayerFormat::GBRG, 12, BayerFormat::Packing::None },\n> @@ -149,6 +151,8 @@ const std::map<BayerFormat, Formats, BayerFormatComparator> bayerToFormat{\n>  \t\t{ formats::SGRBG12_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P) } },\n>  \t{ { BayerFormat::RGGB, 12, BayerFormat::Packing::CSI2 },\n>  \t\t{ formats::SRGGB12_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P) } },\n> +\t{ { BayerFormat::NONE, 12, BayerFormat::Packing::CRU },\n> +\t\t{ formats::RAW12_CRU, V4L2PixelFormat(V4L2_PIX_FMT_RAW_CRU12) } },\n>  \t{ { BayerFormat::BGGR, 14, BayerFormat::Packing::None },\n>  \t\t{ formats::SBGGR14, V4L2PixelFormat(V4L2_PIX_FMT_SBGGR14) } },\n>  \t{ { BayerFormat::GBRG, 14, BayerFormat::Packing::None },\n> @@ -165,6 +169,8 @@ const std::map<BayerFormat, Formats, BayerFormatComparator> bayerToFormat{\n>  \t\t{ formats::SGRBG14_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SGRBG14P) } },\n>  \t{ { BayerFormat::RGGB, 14, BayerFormat::Packing::CSI2 },\n>  \t\t{ formats::SRGGB14_CSI2P, V4L2PixelFormat(V4L2_PIX_FMT_SRGGB14P) } },\n> +\t{ { BayerFormat::NONE, 14, BayerFormat::Packing::CRU },\n> +\t\t{ formats::RAW14_CRU, V4L2PixelFormat(V4L2_PIX_FMT_RAW_CRU14) } },\n>  \t{ { BayerFormat::BGGR, 16, BayerFormat::Packing::None },\n>  \t\t{ formats::SBGGR16, V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16) } },\n>  \t{ { BayerFormat::GBRG, 16, BayerFormat::Packing::None },\n> @@ -195,6 +201,8 @@ const std::map<BayerFormat, Formats, BayerFormatComparator> bayerToFormat{\n>  \t\t{ formats::R16, V4L2PixelFormat(V4L2_PIX_FMT_Y16) } },\n>  \t{ { BayerFormat::MONO, 16, BayerFormat::Packing::PISP1 },\n>  \t\t{ formats::MONO_PISP_COMP1, V4L2PixelFormat(V4L2_PIX_FMT_PISP_COMP1_MONO) } },\n> +\t{ { BayerFormat::NONE, 20, BayerFormat::Packing::CRU },\n> +\t\t{ formats::RAW20_CRU, V4L2PixelFormat(V4L2_PIX_FMT_RAW_CRU20) } },\n\nAh, I've now found where the 20 bits format are documented, in the RZ\nV2H TRM but I still can't find them on the G2L one.\n\nI would be interesting to know if the documentation is out-of-date for\nthe G2L or thereactually are differences between the two version.\n\nAnyway, we don't really care about G2L as it doesn't have an ISP, so\nV2H is our reference (another reason for not mentioning G2L anywhere\nin this series).\n\nFor this patch\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\n\n>  };\n>\n>  const std::unordered_map<unsigned int, BayerFormat> mbusCodeToBayer{\n> --\n> 2.30.2\n>","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 5EFB3C3259\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Oct 2025 11:49:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 79752608CB;\n\tThu, 30 Oct 2025 12:49:43 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4C55D60891\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Oct 2025 12:49:42 +0100 (CET)","from ideasonboard.com (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2243116C5;\n\tThu, 30 Oct 2025 12:47:52 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"fIWDeQug\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761824872;\n\tbh=zw7pPa9d6V4KO6ZWtzB4kTNom/viXTldPQ69wvMhGto=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=fIWDeQugW97uTfPbUHWjiwRjKDC3JtLvWBhmwNiE9r/cp1Z6zKurC90HFVVPyZKVl\n\t8h1q1SBQYRKBgKPyfMTybf7X9uD98NUlp2TzHDcWoZ+UnCdRbc9tHkbOi4o7uq2gOU\n\t5H0/p4ilWmCRV+FKy6lYEIhlzdH/5RLUY9Z7VZTc=","Date":"Thu, 30 Oct 2025 12:49:39 +0100","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Daniel Scally <dan.scally@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 06/10] libcamera: bayer_format: Add entries for the CRU\n\tpacked RAWnn formats","Message-ID":"<om56xuse6eyatgq4xyijdftyp7pzexstw22cahiwslqekbivpb@psry53liibux>","References":"<20250724065256.75175-1-dan.scally@ideasonboard.com>\n\t<20250724065256.75175-7-dan.scally@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20250724065256.75175-7-dan.scally@ideasonboard.com>","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]