{"id":13761,"url":"https://patchwork.libcamera.org/api/patches/13761/?format=json","web_url":"https://patchwork.libcamera.org/patch/13761/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20210908081437.4022697-3-paul.elder@ideasonboard.com>","date":"2021-09-08T08:14:32","name":"[libcamera-devel,v2,2/7] libcamera: v4l2_pixelformat: Add V4L2 description strings","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"2f4580b8052903450ac2fb14a0c8089e80936e50","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/13761/mbox/","series":[{"id":2497,"url":"https://patchwork.libcamera.org/api/series/2497/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2497","date":"2021-09-08T08:14:30","name":"v4l2-compat fixes","version":2,"mbox":"https://patchwork.libcamera.org/series/2497/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/13761/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/13761/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 9A81EBDB1D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  8 Sep 2021 08:14:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 55AFA69172;\n\tWed,  8 Sep 2021 10:14:57 +0200 (CEST)","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 9CF1D69171\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  8 Sep 2021 10:14:54 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 29318993;\n\tWed,  8 Sep 2021 10:14:52 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"diXWxtTY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1631088894;\n\tbh=JMejc/MaHIdBY1OFL9mVei5n5wJLR7z8pnQPG/Av6j8=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=diXWxtTYiTReo5XhCyrfNvB7abuNn8r2QlXGbb/5u0JBtvl6n6xp0lTBYCAaacDxD\n\tpRpvMQWGCU9aLDXDqszzsXFduz4swGJpBhleVqLw6xYKOjAesKdrCpbPw144AQ+Bwg\n\tjUd/EyQRFn3wsJZCUmSBj3OguoWuysYkRZ4ESUqE=","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed,  8 Sep 2021 17:14:32 +0900","Message-Id":"<20210908081437.4022697-3-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.27.0","In-Reply-To":"<20210908081437.4022697-1-paul.elder@ideasonboard.com>","References":"<20210908081437.4022697-1-paul.elder@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 2/7] libcamera: v4l2_pixelformat: Add\n\tV4L2 description strings","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>"},"content":"Add V4L2 description strings to the map of V4L2 formats. To achieve\nthis, create an Info struct to wrap them. Update the one current user of\nthe old map.\n\nThis will be used later in the V4L2 compatibility layer to report the\nV4L2 format description.\n\nSigned-off-by: Paul Elder <paul.elder@ideasonboard.com>\n---\n include/libcamera/internal/v4l2_pixelformat.h |   5 +\n src/libcamera/v4l2_pixelformat.cpp            | 182 ++++++++++++------\n 2 files changed, 130 insertions(+), 57 deletions(-)","diff":"diff --git a/include/libcamera/internal/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h\nindex 560c5c53..36c690db 100644\n--- a/include/libcamera/internal/v4l2_pixelformat.h\n+++ b/include/libcamera/internal/v4l2_pixelformat.h\n@@ -20,6 +20,11 @@ namespace libcamera {\n class V4L2PixelFormat\n {\n public:\n+\tstruct Info {\n+\t\tPixelFormat format;\n+\t\tconst char *name;\n+\t};\n+\n \tV4L2PixelFormat()\n \t\t: fourcc_(0)\n \t{\ndiff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\nindex d1f3a42f..e0956442 100644\n--- a/src/libcamera/v4l2_pixelformat.cpp\n+++ b/src/libcamera/v4l2_pixelformat.cpp\n@@ -45,77 +45,145 @@ LOG_DECLARE_CATEGORY(V4L2)\n \n namespace {\n \n-const std::map<V4L2PixelFormat, PixelFormat> vpf2pf{\n+const std::map<V4L2PixelFormat, V4L2PixelFormat::Info> vpf2pf{\n \t/* RGB formats. */\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB565), formats::RGB565 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB565X), formats::RGB565_BE },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB24), formats::BGR888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_BGR24), formats::RGB888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_XBGR32), formats::XRGB8888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), formats::BGRX8888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGBX32), formats::XBGR8888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGBA32), formats::ABGR8888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_ABGR32), formats::ARGB8888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_ARGB32), formats::BGRA8888 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_BGRA32), formats::RGBA8888 },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB565),\n+\t\t{ formats::RGB565, \"16-bit RGB 5-6-5\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB565X),\n+\t\t{ formats::RGB565_BE, \"16-bit RGB 5-6-5 BE\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB24),\n+\t\t{ formats::BGR888, \"24-bit RGB 8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_BGR24),\n+\t\t{ formats::RGB888, \"24-bit BGR 8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_XBGR32),\n+\t\t{ formats::XRGB8888, \"32-bit BGRX 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),\n+\t\t{ formats::BGRX8888, \"32-bit XRGB 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGBX32),\n+\t\t{ formats::XBGR8888, \"32-bit RGBX 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGBA32),\n+\t\t{ formats::ABGR8888, \"32-bit RGBA 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_ABGR32),\n+\t\t{ formats::ARGB8888, \"32-bit BGRA 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_ARGB32),\n+\t\t{ formats::BGRA8888, \"32-bit ARGB 8-8-8-8\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_BGRA32),\n+\t\t{ formats::RGBA8888, \"32-bit ABGR 8-8-8-8\" } },\n \n \t/* YUV packed formats. */\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUYV), formats::YUYV },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVYU), formats::YVYU },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_UYVY), formats::UYVY },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_VYUY), formats::VYUY },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUYV),\n+\t\t{ formats::YUYV, \"YUYV 4:2:2\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVYU),\n+\t\t{ formats::YVYU, \"YVYU 4:2:2\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_UYVY),\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 \n \t/* YUV planar formats. */\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV16), formats::NV16 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV16M), formats::NV16 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV61), formats::NV61 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV61M), formats::NV61 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV12), formats::NV12 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV12M), formats::NV12 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV21), formats::NV21 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV21M), formats::NV21 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV420), formats::YUV420 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV420M), formats::YUV420 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVU420), formats::YVU420 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVU420M), formats::YVU420 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV422P), formats::YUV422 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV422M), formats::YUV422 },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV16),\n+\t\t{ formats::NV16, \"Y/CbCr 4:2:2\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV16M),\n+\t\t{ formats::NV16, \"Y/CbCr 4:2:2 (N-C)\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV61),\n+\t\t{ formats::NV61, \"Y/CrCb 4:2:2\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV61M),\n+\t\t{ formats::NV61, \"Y/CrCb 4:2:2 (N-C)\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV12),\n+\t\t{ formats::NV12, \"Y/CbCr 4:2:0\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV12M),\n+\t\t{ formats::NV12, \"Y/CbCr 4:2:0 (N-C)\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV21),\n+\t\t{ formats::NV21, \"Y/CrCb 4:2:0\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_NV21M),\n+\t\t{ formats::NV21, \"Y/CrCb 4:2:0 (N-C)\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV420),\n+\t\t{ formats::YUV420, \"Planar YUV 4:2:0\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV420M),\n+\t\t{ formats::YUV420, \"Planar YUV 4:2:0 (N-C)\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVU420),\n+\t\t{ formats::YVU420, \"Planar YVU 4:2:0\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YVU420M),\n+\t\t{ formats::YVU420, \"Planar YVU 4:2:0 (N-C)\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV422P),\n+\t\t{ formats::YUV422, \"Planar YUV 4:2:2\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_YUV422M),\n+\t\t{ formats::YUV422, \"Planar YUV 4:2:2 (N-C)\" } },\n \n \t/* Greyscale formats. */\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_GREY), formats::R8 },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_GREY),\n+\t\t{ formats::R8, \"8-bit Greyscale\" } },\n \n \t/* Bayer formats. */\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR8), formats::SBGGR8 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG8), formats::SGBRG8 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG8), formats::SGRBG8 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB8), formats::SRGGB8 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10), formats::SBGGR10 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10), formats::SGBRG10 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10), formats::SGRBG10 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10), formats::SRGGB10 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10P), formats::SBGGR10_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10P), formats::SGBRG10_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10P), formats::SGRBG10_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10P), formats::SRGGB10_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12), formats::SBGGR12 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12), formats::SGBRG12 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12), formats::SGRBG12 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12), formats::SRGGB12 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12P), formats::SBGGR12_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12P), formats::SGBRG12_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P), formats::SGRBG12_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P), formats::SRGGB12_CSI2P },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16), formats::SBGGR16 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG16), formats::SGBRG16 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG16), formats::SGRBG16 },\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB16), formats::SRGGB16 },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR8),\n+\t\t{ formats::SBGGR8, \"8-bit Bayer BGBG/GRGR\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG8),\n+\t\t{ formats::SGBRG8, \"8-bit Bayer GBGB/RGRG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG8),\n+\t\t{ formats::SGRBG8, \"8-bit Bayer GRGR/BGBG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB8),\n+\t\t{ formats::SRGGB8, \"8-bit Bayer RGRG/GBGB\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10),\n+\t\t{ formats::SBGGR10, \"10-bit Bayer BGBG/GRGR\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10),\n+\t\t{ formats::SGBRG10, \"10-bit Bayer GBGB/RGRG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10),\n+\t\t{ formats::SGRBG10, \"10-bit Bayer GRGR/BGBG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10),\n+\t\t{ formats::SRGGB10, \"10-bit Bayer RGRG/GBGB\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR10P),\n+\t\t{ formats::SBGGR10_CSI2P, \"10-bit Bayer BGBG/GRGR Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG10P),\n+\t\t{ formats::SGBRG10_CSI2P, \"10-bit Bayer GBGB/RGRG Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG10P),\n+\t\t{ formats::SGRBG10_CSI2P, \"10-bit Bayer GRGR/BGBG Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB10P),\n+\t\t{ formats::SRGGB10_CSI2P, \"10-bit Bayer RGRG/GBGB Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12),\n+\t\t{ formats::SBGGR12, \"12-bit Bayer BGBG/GRGR\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12),\n+\t\t{ formats::SGBRG12, \"12-bit Bayer GBGB/RGRG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12),\n+\t\t{ formats::SGRBG12, \"12-bit Bayer GRGR/BGBG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12),\n+\t\t{ formats::SRGGB12, \"12-bit Bayer RGRG/GBGB\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR12P),\n+\t\t{ formats::SBGGR12_CSI2P, \"12-bit Bayer BGBG/GRGR Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG12P),\n+\t\t{ formats::SGBRG12_CSI2P, \"12-bit Bayer GBGB/RGRG Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG12P),\n+\t\t{ formats::SGRBG12_CSI2P, \"12-bit Bayer GRGR/BGBG Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB12P),\n+\t\t{ formats::SRGGB12_CSI2P, \"12-bit Bayer RGRG/GBGB Packed\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SBGGR16),\n+\t\t{ formats::SBGGR16, \"16-bit Bayer BGBG/GRGR\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGBRG16),\n+\t\t{ formats::SGBRG16, \"16-bit Bayer GBGB/RGRG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SGRBG16),\n+\t\t{ formats::SGRBG16, \"16-bit Bayer GRGR/BGBG\" } },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_SRGGB16),\n+\t\t{ formats::SRGGB16, \"16-bit Bayer RGRG/GBGB\" } },\n \n \t/* Compressed formats. */\n-\t{ V4L2PixelFormat(V4L2_PIX_FMT_MJPEG), formats::MJPEG },\n+\t{ V4L2PixelFormat(V4L2_PIX_FMT_MJPEG),\n+\t\t{ formats::MJPEG, \"Motion-JPEG\" } },\n };\n \n } /* namespace */\n \n+/**\n+ * \\struct V4L2PixelFormat::Info\n+ * \\brief Information about a V4L2 format\n+ *\n+ * \\var V4L2PixelFormat::Info::format\n+ * \\brief The corresponding libcamera PixelFormat\n+ *\n+ * \\sa PixelFormat\n+ *\n+ * \\var V4L2PixelFormat::Info::name\n+ * \\brief The human-readable description of the V4L2 format\n+ */\n+\n /**\n  * \\fn V4L2PixelFormat::V4L2PixelFormat()\n  * \\brief Construct a V4L2PixelFormat with an invalid format\n@@ -192,7 +260,7 @@ PixelFormat V4L2PixelFormat::toPixelFormat() const\n \t\treturn PixelFormat();\n \t}\n \n-\treturn iter->second;\n+\treturn iter->second.format;\n }\n \n /**\n","prefixes":["libcamera-devel","v2","2/7"]}