[{"id":35016,"web_url":"https://patchwork.libcamera.org/comment/35016/","msgid":"<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>","date":"2025-07-22T11:38:16","subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","submitter":{"id":232,"url":"https://patchwork.libcamera.org/api/people/232/","name":"Umang Jain","email":"uajain@igalia.com"},"content":"Hi Jaslo,\n\nOn Tue, Jul 22, 2025 at 12:39:30PM +0200, Jaslo Ziska wrote:\n> GStreamer supports 10/12/14/16-bit bayer formats since version 1.24.\n\nWon't this require bumping the `gst_dep_version` ?\n\nCurrently:\nsrc/gstreamer/meson.build:gst_dep_version = '>=1.14.0'\n\nis what the minimum is and there might be reasons for keeping at 1.14\nprobably? \nSee 04e7823eb24bb (\"gstreamer: Document improvements when updating\n\t\t   minimum GStreamer version\")\n> \n> Signed-off-by: Jaslo Ziska <jaslo@ziska.de>\n> ---\n>  src/gstreamer/gstlibcamera-utils.cpp | 19 +++++++------------\n>  1 file changed, 7 insertions(+), 12 deletions(-)\n> \n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index a548b0c1..c55a52d7 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -20,7 +20,7 @@ static struct {\n>  \t/* Compressed */\n>  \t{ GST_VIDEO_FORMAT_ENCODED, formats::MJPEG },\n>  \n> -\t/* Bayer formats, gstreamer only supports 8-bit */\n> +\t/* Bayer formats */\n>  \t{ GST_VIDEO_FORMAT_ENCODED, formats::SBGGR8 },\n>  \t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG8 },\n>  \t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG8 },\n> @@ -317,20 +317,15 @@ bare_structure_from_format(const PixelFormat &format)\n>  \t\treturn gst_structure_new(\"video/x-raw\", \"format\", G_TYPE_STRING,\n>  \t\t\t\t\t gst_video_format_to_string(gst_format), nullptr);\n>  \n> -\tswitch (format) {\n> -\tcase formats::MJPEG:\n> +\tif (format == formats::MJPEG)\n>  \t\treturn gst_structure_new_empty(\"image/jpeg\");\n>  \n> -\tcase formats::SBGGR8:\n> -\tcase formats::SGBRG8:\n> -\tcase formats::SGRBG8:\n> -\tcase formats::SRGGB8:\n> -\t\treturn gst_structure_new(\"video/x-bayer\", \"format\", G_TYPE_STRING,\n> -\t\t\t\t\t bayer_format_to_string(format), nullptr);\n> -\n> -\tdefault:\n> +\tconst gchar *s = bayer_format_to_string(format);\n> +\tif (s)\n> +\t\treturn gst_structure_new(\"video/x-bayer\", \"format\",\n> +\t\t\t\t\t G_TYPE_STRING, s, nullptr);\n> +\telse\n>  \t\treturn nullptr;\n> -\t}\n>  }\n>  \n>  GstCaps *\n> -- \n> 2.50.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 94511C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 22 Jul 2025 11:38:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 69B706902E;\n\tTue, 22 Jul 2025 13:38:14 +0200 (CEST)","from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1DBDE68F93\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 22 Jul 2025 13:38:13 +0200 (CEST)","from [49.36.71.87] (helo=uajain) by fanzine2.igalia.com with\n\tesmtpsa \n\t(Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim) id 1ueBJy-0027Ci-ER; Tue, 22 Jul 2025 13:38:11 +0200"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=igalia.com header.i=@igalia.com\n\theader.b=\"X/yUc0vr\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;\n\ts=20170329;\n\th=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:\n\tSubject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=nOgTG7A4IvPYYS4L/TVPjfBdeGEpZIGwBZc6sseXVy8=;\n\tb=X/yUc0vric5RkPIIVsmk36dqfV\n\tIIEMWRZX3IfwUk5BlubKcsFsphLpElJjgReml+8vFhDiKpNQcsvd+rJw2N8XutWLyDONlvDsvH4EZ\n\t/33tXuVbtKfdjrC9JNkrBMNZLzbfLIknTRmrae8se/ZK/wxv2uXXpjrT9FO8LjrTo0NsdswUAdIZD\n\tBqYWBxGC+GiFX26FYHGSi7JhOj6s92jnXlvMvSlMDOCRe7Fp7FaEC09TGcVPJQggts3G46cxYz7we\n\tqra99ehZvVQLC+dwzpgmRXnoNhQUST1mQAYCt3G/z6YejLbdEVVAFrbyxtgLA4V/YQpX04dvZqXfB\n\tVfuciFQQ==;","Date":"Tue, 22 Jul 2025 17:08:16 +0530","From":"Umang Jain <uajain@igalia.com>","To":"Jaslo Ziska <jaslo@ziska.de>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","Message-ID":"<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>","References":"<20250722105627.11961-1-jaslo@ziska.de>\n\t<20250722105627.11961-4-jaslo@ziska.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20250722105627.11961-4-jaslo@ziska.de>","User-Agent":"NeoMutt/20250510-dirty","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":35023,"web_url":"https://patchwork.libcamera.org/comment/35023/","msgid":"<175318734341.50296.16083492200886121622@ping.linuxembedded.co.uk>","date":"2025-07-22T12:29:03","subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Umang Jain (2025-07-22 12:38:16)\n> Hi Jaslo,\n> \n> On Tue, Jul 22, 2025 at 12:39:30PM +0200, Jaslo Ziska wrote:\n> > GStreamer supports 10/12/14/16-bit bayer formats since version 1.24.\n> \n> Won't this require bumping the `gst_dep_version` ?\n\nI assume not - as there is no ABI requirements here?\n\n> \n> Currently:\n> src/gstreamer/meson.build:gst_dep_version = '>=1.14.0'\n> \n> is what the minimum is and there might be reasons for keeping at 1.14\n> probably? \n> See 04e7823eb24bb (\"gstreamer: Document improvements when updating\n>                    minimum GStreamer version\")\n> > \n> > Signed-off-by: Jaslo Ziska <jaslo@ziska.de>\n> > ---\n> >  src/gstreamer/gstlibcamera-utils.cpp | 19 +++++++------------\n> >  1 file changed, 7 insertions(+), 12 deletions(-)\n> > \n> > diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> > index a548b0c1..c55a52d7 100644\n> > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > @@ -20,7 +20,7 @@ static struct {\n> >       /* Compressed */\n> >       { GST_VIDEO_FORMAT_ENCODED, formats::MJPEG },\n> >  \n> > -     /* Bayer formats, gstreamer only supports 8-bit */\n> > +     /* Bayer formats */\n> >       { GST_VIDEO_FORMAT_ENCODED, formats::SBGGR8 },\n> >       { GST_VIDEO_FORMAT_ENCODED, formats::SGBRG8 },\n> >       { GST_VIDEO_FORMAT_ENCODED, formats::SGRBG8 },\n> > @@ -317,20 +317,15 @@ bare_structure_from_format(const PixelFormat &format)\n> >               return gst_structure_new(\"video/x-raw\", \"format\", G_TYPE_STRING,\n> >                                        gst_video_format_to_string(gst_format), nullptr);\n> >  \n> > -     switch (format) {\n> > -     case formats::MJPEG:\n> > +     if (format == formats::MJPEG)\n> >               return gst_structure_new_empty(\"image/jpeg\");\n> >  \n\nThis seems fine as only MJPEG and Bayer formats are\nGST_VIDEO_FORMAT_ENCODED and everything else is handled before this\nstage as video/x-raw.\n\n> > -     case formats::SBGGR8:\n> > -     case formats::SGBRG8:\n> > -     case formats::SGRBG8:\n> > -     case formats::SRGGB8:\n> > -             return gst_structure_new(\"video/x-bayer\", \"format\", G_TYPE_STRING,\n> > -                                      bayer_format_to_string(format), nullptr);\n> > -\n> > -     default:\n> > +     const gchar *s = bayer_format_to_string(format);\n> > +     if (s)\n> > +             return gst_structure_new(\"video/x-bayer\", \"format\",\n> > +                                      G_TYPE_STRING, s, nullptr);\n\nas far as I can tell here - we convert the bayer format to a string - and\nask gstreamer to use it. If it's an old gstreamer, it may not be\nsupported, but if it's newer - then it will be successful...\n\nSo I don't think this requires increasing a gstreamer minimum version:\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> > +     else\n> >               return nullptr;\n> > -     }\n> >  }\n> >  \n> >  GstCaps *\n> > -- \n> > 2.50.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 67745C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 22 Jul 2025 12:29:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5440B69038;\n\tTue, 22 Jul 2025 14:29:08 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 198A568F93\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 22 Jul 2025 14:29:06 +0200 (CEST)","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 7A15A79CC;\n\tTue, 22 Jul 2025 14:28:28 +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=\"tjUNzXnB\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1753187308;\n\tbh=wEd3YPCJBn3x94Kdl16naAy2YYR17/Mx882Gn5WIY4w=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=tjUNzXnBceYD26E5Tv37wBdvYcW1YqFjyyk8crVWVKVcRDhwZnx24Zg2cF3OinoUP\n\tdwjGtxknvfZ1u1wIOb6aQjsNEMo8+gb4pB8KMx29eRlddUdxZ3m+T8Ces5RtKNfh7r\n\tpzf94JP/u/XkTlzsDDIZRItCgvzBvjpHQTlovGPY=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>","References":"<20250722105627.11961-1-jaslo@ziska.de>\n\t<20250722105627.11961-4-jaslo@ziska.de>\n\t<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>","Subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","To":"Jaslo Ziska <jaslo@ziska.de>, Umang Jain <uajain@igalia.com>","Date":"Tue, 22 Jul 2025 13:29:03 +0100","Message-ID":"<175318734341.50296.16083492200886121622@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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":35031,"web_url":"https://patchwork.libcamera.org/comment/35031/","msgid":"<pqrxlmnwv7ziowdosnydmgwo5igvwy2wa4e4vrr44mzgvwcl3e@v6gsfxwopqoi>","date":"2025-07-23T06:56:27","subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","submitter":{"id":232,"url":"https://patchwork.libcamera.org/api/people/232/","name":"Umang Jain","email":"uajain@igalia.com"},"content":"On Tue, Jul 22, 2025 at 01:29:03PM +0100, Kieran Bingham wrote:\n> Quoting Umang Jain (2025-07-22 12:38:16)\n> > Hi Jaslo,\n> > \n> > On Tue, Jul 22, 2025 at 12:39:30PM +0200, Jaslo Ziska wrote:\n> > > GStreamer supports 10/12/14/16-bit bayer formats since version 1.24.\n> > \n> > Won't this require bumping the `gst_dep_version` ?\n> \n> I assume not - as there is no ABI requirements here?\n> \n> > \n> > Currently:\n> > src/gstreamer/meson.build:gst_dep_version = '>=1.14.0'\n> > \n> > is what the minimum is and there might be reasons for keeping at 1.14\n> > probably? \n> > See 04e7823eb24bb (\"gstreamer: Document improvements when updating\n> >                    minimum GStreamer version\")\n> > > \n> > > Signed-off-by: Jaslo Ziska <jaslo@ziska.de>\n> > > ---\n> > >  src/gstreamer/gstlibcamera-utils.cpp | 19 +++++++------------\n> > >  1 file changed, 7 insertions(+), 12 deletions(-)\n> > > \n> > > diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> > > index a548b0c1..c55a52d7 100644\n> > > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > > @@ -20,7 +20,7 @@ static struct {\n> > >       /* Compressed */\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::MJPEG },\n> > >  \n> > > -     /* Bayer formats, gstreamer only supports 8-bit */\n> > > +     /* Bayer formats */\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::SBGGR8 },\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::SGBRG8 },\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::SGRBG8 },\n> > > @@ -317,20 +317,15 @@ bare_structure_from_format(const PixelFormat &format)\n> > >               return gst_structure_new(\"video/x-raw\", \"format\", G_TYPE_STRING,\n> > >                                        gst_video_format_to_string(gst_format), nullptr);\n> > >  \n> > > -     switch (format) {\n> > > -     case formats::MJPEG:\n> > > +     if (format == formats::MJPEG)\n> > >               return gst_structure_new_empty(\"image/jpeg\");\n> > >  \n> \n> This seems fine as only MJPEG and Bayer formats are\n> GST_VIDEO_FORMAT_ENCODED and everything else is handled before this\n> stage as video/x-raw.\n> \n> > > -     case formats::SBGGR8:\n> > > -     case formats::SGBRG8:\n> > > -     case formats::SGRBG8:\n> > > -     case formats::SRGGB8:\n> > > -             return gst_structure_new(\"video/x-bayer\", \"format\", G_TYPE_STRING,\n> > > -                                      bayer_format_to_string(format), nullptr);\n> > > -\n> > > -     default:\n> > > +     const gchar *s = bayer_format_to_string(format);\n> > > +     if (s)\n> > > +             return gst_structure_new(\"video/x-bayer\", \"format\",\n> > > +                                      G_TYPE_STRING, s, nullptr);\n> \n> as far as I can tell here - we convert the bayer format to a string - and\n> ask gstreamer to use it. If it's an old gstreamer, it may not be\n> supported, but if it's newer - then it will be successful...\n> \n> So I don't think this requires increasing a gstreamer minimum version:\n\nOh - I was thinking if we should be supporting *all* and hence my\ncomment on minimum version bump.\n\n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n\nReviewed-by: Umang Jain <uajain@igalia.com>\n> > > +     else\n> > >               return nullptr;\n> > > -     }\n> > >  }\n> > >  \n> > >  GstCaps *\n> > > -- \n> > > 2.50.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 DA5E2BDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 23 Jul 2025 06:56:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CA78069045;\n\tWed, 23 Jul 2025 08:56:30 +0200 (CEST)","from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5C72469025\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 23 Jul 2025 08:56:28 +0200 (CEST)","from [49.36.71.87] (helo=uajain) by fanzine2.igalia.com with\n\tesmtpsa \n\t(Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim) id 1ueTOq-002T5t-A4; Wed, 23 Jul 2025 08:56:24 +0200"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=igalia.com header.i=@igalia.com\n\theader.b=\"firp1K43\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;\n\ts=20170329;\n\th=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:\n\tSubject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=JPXiTQTxliKLuKn+caaosUJ3bRX4zFB5VTav9oZ8I58=;\n\tb=firp1K43yqnKTO+D+V7nQeFuwh\n\tfRLi73Z+6CNvY8etymY/1/rUxZpKxcufIlg61ZtUpLusaenCApcsvdku2pAaV3fKHdzMBN34XOMed\n\twnWkjYE/MR8UbgsJN34D5kLT44QMPiWW4cXGnrMW7IdmiyostmZqTGMqaFHAycUhn0t1tTBfN1dhf\n\tqs0x5uTZCkliQf30t4bdSIdUWCwnJSASSjGaIWWaMxKKj2owMMc9XPbX+J2RSjbzJPAJccNYRHx4d\n\tg5DOaAp1K5LDK/SENUCdhfPdivnbMmJR/3h8liES7HdC+KcNWhtFZvXev4qW0eIexfWg5TuoiGIAk\n\twz+DdRJA==;","Date":"Wed, 23 Jul 2025 12:26:27 +0530","From":"Umang Jain <uajain@igalia.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jaslo Ziska <jaslo@ziska.de>, libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","Message-ID":"<pqrxlmnwv7ziowdosnydmgwo5igvwy2wa4e4vrr44mzgvwcl3e@v6gsfxwopqoi>","References":"<20250722105627.11961-1-jaslo@ziska.de>\n\t<20250722105627.11961-4-jaslo@ziska.de>\n\t<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>\n\t<175318734341.50296.16083492200886121622@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<175318734341.50296.16083492200886121622@ping.linuxembedded.co.uk>","User-Agent":"NeoMutt/20250510-dirty","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":35199,"web_url":"https://patchwork.libcamera.org/comment/35199/","msgid":"<2f540ff94992dcc826bc3212446fc3e62f8abbd1.camel@ndufresne.ca>","date":"2025-07-28T12:49:14","subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","submitter":{"id":30,"url":"https://patchwork.libcamera.org/api/people/30/","name":"Nicolas Dufresne","email":"nicolas@ndufresne.ca"},"content":"Hi,\n\nLe mardi 22 juillet 2025 à 17:08 +0530, Umang Jain a écrit :\n> Hi Jaslo,\n> \n> On Tue, Jul 22, 2025 at 12:39:30PM +0200, Jaslo Ziska wrote:\n> > GStreamer supports 10/12/14/16-bit bayer formats since version 1.24.\n> \n> Won't this require bumping the `gst_dep_version` ?\n\nBayer formats don't have a matching library with an fixed enums, so the formats\nare just strings. In this context, we can enable support for any 1.X version,\nthe only downside is that bayer2rgb (mostly used to get a visual, since it does\nnot do anything to improve the image), won't support that.\n\nNicolas\n\n> \n> Currently:\n> src/gstreamer/meson.build:gst_dep_version = '>=1.14.0'\n> \n> is what the minimum is and there might be reasons for keeping at 1.14\n> probably? \n> See 04e7823eb24bb (\"gstreamer: Document improvements when updating\n> \t\t   minimum GStreamer version\")\n> > \n> > Signed-off-by: Jaslo Ziska <jaslo@ziska.de>\n> > ---\n> >  src/gstreamer/gstlibcamera-utils.cpp | 19 +++++++------------\n> >  1 file changed, 7 insertions(+), 12 deletions(-)\n> > \n> > diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> > index a548b0c1..c55a52d7 100644\n> > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > @@ -20,7 +20,7 @@ static struct {\n> >  \t/* Compressed */\n> >  \t{ GST_VIDEO_FORMAT_ENCODED, formats::MJPEG },\n> >  \n> > -\t/* Bayer formats, gstreamer only supports 8-bit */\n> > +\t/* Bayer formats */\n> >  \t{ GST_VIDEO_FORMAT_ENCODED, formats::SBGGR8 },\n> >  \t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG8 },\n> >  \t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG8 },\n> > @@ -317,20 +317,15 @@ bare_structure_from_format(const PixelFormat &format)\n> >  \t\treturn gst_structure_new(\"video/x-raw\", \"format\", G_TYPE_STRING,\n> >  \t\t\t\t\t gst_video_format_to_string(gst_format), nullptr);\n> >  \n> > -\tswitch (format) {\n> > -\tcase formats::MJPEG:\n> > +\tif (format == formats::MJPEG)\n> >  \t\treturn gst_structure_new_empty(\"image/jpeg\");\n> >  \n> > -\tcase formats::SBGGR8:\n> > -\tcase formats::SGBRG8:\n> > -\tcase formats::SGRBG8:\n> > -\tcase formats::SRGGB8:\n> > -\t\treturn gst_structure_new(\"video/x-bayer\", \"format\", G_TYPE_STRING,\n> > -\t\t\t\t\t bayer_format_to_string(format), nullptr);\n> > -\n> > -\tdefault:\n> > +\tconst gchar *s = bayer_format_to_string(format);\n> > +\tif (s)\n> > +\t\treturn gst_structure_new(\"video/x-bayer\", \"format\",\n> > +\t\t\t\t\t G_TYPE_STRING, s, nullptr);\n> > +\telse\n> >  \t\treturn nullptr;\n> > -\t}\n> >  }\n> >  \n> >  GstCaps *\n> > -- \n> > 2.50.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 2BAC9BDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 28 Jul 2025 12:49:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 033226916F;\n\tMon, 28 Jul 2025 14:49:21 +0200 (CEST)","from mail-qt1-x835.google.com (mail-qt1-x835.google.com\n\t[IPv6:2607:f8b0:4864:20::835])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1452869158\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Jul 2025 14:49:18 +0200 (CEST)","by mail-qt1-x835.google.com with SMTP id\n\td75a77b69052e-4ab81d016c8so62539181cf.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Jul 2025 05:49:17 -0700 (PDT)","from ?IPv6:2606:6d00:11:5a76::5ac? ([2606:6d00:11:5a76::5ac])\n\tby smtp.gmail.com with ESMTPSA id\n\td75a77b69052e-4ae99696baasm33640961cf.59.2025.07.28.05.49.15\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 28 Jul 2025 05:49:15 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=ndufresne-ca.20230601.gappssmtp.com\n\theader.i=@ndufresne-ca.20230601.gappssmtp.com\n\theader.b=\"RbljffLg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ndufresne-ca.20230601.gappssmtp.com; s=20230601; t=1753706957;\n\tx=1754311757; darn=lists.libcamera.org; \n\th=mime-version:user-agent:autocrypt:references:in-reply-to:date:cc:to\n\t:from:subject:message-id:from:to:cc:subject:date:message-id:reply-to; \n\tbh=zQZVHPxtTbc0a2uRReZjGjp0/fHkIObG4MhrOyZFZpw=;\n\tb=RbljffLgaSC6ecfaojULUnRgZVtH3Ng/Bfytq5X2J75Lh81aoj2b8UcM6YZ6X0Sj23\n\toxBIRc0OQYDOLpu49Mn+joeeLO9uH4eFYIv6IEFKq0hE2CfcTbjDhVXPfpdzwYDBr/GT\n\t1mFj/R/F3gpptAYzg0ZnqeeNa5AXcGuFU0iLYltIOHNRDxx3cT8RbUeDfICh0tLcphEB\n\tbW9Q6rXJd+4BzMBUqtPrZRUsQMj1IJWO4yS0L9Y9NOpKXkJdOFVjikCfcGMNXahBxcN+\n\tYK3i4OEseDkPXWmZ1jfUNTFHVynsmJDAnAp1QDEovbxQNKxo2zjzqVa5YMhb1qAX80jh\n\tS4lA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1753706957; x=1754311757;\n\th=mime-version:user-agent:autocrypt:references:in-reply-to:date:cc:to\n\t:from:subject:message-id:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=zQZVHPxtTbc0a2uRReZjGjp0/fHkIObG4MhrOyZFZpw=;\n\tb=mpnunHQYAWvqaULhB/MS7JY17LV8yWpkRSO+r63fsKOUJHKF6k+EcDSn/BlZP9JkME\n\tX9asmxnqkVxLSPLCc21f+6G6BU/3EKKAT0UqR15uHbYHVkXP75v1Ox+YdWElzz8EajIr\n\ttSbXsOVpACYbR3dv+yqaIFYbZOSHu0kE+JLiD4uxChA7g6VlfLGvb3YMEimaUhSBhEaZ\n\tRAPttF/BecF6sC5rUnuEyzQbb9e1vDojy3tcTLK7xh1Vml/4a8VE9ONGQD5zQT8DFsWe\n\taaCNn/EV1wXIPeuCM841gqQLD20cXuuPiKErl/LOoV9U5pFTrS3Rvyxj9NKPIiHhy5oN\n\t810A==","X-Gm-Message-State":"AOJu0Ywn5N+L2JYKIAEeHWN8ywVcr1PCx0psi0AHgjj8C+Ofd8q1qHz6\n\t1mkctAYc8ZSXHWkjlWcfIWKI5RTWQxNq0z76z+xRmFqxiPgORDH/7bLCCS5ljVtFBCs8zyKj7qZ\n\tlPZ5A","X-Gm-Gg":"ASbGnct352emnooNsVT6E/Bmvmok6o6LBGRynys+6pNIqhWirQ5f6wfIMWndd+/Rfcf\n\tG2n+c0gNPP6mN3onOIHEf6MpZdGJwXV+7+M0YqI71nxc+GJfTRGfyf+W6aTmZv8d+wBhnW7xxbj\n\tTafQu4Y7bBPsFQZ4m+sXiEG8uCxL7kSqaknPN3S65TlsX4s4mC+acw8VGTTSlNcbyMhLQDAukBq\n\t4X9oKmz90lMfwY3cDb6gDOTYW4wAgtiXIhWM9UspSXKZp3WmDhQrrsMnXB4P3BXMjtsM1h8HmBY\n\tMXXe6ByWyqlou+lQJOCCTJ8Z9OIl2vFIBWCKYQFXhI53PWG+XOla/FR22cNKWGOhQWzCWrNh8ua\n\tnmgs4ovXo7i41iDyg8MOtcIPhix4=","X-Google-Smtp-Source":"AGHT+IGYEVEHkp+Q+xCbesdZ+7lcFwfAxjmQD+saLJNoS5wd+UtG4D0QVI+LFLxUbVVKdmaHO0vOYg==","X-Received":"by 2002:ac8:7c49:0:b0:4ab:835d:c23e with SMTP id\n\td75a77b69052e-4ae8f110dafmr188905011cf.46.1753706956483; \n\tMon, 28 Jul 2025 05:49:16 -0700 (PDT)","Message-ID":"<2f540ff94992dcc826bc3212446fc3e62f8abbd1.camel@ndufresne.ca>","Subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","From":"Nicolas Dufresne <nicolas@ndufresne.ca>","To":"Umang Jain <uajain@igalia.com>, Jaslo Ziska <jaslo@ziska.de>","Cc":"libcamera-devel@lists.libcamera.org","Date":"Mon, 28 Jul 2025 08:49:14 -0400","In-Reply-To":"<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>","References":"<20250722105627.11961-1-jaslo@ziska.de>\n\t<20250722105627.11961-4-jaslo@ziska.de>\n\t<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>","Autocrypt":"addr=nicolas@ndufresne.ca; prefer-encrypt=mutual;\n\tkeydata=mDMEaCN2ixYJKwYBBAHaRw8BAQdAM0EHepTful3JOIzcPv6ekHOenE1u0vDG1gdHFrChD\n\t/e0MU5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT6ImQQTFg\n\toAQQIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgBYhBO8NUoEVxMPCGgRvEtlBlFEpYHL0BQJ\n\toLLLGBQkJZfd1AAoJENlBlFEpYHL0BEkA/3qkWYt99myYFSmTJUF8UB/7OroEm3vr1HRqXeQe9Qp2\n\tAP0bsoAe6KjEPa/pJfuJ2khrOPPHxvyt/PBNbI5BYcIABLQnTmljb2xhcyBEdWZyZXNuZSA8bmljb\n\t2xhc0BuZHVmcmVzbmUuY2E+iJkEExYKAEECGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AWIQ\n\tTvDVKBFcTDwhoEbxLZQZRRKWBy9AUCaCyy+AUJCWX3dQAKCRDZQZRRKWBy9FJ5AQCNy8SX8DpHbLa\n\tcy58vgDwyIpB89mok9eWGGejY9mqpRwEAhHzs+/n5xlVlM3bqy1yHnAzJqVwqBE1D0jG0a9V6VQI=","Content-Type":"multipart/signed; micalg=\"pgp-sha512\";\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"=-G/y0EfsQ63XPmiNvKVwW\"","User-Agent":"Evolution 3.56.2 (3.56.2-1.fc42) ","MIME-Version":"1.0","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":35256,"web_url":"https://patchwork.libcamera.org/comment/35256/","msgid":"<20250730210321.GD21430@pendragon.ideasonboard.com>","date":"2025-07-30T21:03:21","subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Tue, Jul 22, 2025 at 01:29:03PM +0100, Kieran Bingham wrote:\n> Quoting Umang Jain (2025-07-22 12:38:16)\n> > Hi Jaslo,\n> > \n> > On Tue, Jul 22, 2025 at 12:39:30PM +0200, Jaslo Ziska wrote:\n> > > GStreamer supports 10/12/14/16-bit bayer formats since version 1.24.\n> > \n> > Won't this require bumping the `gst_dep_version` ?\n> \n> I assume not - as there is no ABI requirements here?\n> \n> > \n> > Currently:\n> > src/gstreamer/meson.build:gst_dep_version = '>=1.14.0'\n> > \n> > is what the minimum is and there might be reasons for keeping at 1.14\n> > probably? \n> > See 04e7823eb24bb (\"gstreamer: Document improvements when updating\n> >                    minimum GStreamer version\")\n> > > \n> > > Signed-off-by: Jaslo Ziska <jaslo@ziska.de>\n> > > ---\n> > >  src/gstreamer/gstlibcamera-utils.cpp | 19 +++++++------------\n> > >  1 file changed, 7 insertions(+), 12 deletions(-)\n> > > \n> > > diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> > > index a548b0c1..c55a52d7 100644\n> > > --- a/src/gstreamer/gstlibcamera-utils.cpp\n> > > +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> > > @@ -20,7 +20,7 @@ static struct {\n> > >       /* Compressed */\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::MJPEG },\n> > >  \n> > > -     /* Bayer formats, gstreamer only supports 8-bit */\n> > > +     /* Bayer formats */\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::SBGGR8 },\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::SGBRG8 },\n> > >       { GST_VIDEO_FORMAT_ENCODED, formats::SGRBG8 },\n> > > @@ -317,20 +317,15 @@ bare_structure_from_format(const PixelFormat &format)\n> > >               return gst_structure_new(\"video/x-raw\", \"format\", G_TYPE_STRING,\n> > >                                        gst_video_format_to_string(gst_format), nullptr);\n> > >  \n> > > -     switch (format) {\n> > > -     case formats::MJPEG:\n> > > +     if (format == formats::MJPEG)\n> > >               return gst_structure_new_empty(\"image/jpeg\");\n> > >  \n> \n> This seems fine as only MJPEG and Bayer formats are\n> GST_VIDEO_FORMAT_ENCODED and everything else is handled before this\n> stage as video/x-raw.\n> \n> > > -     case formats::SBGGR8:\n> > > -     case formats::SGBRG8:\n> > > -     case formats::SGRBG8:\n> > > -     case formats::SRGGB8:\n> > > -             return gst_structure_new(\"video/x-bayer\", \"format\", G_TYPE_STRING,\n> > > -                                      bayer_format_to_string(format), nullptr);\n> > > -\n> > > -     default:\n> > > +     const gchar *s = bayer_format_to_string(format);\n> > > +     if (s)\n> > > +             return gst_structure_new(\"video/x-bayer\", \"format\",\n> > > +                                      G_TYPE_STRING, s, nullptr);\n> \n> as far as I can tell here - we convert the bayer format to a string - and\n> ask gstreamer to use it. If it's an old gstreamer, it may not be\n> supported, but if it's newer - then it will be successful...\n> \n> So I don't think this requires increasing a gstreamer minimum version:\n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> > > +     else\n> > >               return nullptr;\n\nI'll drop the else.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> > > -     }\n> > >  }\n> > >  \n> > >  GstCaps *","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 BC3B0BDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Jul 2025 21:03:33 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D530D69210;\n\tWed, 30 Jul 2025 23:03:32 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 149A76084D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Jul 2025 23:03:31 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 339D5C0B;\n\tWed, 30 Jul 2025 23:02:47 +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=\"Hl5DMKxh\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1753909367;\n\tbh=vmSwI5+A5jk0vmONeTa78LaPLZnEYc2276NrD9lZBUE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Hl5DMKxhTEVWsGXLjckNblvtK26ZbIrWnIOVi6tj4xt/D9KYszdfGKAEgklwcE8ZB\n\tuPB2ouSTbRonA8ohzSDNLT2PF/K8vfac0c5za4466y1Nc54zVtQLJzQa9GjzO0WdBX\n\tqviKjA1WI2BMFN/WbqfYhliXZ3POHXwOzpvcKKog=","Date":"Thu, 31 Jul 2025 00:03:21 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jaslo Ziska <jaslo@ziska.de>, Umang Jain <uajain@igalia.com>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v2 3/3] gstreamer: Enable bayer formats with 10/12/14/16\n\tbits","Message-ID":"<20250730210321.GD21430@pendragon.ideasonboard.com>","References":"<20250722105627.11961-1-jaslo@ziska.de>\n\t<20250722105627.11961-4-jaslo@ziska.de>\n\t<hqr62htg4jk57kfuzbtsgvtigfea4tq67uq5ywb34dxevlim3d@lvi6ea7kyjbv>\n\t<175318734341.50296.16083492200886121622@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<175318734341.50296.16083492200886121622@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>"}}]