[{"id":34754,"web_url":"https://patchwork.libcamera.org/comment/34754/","msgid":"<4mwug2asu43m3nejxmvqndf3ajftnlswjx6rsg4tkbgjyk56ol@647ukv4z6fo5>","date":"2025-07-01T08:06:18","subject":"Re: [PATCH v7 03/12] libcamera: formats: Add a helper to check for a\n\traw pixel format","submitter":{"id":232,"url":"https://patchwork.libcamera.org/api/people/232/","name":"Umang Jain","email":"uajain@igalia.com"},"content":"Hi Milan,\n\nOn Fri, Jun 27, 2025 at 01:34:38PM +0200, Milan Zamazal wrote:\n> There are several places with the same pattern to check whether a given\n> pixel format is a raw format:\n> \n>   return libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==\n>          libcamera::PixelFormatInfo::ColourEncodingRAW;\n> \n> Let's move the corresponding isFormatRaw helper from mali-c55.cpp to\n> formats.cpp and use it where applicable.  This also avoids a need to\n> introduce the same helper (or the same pattern) in the followup patches.\n> \n\nI think I had tried this previously. See the discussion:\nhttps://patchwork.libcamera.org/project/libcamera/list/?series=4640&state=*\n\n> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>\n> ---\n>  include/libcamera/internal/formats.h         |  2 ++\n>  src/libcamera/formats.cpp                    | 11 +++++++++++\n>  src/libcamera/pipeline/imx8-isi/imx8-isi.cpp |  4 ++--\n>  src/libcamera/pipeline/mali-c55/mali-c55.cpp | 10 ----------\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp     |  7 ++-----\n>  5 files changed, 17 insertions(+), 17 deletions(-)\n> \n> diff --git a/include/libcamera/internal/formats.h b/include/libcamera/internal/formats.h\n> index 6a3e9c16a..bc4417d05 100644\n> --- a/include/libcamera/internal/formats.h\n> +++ b/include/libcamera/internal/formats.h\n> @@ -62,4 +62,6 @@ public:\n>  \tstd::array<Plane, 3> planes;\n>  };\n>  \n> +bool isFormatRaw(const libcamera::PixelFormat &pixFmt);\n> +\n>  } /* namespace libcamera */\n> diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\n> index bfcdfc089..c6e0a2620 100644\n> --- a/src/libcamera/formats.cpp\n> +++ b/src/libcamera/formats.cpp\n> @@ -1215,4 +1215,15 @@ unsigned int PixelFormatInfo::numPlanes() const\n>  \treturn count;\n>  }\n>  \n> +/**\n> + * \\brief Return whether the given pixel format is a raw format\n> + * \\param[in] pixFmt The pixel format to examine\n> + * \\return True iff the given format is a raw format\n> + */\n> +bool isFormatRaw(const libcamera::PixelFormat &pixFmt)\n> +{\n> +\treturn libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==\n> +\t       libcamera::PixelFormatInfo::ColourEncodingRAW;\n> +}\n> +\n>  } /* namespace libcamera */\n> diff --git a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp\n> index f4014b95d..c9f56af02 100644\n> --- a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp\n> +++ b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp\n> @@ -24,6 +24,7 @@\n>  #include \"libcamera/internal/camera.h\"\n>  #include \"libcamera/internal/camera_sensor.h\"\n>  #include \"libcamera/internal/device_enumerator.h\"\n> +#include \"libcamera/internal/formats.h\"\n>  #include \"libcamera/internal/media_device.h\"\n>  #include \"libcamera/internal/pipeline_handler.h\"\n>  #include \"libcamera/internal/v4l2_subdevice.h\"\n> @@ -312,8 +313,7 @@ unsigned int ISICameraData::getYuvMediaBusFormat(const PixelFormat &pixelFormat)\n>  \n>  unsigned int ISICameraData::getMediaBusFormat(PixelFormat *pixelFormat) const\n>  {\n> -\tif (PixelFormatInfo::info(*pixelFormat).colourEncoding ==\n> -\t    PixelFormatInfo::ColourEncodingRAW)\n> +\tif (isFormatRaw(*pixelFormat))\n>  \t\treturn getRawMediaBusFormat(pixelFormat);\n>  \n>  \treturn getYuvMediaBusFormat(*pixelFormat);\n> diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp\n> index 4acc091bd..8d9b1e380 100644\n> --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp\n> +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp\n> @@ -42,16 +42,6 @@\n>  #include \"libcamera/internal/v4l2_subdevice.h\"\n>  #include \"libcamera/internal/v4l2_videodevice.h\"\n>  \n> -namespace {\n> -\n> -bool isFormatRaw(const libcamera::PixelFormat &pixFmt)\n> -{\n> -\treturn libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==\n> -\t       libcamera::PixelFormatInfo::ColourEncodingRAW;\n> -}\n> -\n> -} /* namespace */\n> -\n>  namespace libcamera {\n>  \n>  LOG_DEFINE_CATEGORY(MaliC55)\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 675f0a749..50c83fb72 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -538,8 +538,7 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate()\n>  \t */\n>  \tif (config_.size() > 1) {\n>  \t\tfor (const auto &cfg : config_) {\n> -\t\t\tif (PixelFormatInfo::info(cfg.pixelFormat).colourEncoding ==\n> -\t\t\t    PixelFormatInfo::ColourEncodingRAW) {\n> +\t\t\tif (isFormatRaw(cfg.pixelFormat)) {\n>  \t\t\t\tconfig_.resize(1);\n>  \t\t\t\tstatus = Adjusted;\n>  \t\t\t\tbreak;\n> @@ -553,9 +552,7 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate()\n>  \t\t * Platforms with dewarper support, such as i.MX8MP, support\n>  \t\t * only a single stream. We can inspect config_[0] only here.\n>  \t\t */\n> -\t\tbool isRaw = PixelFormatInfo::info(config_[0].pixelFormat).colourEncoding ==\n> -\t\t\t     PixelFormatInfo::ColourEncodingRAW;\n> -\t\tif (!isRaw)\n> +\t\tif (!isFormatRaw(config_[0].pixelFormat))\n>  \t\t\tuseDewarper = true;\n>  \t}\n>  \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 DC61CBDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  1 Jul 2025 08:06:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 40DF868E14;\n\tTue,  1 Jul 2025 10:06:18 +0200 (CEST)","from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 14B9161528\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  1 Jul 2025 10:06:16 +0200 (CEST)","from [49.36.69.141] (helo=uajain)\n\tby fanzine2.igalia.com with esmtpsa \n\t(Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim) id 1uWW0M-00As6M-J2; Tue, 01 Jul 2025 10:06:14 +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=\"r7GVVNEo\"; 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=xOGlQblWB3M6Rc9wD+ptjdRgXpWFPUJp47fWANX2W1M=;\n\tb=r7GVVNEoPGIH0e4yWPG04GAsMV\n\t0xP8KrbRuab24YL0RQuSh8ZUIbEGjq8kOBeQK6iOUuF7s0DOZxaqGwym7jxkmJ+VaHRvcLTl+JkTa\n\tDGccNBG+PIkWP+28lxWIvdJhfJcDDxmL1M/iONCkHV2ZpcGDVHGDFMcODhdTI9dOeODMK2lNclrZq\n\tSGi5PW4zkrsNskI4Y+YyYFrSuqQ1xHykBTN4Aa9exF41SKz0KjWodgLHheGPBMXZxT0uILS8lNNmZ\n\tIJFYwzy73YFRadmrwccqMrqKVx2uMnXbinscoqo0P6WDZPAQyTOWYLLvMjOM0/HIBjJyBuc53MSMh\n\tdesIdUnA==;","Date":"Tue, 1 Jul 2025 13:36:18 +0530","From":"Umang Jain <uajain@igalia.com>","To":"Milan Zamazal <mzamazal@redhat.com>","Cc":"libcamera-devel@lists.libcamera.org, Laurent Pinchart\n\t<laurent.pinchart@ideasonboard.com>, Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?=\n\t<barnabas.pocze@ideasonboard.com>, Paul Elder\n\t<paul.elder@ideasonboard.com>","Subject":"Re: [PATCH v7 03/12] libcamera: formats: Add a helper to check for a\n\traw pixel format","Message-ID":"<4mwug2asu43m3nejxmvqndf3ajftnlswjx6rsg4tkbgjyk56ol@647ukv4z6fo5>","References":"<20250627113449.23106-1-mzamazal@redhat.com>\n\t<20250627113449.23106-4-mzamazal@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20250627113449.23106-4-mzamazal@redhat.com>","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":34769,"web_url":"https://patchwork.libcamera.org/comment/34769/","msgid":"<85h5zw3tle.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-07-01T13:53:49","subject":"Re: [PATCH v7 03/12] libcamera: formats: Add a helper to check for\n\ta raw pixel format","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Hi Umang,\n\nUmang Jain <uajain@igalia.com> writes:\n\n> Hi Milan,\n>\n> On Fri, Jun 27, 2025 at 01:34:38PM +0200, Milan Zamazal wrote:\n>> There are several places with the same pattern to check whether a given\n>> pixel format is a raw format:\n>> \n>>   return libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==\n>>          libcamera::PixelFormatInfo::ColourEncodingRAW;\n>> \n>> Let's move the corresponding isFormatRaw helper from mali-c55.cpp to\n>> formats.cpp and use it where applicable.  This also avoids a need to\n>> introduce the same helper (or the same pattern) in the followup patches.\n>> \n>\n> I think I had tried this previously. See the discussion:\n> https://patchwork.libcamera.org/project/libcamera/list/?series=4640&state=*\n\nThank you for the pointer.  It looks like attempts to unify those\npatterns are consistently difficult and there'll be no shame if I simply\ndrop this and use another private helper, for the simple pipeline.  The\nseries doesn't move forward, let's push problematic parts out of it.\n\n>> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>\n>> ---\n>>  include/libcamera/internal/formats.h         |  2 ++\n>>  src/libcamera/formats.cpp                    | 11 +++++++++++\n>>  src/libcamera/pipeline/imx8-isi/imx8-isi.cpp |  4 ++--\n>>  src/libcamera/pipeline/mali-c55/mali-c55.cpp | 10 ----------\n>>  src/libcamera/pipeline/rkisp1/rkisp1.cpp     |  7 ++-----\n>>  5 files changed, 17 insertions(+), 17 deletions(-)\n>> \n>> diff --git a/include/libcamera/internal/formats.h b/include/libcamera/internal/formats.h\n>> index 6a3e9c16a..bc4417d05 100644\n>> --- a/include/libcamera/internal/formats.h\n>> +++ b/include/libcamera/internal/formats.h\n>> @@ -62,4 +62,6 @@ public:\n>>  \tstd::array<Plane, 3> planes;\n>>  };\n>>  \n>> +bool isFormatRaw(const libcamera::PixelFormat &pixFmt);\n>> +\n>>  } /* namespace libcamera */\n>> diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\n>> index bfcdfc089..c6e0a2620 100644\n>> --- a/src/libcamera/formats.cpp\n>> +++ b/src/libcamera/formats.cpp\n>> @@ -1215,4 +1215,15 @@ unsigned int PixelFormatInfo::numPlanes() const\n>>  \treturn count;\n>>  }\n>>  \n>> +/**\n>> + * \\brief Return whether the given pixel format is a raw format\n>> + * \\param[in] pixFmt The pixel format to examine\n>> + * \\return True iff the given format is a raw format\n>> + */\n>> +bool isFormatRaw(const libcamera::PixelFormat &pixFmt)\n>> +{\n>> +\treturn libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==\n>> +\t       libcamera::PixelFormatInfo::ColourEncodingRAW;\n>> +}\n>> +\n>>  } /* namespace libcamera */\n>> diff --git a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp\n>> index f4014b95d..c9f56af02 100644\n>> --- a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp\n>> +++ b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp\n>> @@ -24,6 +24,7 @@\n>>  #include \"libcamera/internal/camera.h\"\n>>  #include \"libcamera/internal/camera_sensor.h\"\n>>  #include \"libcamera/internal/device_enumerator.h\"\n>> +#include \"libcamera/internal/formats.h\"\n>>  #include \"libcamera/internal/media_device.h\"\n>>  #include \"libcamera/internal/pipeline_handler.h\"\n>>  #include \"libcamera/internal/v4l2_subdevice.h\"\n>> @@ -312,8 +313,7 @@ unsigned int ISICameraData::getYuvMediaBusFormat(const PixelFormat &pixelFormat)\n>>  \n>>  unsigned int ISICameraData::getMediaBusFormat(PixelFormat *pixelFormat) const\n>>  {\n>> -\tif (PixelFormatInfo::info(*pixelFormat).colourEncoding ==\n>> -\t    PixelFormatInfo::ColourEncodingRAW)\n>> +\tif (isFormatRaw(*pixelFormat))\n>>  \t\treturn getRawMediaBusFormat(pixelFormat);\n>>  \n>>  \treturn getYuvMediaBusFormat(*pixelFormat);\n>> diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp\n>> index 4acc091bd..8d9b1e380 100644\n>> --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp\n>> +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp\n>> @@ -42,16 +42,6 @@\n>>  #include \"libcamera/internal/v4l2_subdevice.h\"\n>>  #include \"libcamera/internal/v4l2_videodevice.h\"\n>>  \n>> -namespace {\n>> -\n>> -bool isFormatRaw(const libcamera::PixelFormat &pixFmt)\n>> -{\n>> -\treturn libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==\n>> -\t       libcamera::PixelFormatInfo::ColourEncodingRAW;\n>> -}\n>> -\n>> -} /* namespace */\n>> -\n>>  namespace libcamera {\n>>  \n>>  LOG_DEFINE_CATEGORY(MaliC55)\n>> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>> index 675f0a749..50c83fb72 100644\n>> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>> @@ -538,8 +538,7 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate()\n>>  \t */\n>>  \tif (config_.size() > 1) {\n>>  \t\tfor (const auto &cfg : config_) {\n>> -\t\t\tif (PixelFormatInfo::info(cfg.pixelFormat).colourEncoding ==\n>> -\t\t\t    PixelFormatInfo::ColourEncodingRAW) {\n>> +\t\t\tif (isFormatRaw(cfg.pixelFormat)) {\n>>  \t\t\t\tconfig_.resize(1);\n>>  \t\t\t\tstatus = Adjusted;\n>>  \t\t\t\tbreak;\n>> @@ -553,9 +552,7 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate()\n>>  \t\t * Platforms with dewarper support, such as i.MX8MP, support\n>>  \t\t * only a single stream. We can inspect config_[0] only here.\n>>  \t\t */\n>> -\t\tbool isRaw = PixelFormatInfo::info(config_[0].pixelFormat).colourEncoding ==\n>> -\t\t\t     PixelFormatInfo::ColourEncodingRAW;\n>> -\t\tif (!isRaw)\n>> +\t\tif (!isFormatRaw(config_[0].pixelFormat))\n>>  \t\t\tuseDewarper = true;\n>>  \t}\n>>  \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 BB8B5BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  1 Jul 2025 13:53:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 11E5368E2C;\n\tTue,  1 Jul 2025 15:53:56 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2C46168E24\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  1 Jul 2025 15:53:55 +0200 (CEST)","from mail-wm1-f70.google.com (mail-wm1-f70.google.com\n\t[209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-491-nGMEhpXLPyatKWxhbAXj3g-1; Tue, 01 Jul 2025 09:53:52 -0400","by mail-wm1-f70.google.com with SMTP id\n\t5b1f17b1804b1-450d244bfabso29347725e9.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 01 Jul 2025 06:53:52 -0700 (PDT)","from mzamazal-thinkpadp1gen7.tpbc.csb ([85.93.96.130])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-3a88c7fadf3sm13562747f8f.34.2025.07.01.06.53.50\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 01 Jul 2025 06:53:50 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"FHUzCWub\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1751378034;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=e63pTS49MORWRc5UIyoThZViyamdx2/hlHcYBs33rhg=;\n\tb=FHUzCWubaud9oLSAotXzOreBiOpELaDm11T3NmFfdOKU0uEf8DUO4Mw9bjQc9qmwGt8OKa\n\t9qWUyUxPLNPTNx3w/wIHXRSd75caJFDiVh84MEyFVpHdCjDewUHHgdV6R9QiR9SvqWLXpp\n\tdvepj+vSyEupsst66ynaXW6BnCijJ4s=","X-MC-Unique":"nGMEhpXLPyatKWxhbAXj3g-1","X-Mimecast-MFC-AGG-ID":"nGMEhpXLPyatKWxhbAXj3g_1751378032","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1751378031; x=1751982831;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=e63pTS49MORWRc5UIyoThZViyamdx2/hlHcYBs33rhg=;\n\tb=IIVwcveQCW4y4p71P8FYFhDZXkF79ktHBC2L5loN0ypRcv/QZ8HbDtvDEP5Z5DF0l+\n\t1Psra+4sxUYvW5P/iYQFZ31QHBSfKVDY0x3Y8QjwzKzFh5vJLRIvEvD6oKh6rBRVqW5y\n\tG5n5gniljdzVAidf8mLXSMagLPPRZEdiVD+ZqHJ+eNG7SrZqnYIG3ZPE1GzYJBrzFcZA\n\tnt9m2UjAXqn14B2yMOxKE0oJpLsmrO+90yfyqZEC7HzF+wE6YRE7+RZ5Gj9IXR3Q/2ex\n\tnsStXA01/ps40VLufVEHhJRvL/q2MDjjCEO6TWhBpsTbHSG0eWBn0Qxor4MNI2y+WqfL\n\toP0g==","X-Gm-Message-State":"AOJu0YwGL8F0rtsdHiugUg69UYojzCFJQuR/ot9zZeABkDQ1rGFfVR6W\n\tTn0B6vQHAStrBSVV5crG0tK2MDsTE/WzBQ14CFN9DVyUDcLSDmgWHUhBC6SaNGrCrIhb4SYi61f\n\tBfehdSTSdFjvEH+NI5wU/HCwVHdzLmTx/EFrp4MgJdkEzU5kEDpDxxQfjncUu4CTT0SmfrwfBCK\n\tH88/INfvA=","X-Gm-Gg":"ASbGncuz3UzdWGjOrDOO9J9sMA7FZz69/bcyVWdMqJJJr28aqQXIPJJEeZ31NiIQ6pZ\n\ti1RDpTLzBdp9dsHMabBM2tFOfGblWczdLbY7MXlYo7PHvQwdQ2fQz8oTD6OyEl8FW1bwv0d2p4B\n\t+9KNrOTrtPVlayhixjBnJ6vzljIXrZ4FHDU7HLQ2Z2IdBUkismjD1fE2/37Es5L+NNdvhHj7/p5\n\t95mGbpAcAOMifyibIVP2fCsgv/F9+RI8MBr2m5FO9Ig8DD2JETzr0Tm/DA3hTaxCB3JN/YHTd6O\n\tdnUQN4QO0CbAhBmlTollulTvar94XKXaOlDujIuT/YT9evM=","X-Received":["by 2002:a05:600c:4e50:b0:442:faa3:fadb with SMTP id\n\t5b1f17b1804b1-4539d6b018cmr97879815e9.2.1751378031380; \n\tTue, 01 Jul 2025 06:53:51 -0700 (PDT)","by 2002:a05:600c:4e50:b0:442:faa3:fadb with SMTP id\n\t5b1f17b1804b1-4539d6b018cmr97879515e9.2.1751378030866; \n\tTue, 01 Jul 2025 06:53:50 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IEb3occ6KTGclxf6v12lrLiPAtcnfMRWX9GXWvQlC9JZWNSTom2Lo8+YyZJK75b1UPV3b6HvQ==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Umang Jain <uajain@igalia.com>","Cc":"libcamera-devel@lists.libcamera.org,  Laurent Pinchart\n\t<laurent.pinchart@ideasonboard.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab?=\n\t=?utf-8?b?w6FzIFDFkWN6ZQ==?=\n\t<barnabas.pocze@ideasonboard.com>, Paul Elder\n\t<paul.elder@ideasonboard.com>","Subject":"Re: [PATCH v7 03/12] libcamera: formats: Add a helper to check for\n\ta raw pixel format","In-Reply-To":"<4mwug2asu43m3nejxmvqndf3ajftnlswjx6rsg4tkbgjyk56ol@647ukv4z6fo5>\n\t(Umang Jain's message of \"Tue, 1 Jul 2025 13:36:18 +0530\")","References":"<20250627113449.23106-1-mzamazal@redhat.com>\n\t<20250627113449.23106-4-mzamazal@redhat.com>\n\t<4mwug2asu43m3nejxmvqndf3ajftnlswjx6rsg4tkbgjyk56ol@647ukv4z6fo5>","Date":"Tue, 01 Jul 2025 15:53:49 +0200","Message-ID":"<85h5zw3tle.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"lOTlf58dgrTYdQTlcAhwlvMM6QnafedfXEJx4HQce9c_1751378032","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}}]