From patchwork Tue Sep 7 07:13:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 13710 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id EEB91BDC71 for ; Tue, 7 Sep 2021 07:13:36 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4D9FE6916E; Tue, 7 Sep 2021 09:13:36 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="kgr/i1bR"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 57A7869166 for ; Tue, 7 Sep 2021 09:13:35 +0200 (CEST) Received: from pyrite.rasen.tech (unknown [IPv6:2400:4051:61:600:2c71:1b79:d06d:5032]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CB96F499; Tue, 7 Sep 2021 09:13:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1630998815; bh=aMy7s6rpaGOSnYxfc5O+eVl751Ic2lusE4oj6Q98dvQ=; h=From:To:Cc:Subject:Date:From; b=kgr/i1bRXKT0pbPD3utiIu3pqNM+shObMa+aTzJnWJhw2LzUdTEzCRTn7WzqEQJLc bEBnDVx/EZj44yzwGkcN3172vbMazY1ExzJkxtUslGOKlItt6unx6WEP+yAyFn2p3Y jStRXGochiptkx4ipd5iZmwEkNdWjZ3HQO3EVEEc= From: Paul Elder To: libcamera-devel@lists.libcamera.org Date: Tue, 7 Sep 2021 16:13:10 +0900 Message-Id: <20210907071311.3364713-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 1/2] libcamera: formats: Add field for name of V4L2 format X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The v4l2 compatibility layer needs to report the proper human-readable name for the V4L2 formats. To prepare for this, add a field to PixelFormatInfo to hold the V4L2 name, and populate it with the names from drivers/media/v4l2-core/v4l2-ioctl.c from the kernel. Signed-off-by: Paul Elder --- include/libcamera/internal/formats.h | 1 + src/libcamera/formats.cpp | 58 ++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/include/libcamera/internal/formats.h b/include/libcamera/internal/formats.h index 51a8a6b8..82ab9a02 100644 --- a/include/libcamera/internal/formats.h +++ b/include/libcamera/internal/formats.h @@ -52,6 +52,7 @@ public: const char *name; PixelFormat format; V4L2PixelFormat v4l2Format; + const char *v4l2Name; unsigned int bitsPerPixel; enum ColourEncoding colourEncoding; bool packed; diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp index 603d8861..0fb29fb5 100644 --- a/src/libcamera/formats.cpp +++ b/src/libcamera/formats.cpp @@ -57,6 +57,10 @@ LOG_DEFINE_CATEGORY(Formats) * \var PixelFormatInfo::v4l2Format * \brief The V4L2 pixel format corresponding to the PixelFormat * + * \var PixelFormatInfo::v4l2Name + * \brief The human-readable name of the V4L2 pixel format corresponding to the + * PixelFormat + * * \var PixelFormatInfo::bitsPerPixel * \brief The average number of bits per pixel * @@ -149,6 +153,7 @@ const std::map pixelFormatInfo{ .name = "RGB565", .format = formats::RGB565, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGB565), + .v4l2Name = "16-bit RGB 5-6-5", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -159,6 +164,7 @@ const std::map pixelFormatInfo{ .name = "RGB565_BE", .format = formats::RGB565_BE, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGB565X), + .v4l2Name = "16-bit RGB 5-6-5 BE", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -169,6 +175,7 @@ const std::map pixelFormatInfo{ .name = "BGR888", .format = formats::BGR888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGB24), + .v4l2Name = "24-bit RGB 8-8-8", .bitsPerPixel = 24, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -179,6 +186,7 @@ const std::map pixelFormatInfo{ .name = "RGB888", .format = formats::RGB888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_BGR24), + .v4l2Name = "24-bit BGR 8-8-8", .bitsPerPixel = 24, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -189,6 +197,7 @@ const std::map pixelFormatInfo{ .name = "XRGB8888", .format = formats::XRGB8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XBGR32), + .v4l2Name = "32-bit BGRX 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -199,6 +208,7 @@ const std::map pixelFormatInfo{ .name = "XBGR8888", .format = formats::XBGR8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGBX32), + .v4l2Name = "32-bit RGBX 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -209,6 +219,7 @@ const std::map pixelFormatInfo{ .name = "BGRX8888", .format = formats::BGRX8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), + .v4l2Name = "32-bit XRGB 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -219,6 +230,7 @@ const std::map pixelFormatInfo{ .name = "ABGR8888", .format = formats::ABGR8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGBA32), + .v4l2Name = "32-bit RGBA 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -229,6 +241,7 @@ const std::map pixelFormatInfo{ .name = "ARGB8888", .format = formats::ARGB8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_ABGR32), + .v4l2Name = "32-bit BGRA 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -239,6 +252,7 @@ const std::map pixelFormatInfo{ .name = "BGRA8888", .format = formats::BGRA8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_ARGB32), + .v4l2Name = "32-bit ARGB 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -249,6 +263,7 @@ const std::map pixelFormatInfo{ .name = "RGBA8888", .format = formats::RGBA8888, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_BGRA32), + .v4l2Name = "32-bit ABGR 8-8-8-8", .bitsPerPixel = 32, .colourEncoding = PixelFormatInfo::ColourEncodingRGB, .packed = false, @@ -261,6 +276,7 @@ const std::map pixelFormatInfo{ .name = "YUYV", .format = formats::YUYV, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_YUYV), + .v4l2Name = "YUYV 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -271,6 +287,7 @@ const std::map pixelFormatInfo{ .name = "YVYU", .format = formats::YVYU, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_YVYU), + .v4l2Name = "YVYU 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -281,6 +298,7 @@ const std::map pixelFormatInfo{ .name = "UYVY", .format = formats::UYVY, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_UYVY), + .v4l2Name = "UYVY 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -291,6 +309,7 @@ const std::map pixelFormatInfo{ .name = "VYUY", .format = formats::VYUY, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_VYUY), + .v4l2Name = "VYUY 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -303,6 +322,7 @@ const std::map pixelFormatInfo{ .name = "NV12", .format = formats::NV12, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_NV12), + .v4l2Name = "Y/CbCr 4:2:0", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -313,6 +333,7 @@ const std::map pixelFormatInfo{ .name = "NV21", .format = formats::NV21, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_NV21), + .v4l2Name = "Y/CrCb 4:2:0", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -323,6 +344,7 @@ const std::map pixelFormatInfo{ .name = "NV16", .format = formats::NV16, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_NV16), + .v4l2Name = "Y/CbCr 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -333,6 +355,7 @@ const std::map pixelFormatInfo{ .name = "NV61", .format = formats::NV61, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_NV61), + .v4l2Name = "Y/CrCb 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -343,6 +366,7 @@ const std::map pixelFormatInfo{ .name = "NV24", .format = formats::NV24, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_NV24), + .v4l2Name = "Y/CbCr 4:4:4", .bitsPerPixel = 24, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -353,6 +377,7 @@ const std::map pixelFormatInfo{ .name = "NV42", .format = formats::NV42, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_NV42), + .v4l2Name = "Y/CrCb 4:4:4", .bitsPerPixel = 24, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -363,6 +388,7 @@ const std::map pixelFormatInfo{ .name = "YUV420", .format = formats::YUV420, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_YUV420), + .v4l2Name = "Planar YUV 4:2:0", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -373,6 +399,7 @@ const std::map pixelFormatInfo{ .name = "YVU420", .format = formats::YVU420, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_YVU420), + .v4l2Name = "Planar YVU 4:2:0", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -383,6 +410,7 @@ const std::map pixelFormatInfo{ .name = "YUV422", .format = formats::YUV422, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_YUV422P), + .v4l2Name = "Planar YUV 4:2:2", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -395,6 +423,7 @@ const std::map pixelFormatInfo{ .name = "R8", .format = formats::R8, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_GREY), + .v4l2Name = "8-bit Greyscale", .bitsPerPixel = 8, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false, @@ -407,6 +436,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR8", .format = formats::SBGGR8, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR8), + .v4l2Name = "8-bit Bayer BGBG/GRGR", .bitsPerPixel = 8, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -417,6 +447,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG8", .format = formats::SGBRG8, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG8), + .v4l2Name = "8-bit Bayer GBGB/RGRG", .bitsPerPixel = 8, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -427,6 +458,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG8", .format = formats::SGRBG8, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG8), + .v4l2Name = "8-bit Bayer GRGR/BGBG", .bitsPerPixel = 8, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -437,6 +469,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB8", .format = formats::SRGGB8, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB8), + .v4l2Name = "8-bit Bayer RGRG/GBGB", .bitsPerPixel = 8, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -447,6 +480,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR10", .format = formats::SBGGR10, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10), + .v4l2Name = "10-bit Bayer BGBG/GRGR", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -457,6 +491,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG10", .format = formats::SGBRG10, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10), + .v4l2Name = "10-bit Bayer GBGB/RGRG", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -467,6 +502,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG10", .format = formats::SGRBG10, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10), + .v4l2Name = "10-bit Bayer GRGR/BGBG", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -477,6 +513,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB10", .format = formats::SRGGB10, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10), + .v4l2Name = "10-bit Bayer RGRG/GBGB", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -487,6 +524,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR10_CSI2P", .format = formats::SBGGR10_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10P), + .v4l2Name = "10-bit Bayer BGBG/GRGR Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -497,6 +535,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG10_CSI2P", .format = formats::SGBRG10_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10P), + .v4l2Name = "10-bit Bayer GBGB/RGRG Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -507,6 +546,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG10_CSI2P", .format = formats::SGRBG10_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10P), + .v4l2Name = "10-bit Bayer GRGR/BGBG Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -517,6 +557,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB10_CSI2P", .format = formats::SRGGB10_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10P), + .v4l2Name = "10-bit Bayer RGRG/GBGB Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -527,6 +568,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR12", .format = formats::SBGGR12, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12), + .v4l2Name = "12-bit Bayer BGBG/GRGR", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -537,6 +579,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG12", .format = formats::SGBRG12, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12), + .v4l2Name = "12-bit Bayer GBGB/RGRG", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -547,6 +590,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG12", .format = formats::SGRBG12, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12), + .v4l2Name = "12-bit Bayer GRGR/BGBG", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -557,6 +601,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB12", .format = formats::SRGGB12, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12), + .v4l2Name = "12-bit Bayer RGRG/GBGB", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -567,6 +612,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR12_CSI2P", .format = formats::SBGGR12_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12P), + .v4l2Name = "12-bit Bayer BGBG/GRGR Packed", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -577,6 +623,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG12_CSI2P", .format = formats::SGBRG12_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12P), + .v4l2Name = "12-bit Bayer GBGB/RGRG Packed", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -587,6 +634,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG12_CSI2P", .format = formats::SGRBG12_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P), + .v4l2Name = "12-bit Bayer GRGR/BGBG Packed", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -597,6 +645,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB12_CSI2P", .format = formats::SRGGB12_CSI2P, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P), + .v4l2Name = "12-bit Bayer RGRG/GBGB Packed", .bitsPerPixel = 12, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -607,6 +656,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR16", .format = formats::SBGGR16, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16), + .v4l2Name = "16-bit Bayer BGBG/GRGR", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -617,6 +667,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG16", .format = formats::SGBRG16, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGBRG16), + .v4l2Name = "16-bit Bayer GBGB/RGRG", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -627,6 +678,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG16", .format = formats::SGRBG16, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SGRBG16), + .v4l2Name = "16-bit Bayer GRGR/BGBG", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -637,6 +689,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB16", .format = formats::SRGGB16, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_SRGGB16), + .v4l2Name = "16-bit Bayer RGRG/GBGB", .bitsPerPixel = 16, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = false, @@ -647,6 +700,7 @@ const std::map pixelFormatInfo{ .name = "SBGGR10_IPU3", .format = formats::SBGGR10_IPU3, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SBGGR10), + .v4l2Name = "10-bit bayer BGGR IPU3 Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -658,6 +712,7 @@ const std::map pixelFormatInfo{ .name = "SGBRG10_IPU3", .format = formats::SGBRG10_IPU3, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGBRG10), + .v4l2Name = "10-bit bayer GBRG IPU3 Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -668,6 +723,7 @@ const std::map pixelFormatInfo{ .name = "SGRBG10_IPU3", .format = formats::SGRBG10_IPU3, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGRBG10), + .v4l2Name = "10-bit bayer GRBG IPU3 Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -678,6 +734,7 @@ const std::map pixelFormatInfo{ .name = "SRGGB10_IPU3", .format = formats::SRGGB10_IPU3, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SRGGB10), + .v4l2Name = "10-bit bayer RGGB IPU3 Packed", .bitsPerPixel = 10, .colourEncoding = PixelFormatInfo::ColourEncodingRAW, .packed = true, @@ -690,6 +747,7 @@ const std::map pixelFormatInfo{ .name = "MJPEG", .format = formats::MJPEG, .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_MJPEG), + .v4l2Name = "Motion-JPEG", .bitsPerPixel = 0, .colourEncoding = PixelFormatInfo::ColourEncodingYUV, .packed = false,