[{"id":32940,"web_url":"https://patchwork.libcamera.org/comment/32940/","msgid":"<173625683181.2992722.7820365323526179458@ping.linuxembedded.co.uk>","date":"2025-01-07T13:33:51","subject":"Re: [PATCH v2 3/6] libcamera: v4l2_subdevice: Add new metadata\n\tformats","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jacopo Mondi (2024-11-08 10:51:13)\n> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> Support the newly introduced V4L2 media bus formats for metadata. This\n> includes generic metadata formats, and two sensor-specific embedded data\n> formats.\n\nTwo sensor specific formats ? I only see MEDIA_BUS_FMT_OV2740_EMBEDDED,\nor does this 'include' MEDIA_BUS_FMT_CCS_EMBEDDED?\n\nAnyway, It doesn't worry me.\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> ---\n>  src/libcamera/v4l2_subdevice.cpp | 63 ++++++++++++++++++++++++++++++++\n>  1 file changed, 63 insertions(+)\n> \n> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> index 9f2ec4798407..f65dd6593c99 100644\n> --- a/src/libcamera/v4l2_subdevice.cpp\n> +++ b/src/libcamera/v4l2_subdevice.cpp\n> @@ -700,6 +700,69 @@ const std::map<uint32_t, MediaBusFormatInfo> mediaBusFormatInfo{\n>                 .bitsPerPixel = 0,\n>                 .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n>         } },\n> +       { MEDIA_BUS_FMT_META_8, {\n> +               .name = \"META_8\",\n> +               .code = MEDIA_BUS_FMT_META_8,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 8,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_META_10, {\n> +               .name = \"META_10\",\n> +               .code = MEDIA_BUS_FMT_META_10,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 10,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_META_12, {\n> +               .name = \"META_12\",\n> +               .code = MEDIA_BUS_FMT_META_12,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 12,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_META_14, {\n> +               .name = \"META_14\",\n> +               .code = MEDIA_BUS_FMT_META_14,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 14,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_META_16, {\n> +               .name = \"META_16\",\n> +               .code = MEDIA_BUS_FMT_META_16,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 16,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_META_20, {\n> +               .name = \"META_20\",\n> +               .code = MEDIA_BUS_FMT_META_20,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 20,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_META_24, {\n> +               .name = \"META_24\",\n> +               .code = MEDIA_BUS_FMT_META_24,\n> +               .type = MediaBusFormatInfo::Type::Metadata,\n> +               .bitsPerPixel = 24,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_CCS_EMBEDDED, {\n> +               .name = \"CCS_EMBEDDED\",\n> +               .code = MEDIA_BUS_FMT_CCS_EMBEDDED,\n> +               .type = MediaBusFormatInfo::Type::EmbeddedData,\n> +               .bitsPerPixel = 0,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n> +       { MEDIA_BUS_FMT_OV2740_EMBEDDED, {\n> +               .name = \"OV2740_EMBEDDED\",\n> +               .code = MEDIA_BUS_FMT_CCS_EMBEDDED,\n> +               .type = MediaBusFormatInfo::Type::EmbeddedData,\n> +               .bitsPerPixel = 0,\n> +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> +       } },\n>  };\n>  \n>  } /* namespace */\n> -- \n> 2.47.0\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 F413DC32DC\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  7 Jan 2025 13:33:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C474D684E2;\n\tTue,  7 Jan 2025 14:33:56 +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 D29B5684CD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  7 Jan 2025 14:33:54 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8A9058CC;\n\tTue,  7 Jan 2025 14:33:02 +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=\"YksI9Jr/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1736256782;\n\tbh=0BycP1SzsTn5B9xmmbk+cvzs0EEgcpqOj56odHM/aK0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=YksI9Jr/XMhT24DvXrAW9/cFQp9Q2uNch6hM3HEZH5IKRwsTeq3bv8np06eBhsKli\n\tCBMXu8ustF9NCdjL7mJ+8guB52lDrRxe2hI+ppZ02W2L6aFhhGOA4RfQxcfYaywzYS\n\tMvLNOayzqMDLzTQ/MhNuA3Mgh0K978O5m4vTfYmY=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20241108105117.137121-4-jacopo.mondi@ideasonboard.com>","References":"<20241108105117.137121-1-jacopo.mondi@ideasonboard.com>\n\t<20241108105117.137121-4-jacopo.mondi@ideasonboard.com>","Subject":"Re: [PATCH v2 3/6] libcamera: v4l2_subdevice: Add new metadata\n\tformats","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>, naush@raspberrypi.com,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Tue, 07 Jan 2025 13:33:51 +0000","Message-ID":"<173625683181.2992722.7820365323526179458@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}},{"id":32956,"web_url":"https://patchwork.libcamera.org/comment/32956/","msgid":"<biqqh7ndmv4uzzjd6ygjpwjsdtmjdwgyvsuj3fsprwwqf7pc66@tmfc4yfd6ilk>","date":"2025-01-08T08:25:18","subject":"Re: [PATCH v2 3/6] libcamera: v4l2_subdevice: Add new metadata\n\tformats","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Kieran\n\nOn Tue, Jan 07, 2025 at 01:33:51PM +0000, Kieran Bingham wrote:\n> Quoting Jacopo Mondi (2024-11-08 10:51:13)\n> > From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >\n> > Support the newly introduced V4L2 media bus formats for metadata. This\n> > includes generic metadata formats, and two sensor-specific embedded data\n> > formats.\n>\n> Two sensor specific formats ? I only see MEDIA_BUS_FMT_OV2740_EMBEDDED,\n> or does this 'include' MEDIA_BUS_FMT_CCS_EMBEDDED?\n\nYes MEDIA_BUS_FMT_CCS_EMBEDDED is 'sensor-specific'. It means the\nsensor implements an embedded data format compliant with the CCS\nspecification. It is used, in example, by imx219 too.\n\n>\n> Anyway, It doesn't worry me.\n>\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nThanks\n  j\n\n>\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> > ---\n> >  src/libcamera/v4l2_subdevice.cpp | 63 ++++++++++++++++++++++++++++++++\n> >  1 file changed, 63 insertions(+)\n> >\n> > diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> > index 9f2ec4798407..f65dd6593c99 100644\n> > --- a/src/libcamera/v4l2_subdevice.cpp\n> > +++ b/src/libcamera/v4l2_subdevice.cpp\n> > @@ -700,6 +700,69 @@ const std::map<uint32_t, MediaBusFormatInfo> mediaBusFormatInfo{\n> >                 .bitsPerPixel = 0,\n> >                 .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> >         } },\n> > +       { MEDIA_BUS_FMT_META_8, {\n> > +               .name = \"META_8\",\n> > +               .code = MEDIA_BUS_FMT_META_8,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 8,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_META_10, {\n> > +               .name = \"META_10\",\n> > +               .code = MEDIA_BUS_FMT_META_10,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 10,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_META_12, {\n> > +               .name = \"META_12\",\n> > +               .code = MEDIA_BUS_FMT_META_12,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 12,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_META_14, {\n> > +               .name = \"META_14\",\n> > +               .code = MEDIA_BUS_FMT_META_14,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 14,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_META_16, {\n> > +               .name = \"META_16\",\n> > +               .code = MEDIA_BUS_FMT_META_16,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 16,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_META_20, {\n> > +               .name = \"META_20\",\n> > +               .code = MEDIA_BUS_FMT_META_20,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 20,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_META_24, {\n> > +               .name = \"META_24\",\n> > +               .code = MEDIA_BUS_FMT_META_24,\n> > +               .type = MediaBusFormatInfo::Type::Metadata,\n> > +               .bitsPerPixel = 24,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_CCS_EMBEDDED, {\n> > +               .name = \"CCS_EMBEDDED\",\n> > +               .code = MEDIA_BUS_FMT_CCS_EMBEDDED,\n> > +               .type = MediaBusFormatInfo::Type::EmbeddedData,\n> > +               .bitsPerPixel = 0,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> > +       { MEDIA_BUS_FMT_OV2740_EMBEDDED, {\n> > +               .name = \"OV2740_EMBEDDED\",\n> > +               .code = MEDIA_BUS_FMT_CCS_EMBEDDED,\n> > +               .type = MediaBusFormatInfo::Type::EmbeddedData,\n> > +               .bitsPerPixel = 0,\n> > +               .colourEncoding = PixelFormatInfo::ColourEncodingRAW,\n> > +       } },\n> >  };\n> >\n> >  } /* namespace */\n> > --\n> > 2.47.0\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 5AD65C3260\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  8 Jan 2025 08:25:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 49984684E2;\n\tWed,  8 Jan 2025 09:25:25 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B9A6361884\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  8 Jan 2025 09:25:22 +0100 (CET)","from ideasonboard.com (mob-5-90-140-184.net.vodafone.it\n\t[5.90.140.184])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A2F795B3;\n\tWed,  8 Jan 2025 09:24:29 +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=\"cOUzQ/nY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1736324669;\n\tbh=cQTvIHatCVCRbusID+xkoh3ZNyUIAFEeoSJjkkD/CcE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=cOUzQ/nYLSYNHxLJ4J9R5/N09W2KjmvOWX391eJvw/tNIFlum+JqzU/TCN4myuE6Q\n\tXYoOViDEhyyNXDqoqjoTQYn36wLTJoCHkA+Timx+WOUckpY5a+wRVoLy0r3AlOW/Y5\n\tc69VkKrs/WjpEURzdS09Cczr4jBG9bFdR2wfyTDY=","Date":"Wed, 8 Jan 2025 09:25:18 +0100","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>, \n\tlibcamera-devel@lists.libcamera.org, naush@raspberrypi.com, \n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"Re: [PATCH v2 3/6] libcamera: v4l2_subdevice: Add new metadata\n\tformats","Message-ID":"<biqqh7ndmv4uzzjd6ygjpwjsdtmjdwgyvsuj3fsprwwqf7pc66@tmfc4yfd6ilk>","References":"<20241108105117.137121-1-jacopo.mondi@ideasonboard.com>\n\t<20241108105117.137121-4-jacopo.mondi@ideasonboard.com>\n\t<173625683181.2992722.7820365323526179458@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<173625683181.2992722.7820365323526179458@ping.linuxembedded.co.uk>","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>"}}]