[{"id":20551,"web_url":"https://patchwork.libcamera.org/comment/20551/","msgid":"<163533065481.1184428.17773852472794110926@Monstersaurus>","date":"2021-10-27T10:30:54","subject":"Re: [libcamera-devel] [PATCH v3 2/9] libcamera: formats: Add R10\n\tand R12 formats","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Naushir Patuck (2021-10-27 10:27:56)\n> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> These new formats corresponds to the V4L2 V4L2_PIX_FMT_Y10 and\n> V4L2_PIX_FMT_Y12 formats, and are the little-endian version of the\n> DRM_FORMAT_R10 and DRM_FORMAT_R12 formats.\n> \n\nAssuming the DRM format names aren't going to be likely to change:\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.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(+)\n> \n> diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\n> index 1c29e1f2c5ab..9f96e9dc4e41 100644\n> --- a/src/libcamera/formats.cpp\n> +++ b/src/libcamera/formats.cpp\n> @@ -484,6 +484,32 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{\n>                 .pixelsPerGroup = 1,\n>                 .planes = {{ { 1, 1 }, { 0, 0 }, { 0, 0 } }},\n>         } },\n> +       { formats::R10, {\n> +               .name = \"R10\",\n> +               .format = formats::R10,\n> +               .v4l2Formats = {\n> +                       .single = V4L2PixelFormat(V4L2_PIX_FMT_Y10),\n> +                       .multi = V4L2PixelFormat(),\n> +               },\n> +               .bitsPerPixel = 10,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingYUV,\n> +               .packed = false,\n> +               .pixelsPerGroup = 1,\n> +               .planes = {{ { 2, 1 }, { 0, 0 }, { 0, 0 } }},\n> +       } },\n> +       { formats::R12, {\n> +               .name = \"R12\",\n> +               .format = formats::R12,\n> +               .v4l2Formats = {\n> +                       .single = V4L2PixelFormat(V4L2_PIX_FMT_Y12),\n> +                       .multi = V4L2PixelFormat(),\n> +               },\n> +               .bitsPerPixel = 10,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingYUV,\n> +               .packed = false,\n> +               .pixelsPerGroup = 1,\n> +               .planes = {{ { 2, 1 }, { 0, 0 }, { 0, 0 } }},\n> +       } },\n>  \n>         /* Bayer formats. */\n>         { formats::SBGGR8, {\n> diff --git a/src/libcamera/formats.yaml b/src/libcamera/formats.yaml\n> index 43b5877e08f2..22a8e473a183 100644\n> --- a/src/libcamera/formats.yaml\n> +++ b/src/libcamera/formats.yaml\n> @@ -7,6 +7,10 @@\n>  formats:\n>    - R8:\n>        fourcc: DRM_FORMAT_R8\n> +  - R10:\n> +      fourcc: DRM_FORMAT_R10\n> +  - R12:\n> +      fourcc: DRM_FORMAT_R12\n>  \n>    - RGB565:\n>        fourcc: DRM_FORMAT_RGB565\n> diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\n> index 3649c6002620..0e0da3f0df07 100644\n> --- a/src/libcamera/v4l2_pixelformat.cpp\n> +++ b/src/libcamera/v4l2_pixelformat.cpp\n> @@ -117,6 +117,10 @@ const std::map<V4L2PixelFormat, V4L2PixelFormat::Info> vpf2pf{\n>         /* Greyscale formats. */\n>         { V4L2PixelFormat(V4L2_PIX_FMT_GREY),\n>                 { formats::R8, \"8-bit Greyscale\" } },\n> +       { V4L2PixelFormat(V4L2_PIX_FMT_Y10),\n> +               { formats::R10, \"10-bit Greyscale\" } },\n> +       { V4L2PixelFormat(V4L2_PIX_FMT_Y12),\n> +               { formats::R12, \"12-bit Greyscale\" } },\n>  \n>         /* Bayer formats. */\n>         { V4L2PixelFormat(V4L2_PIX_FMT_SBGGR8),\n> -- \n> 2.25.1\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 36225BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Oct 2021 10:31:00 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7682F6487F;\n\tWed, 27 Oct 2021 12:30:59 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BDB3260123\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Oct 2021 12:30:57 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6F8E5596;\n\tWed, 27 Oct 2021 12:30:57 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"vTLgY0TT\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1635330657;\n\tbh=thfgqOvbUQNAJkIa6RpJMRkP/nn6c9PdS+B2BXgl1v8=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=vTLgY0TTKHix1HlQilq1J8lR2MDtLBU0DDAztWhsFlCl0DvLEy7G46XW4NzEWMLjy\n\tfMo2wFDWZyjHLBtad6CmZq0dC8aATsi1VSHH7cp4R3urbYNDTBVzdX9Dn1kOdfXPWB\n\tWN0pAH1Es+LdjoPLtn1BATKM9JyO3mHmIPW12IoM=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20211027092803.3671096-3-naush@raspberrypi.com>","References":"<20211027092803.3671096-1-naush@raspberrypi.com>\n\t<20211027092803.3671096-3-naush@raspberrypi.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"Naushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 27 Oct 2021 11:30:54 +0100","Message-ID":"<163533065481.1184428.17773852472794110926@Monstersaurus>","User-Agent":"alot/0.9.1","Subject":"Re: [libcamera-devel] [PATCH v3 2/9] libcamera: formats: Add R10\n\tand R12 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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]