[{"id":23723,"web_url":"https://patchwork.libcamera.org/comment/23723/","msgid":"<71a307e713e9fef85b2321b3b9725be45948f5d1.camel@collabora.com>","date":"2022-07-04T18:08:14","subject":"Re: [libcamera-devel] [PATCH v1 1/5] gstreamer: Convert form\n\tcolorspace to colorimetry.","submitter":{"id":31,"url":"https://patchwork.libcamera.org/api/people/31/","name":"Nicolas Dufresne","email":"nicolas.dufresne@collabora.com"},"content":"Hi Rishikesh,\n\nIn the subject line, \"Convert form\" should be \"Convert from\". I would probably\nuse some way so readers knows that your converting from GStreamer to Libcamera\nrepresentation of colorspace/colorimetry.\n\nLe dimanche 03 juillet 2022 à 13:03 +0530, Rishikesh Donadkar a écrit :\n> Libcamera StreamConfiguration class has colorSpace attribute, which\n> holds the colorspace that is being applied to the camera after the\n> validation of the camera configuration.\n> \n> Map between the libcamera colorspace and GStreamer colorimetry and find\n> the closest colorimetry corresponding to the colorspace in stream\n> configuration.\n> \n> Signed-off-by: Rishikesh Donadkar <rishikeshdonadkar@gmail.com>\n> ---\n>  src/gstreamer/gstlibcamera-utils.cpp | 71 ++++++++++++++++++++++++++++\n>  1 file changed, 71 insertions(+)\n> \n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index 3f242286..20c39919 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -45,6 +45,34 @@ static struct {\n>  \t/* \\todo NV42 is used in libcamera but is not mapped in GStreamer yet. */\n>  };\n>  \n> +static const std::vector<std::pair<ColorSpace, std::string>> ColorSpaceTocolorimetry = {\n> +\t{ ColorSpace::Srgb, GST_VIDEO_COLORIMETRY_SRGB },\n> +\t{ ColorSpace::Rec709, GST_VIDEO_COLORIMETRY_BT709 },\n> +\t{ ColorSpace::Rec2020, GST_VIDEO_COLORIMETRY_BT2020 },\n> +};\n> +\n> +static const std::map<ColorSpace::Primaries, GstVideoColorPrimaries> ToGstVideoColorPrimaries = {\n> +\t{ ColorSpace::Primaries::Smpte170m, GST_VIDEO_COLOR_PRIMARIES_SMPTE170M },\n> +\t{ ColorSpace::Primaries::Rec709, GST_VIDEO_COLOR_PRIMARIES_BT709 },\n> +\t{ ColorSpace::Primaries::Rec2020, GST_VIDEO_COLOR_PRIMARIES_BT2020 },\n> +};\n> +\n> +static const std::map<ColorSpace::TransferFunction, GstVideoTransferFunction> ToGstVideoTransferFunction = {\n> +\t{ ColorSpace::TransferFunction::Srgb, GST_VIDEO_TRANSFER_SRGB },\n> +\t{ ColorSpace::TransferFunction::Rec709, GST_VIDEO_TRANSFER_BT709 },\n> +};\n> +\n> +static const std::map<ColorSpace::YcbcrEncoding, GstVideoColorMatrix> ToGstVideoColorMatrix = {\n> +\t{ ColorSpace::YcbcrEncoding::Rec601, GST_VIDEO_COLOR_MATRIX_BT601 },\n> +\t{ ColorSpace::YcbcrEncoding::Rec709, GST_VIDEO_COLOR_MATRIX_BT709 },\n> +\t{ ColorSpace::YcbcrEncoding::Rec2020, GST_VIDEO_COLOR_MATRIX_BT2020 },\n> +};\n> +\n> +static const std::map<ColorSpace::Range, GstVideoColorRange> ToGstVideoColorRange = {\n> +\t{ ColorSpace::Range::Full, GST_VIDEO_COLOR_RANGE_0_255 },\n> +\t{ ColorSpace::Range::Limited, GST_VIDEO_COLOR_RANGE_16_235 },\n> +};\n> +\n>  static GstVideoFormat\n>  pixel_format_to_gst_format(const PixelFormat &format)\n>  {\n> @@ -87,6 +115,49 @@ bare_structure_from_format(const PixelFormat &format)\n>  \t}\n>  }\n>  \n> +static const gchar *\n> +colorimerty_from_colorspace(std::optional<ColorSpace> colorSpace)\n> +{\n> +\tconst gchar *colorimetry_str;\n> +\tGstVideoColorimetry colorimetry;\n> +\n> +\tauto iterColorimetry = std::find_if(ColorSpaceTocolorimetry.begin(), ColorSpaceTocolorimetry.end(),\n> +\t\t\t\t\t    [&colorSpace](const auto &item) {\n> +\t\t\t\t\t\t    return colorSpace == item.first;\n> +\t\t\t\t\t    });\n> +\tif (iterColorimetry != ColorSpaceTocolorimetry.end()) {\n> +\t\tcolorimetry_str = (gchar *)iterColorimetry->second.c_str();\n\nAny reason for this cast ?\n\n> +\t\treturn colorimetry_str;\n\nI believe, even libcamera may pick a well known colorspace with small\nalteration. So instead of this, you maybe want to call\ngst_video_colorimetry_from_string() and keep processing the rest of the\ncolorSpace information.\n\nYou should also pick a well known default, or just add the possibility to not\nset the colorimetry field at all.\n\n> +\t}\n> +\n> +\tauto iterPrimaries = ToGstVideoColorPrimaries.find(colorSpace->primaries);\n> +\tif (iterPrimaries != ToGstVideoColorPrimaries.end())\n> +\t\tcolorimetry.primaries = iterPrimaries->second;\n> +\telse\n> +\t\tcolorimetry.primaries = GST_VIDEO_COLOR_PRIMARIES_UNKNOWN;\n\nThis should never be used. It is only there so that we can set an invalid\ndefault to the structure, or to signal an parsing error.\n\n> +\n> +\tauto iterTransferFunction = ToGstVideoTransferFunction.find(colorSpace->transferFunction);\n> +\tif (iterTransferFunction != ToGstVideoTransferFunction.end())\n> +\t\tcolorimetry.transfer = iterTransferFunction->second;\n> +\telse\n> +\t\tcolorimetry.transfer = GST_VIDEO_TRANSFER_UNKNOWN;\n\nSame.\n\n> +\n> +\tauto iterYcbcrEncoding = ToGstVideoColorMatrix.find(colorSpace->ycbcrEncoding);\n> +\tif (iterYcbcrEncoding != ToGstVideoColorMatrix.end())\n> +\t\tcolorimetry.matrix = iterYcbcrEncoding->second;\n> +\telse\n> +\t\tcolorimetry.matrix = GST_VIDEO_COLOR_MATRIX_UNKNOWN;\n\nSame.\n\n> +\n> +\tauto iterRange = ToGstVideoColorRange.find(colorSpace->range);\n> +\tif (iterRange != ToGstVideoColorRange.end())\n> +\t\tcolorimetry.range = iterRange->second;\n> +\telse\n> +\t\tcolorimetry.range = GST_VIDEO_COLOR_RANGE_UNKNOWN;\n\nSame.\n\n> +\n> +\tcolorimetry_str = gst_video_colorimetry_to_string(&colorimetry);\n> +\treturn colorimetry_str;\n\nAs the return is a const char *, the colorimetry string is leaked here.\n\n> +}\n> +\n>  GstCaps *\n>  gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\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 13EDFBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  4 Jul 2022 18:08:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C2DAE6564E;\n\tMon,  4 Jul 2022 20:08:25 +0200 (CEST)","from madras.collabora.co.uk (madras.collabora.co.uk\n\t[46.235.227.172])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5A0F661FB1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  4 Jul 2022 20:08:24 +0200 (CEST)","from nicolas-tpx395.localdomain (mtl.collabora.ca [66.171.169.34])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (4096 bits)\n\tserver-digest SHA256)\n\t(No client certificate requested) (Authenticated sender: nicolas)\n\tby madras.collabora.co.uk (Postfix) with ESMTPSA id 87D10660199B;\n\tMon,  4 Jul 2022 19:08:23 +0100 (BST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1656958105;\n\tbh=q35bXGO0TjCnDn/D3v3UwFvvtQbLT8Y6CX8KCwHkAoQ=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=FIhpESvgJKP+lIBm4DkmXhmkMPJZdvkwDAHF/ejkDNmCug4lTssVMdbFTRNA7R+Ap\n\tlUzNVIFtCXkt0m985ewVS/WWlVL9EVHO9YY+dmw8mxuKU75nr8ZFpGhMtrDsAKpNHe\n\tPRZcYOcaJQe+VKulzVQuQf+X/axBoK7R6LH+mvAgxM3Gnq1lxPwRFZVdnG+/NIZw+Q\n\tq/QaTGlY9M4PZcuk2g1rNlHN4vQQG7DXGENX717JsWacoONCIiXChpkAGZ4UU5XpLQ\n\tMv6K8XIh4PuGbA01+R51e5s9M+nEa3UuMgfMdYNb+wKsLXXEJBrooZfKz6l7aPvJTZ\n\tU9m1+7K8+EMbQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;\n\ts=mail; t=1656958104;\n\tbh=q35bXGO0TjCnDn/D3v3UwFvvtQbLT8Y6CX8KCwHkAoQ=;\n\th=Subject:From:To:Cc:Date:In-Reply-To:References:From;\n\tb=di8Kyy8Ne2OD/0PiV0eaNeXsNMAWU4BULblC0+jhJREE26ZaFYi/cx8o5zwfDY/75\n\toTN4WtOH4obhnLu2IGhUiHq6JBptT4sUIEHl/R6WuXjQtpFeCYrM2BCXEA30RVcRB9\n\tpFRPgALkjo+gSQhpmJh9DJ1IOfFRFmbC+5IFn0cVXET6V8/3RgQcx8OTJLTvzVfXN5\n\tbIyMzD8qX62DWSlloguzYoNQ/f7Ch7t5TUFMjCvPNCuBa+lGLEC9t/WpMzskTAGZH2\n\ttJ0NvFMtkHiw5zVv35Bz13hf+Pz1VxqVAX2eiB1WlBt8HovBrLpof+QAyHcQZTXWnw\n\t2R2syZ7nSL7KQ=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=collabora.com\n\theader.i=@collabora.com\n\theader.b=\"di8Kyy8N\"; dkim-atps=neutral","Message-ID":"<71a307e713e9fef85b2321b3b9725be45948f5d1.camel@collabora.com>","To":"Rishikesh Donadkar <rishikeshdonadkar@gmail.com>, \n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 04 Jul 2022 14:08:14 -0400","In-Reply-To":"<20220703073358.76643-1-rishikeshdonadkar@gmail.com>","References":"<20220703073358.76643-1-rishikeshdonadkar@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","User-Agent":"Evolution 3.44.2 (3.44.2-1.fc36) ","MIME-Version":"1.0","Subject":"Re: [libcamera-devel] [PATCH v1 1/5] gstreamer: Convert form\n\tcolorspace to colorimetry.","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>","From":"Nicolas Dufresne via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Nicolas Dufresne <nicolas.dufresne@collabora.com>","Cc":"vedantparanjape160201@gmail.com","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23740,"web_url":"https://patchwork.libcamera.org/comment/23740/","msgid":"<CACGrz-OMHZxSdQQwpbOhW8QtdoaaQqDmUC4ii4+34P2VKDbw_g@mail.gmail.com>","date":"2022-07-05T13:37:40","subject":"Re: [libcamera-devel] [PATCH v1 1/5] gstreamer: Convert form\n\tcolorspace to colorimetry.","submitter":{"id":85,"url":"https://patchwork.libcamera.org/api/people/85/","name":"Vedant Paranjape","email":"vedantparanjape160201@gmail.com"},"content":"Hello Rishikesh,\n\nThanks for the patch.\n\nSubject line can be better as suggested by Nicolas:\n\ngstreamer: convert from GStreamer to libcamera colorspace\n\nOn Sun, Jul 3, 2022 at 9:34 AM Rishikesh Donadkar <\nrishikeshdonadkar@gmail.com> wrote:\n\n> Libcamera StreamConfiguration class has colorSpace attribute, which\n> holds the colorspace that is being applied to the camera after the\n> validation of the camera configuration.\n>\n> Map between the libcamera colorspace and GStreamer colorimetry and find\n> the closest colorimetry corresponding to the colorspace in stream\n> configuration.\n>\n\ns/Map between the libcamera colorspace and GStreamer colorimetr/Map the\nlibcamera colorspace to GStreamer colorimetry.\n\n\n> Signed-off-by: Rishikesh Donadkar <rishikeshdonadkar@gmail.com>\n> ---\n>  src/gstreamer/gstlibcamera-utils.cpp | 71 ++++++++++++++++++++++++++++\n>  1 file changed, 71 insertions(+)\n>\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp\n> b/src/gstreamer/gstlibcamera-utils.cpp\n> index 3f242286..20c39919 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -45,6 +45,34 @@ static struct {\n>         /* \\todo NV42 is used in libcamera but is not mapped in GStreamer\n> yet. */\n>  };\n>\n> +static const std::vector<std::pair<ColorSpace, std::string>>\n> ColorSpaceTocolorimetry = {\n> +       { ColorSpace::Srgb, GST_VIDEO_COLORIMETRY_SRGB },\n> +       { ColorSpace::Rec709, GST_VIDEO_COLORIMETRY_BT709 },\n> +       { ColorSpace::Rec2020, GST_VIDEO_COLORIMETRY_BT2020 },\n> +};\n> +\n> +static const std::map<ColorSpace::Primaries, GstVideoColorPrimaries>\n> ToGstVideoColorPrimaries = {\n> +       { ColorSpace::Primaries::Smpte170m,\n> GST_VIDEO_COLOR_PRIMARIES_SMPTE170M },\n> +       { ColorSpace::Primaries::Rec709, GST_VIDEO_COLOR_PRIMARIES_BT709 },\n> +       { ColorSpace::Primaries::Rec2020, GST_VIDEO_COLOR_PRIMARIES_BT2020\n> },\n> +};\n> +\n> +static const std::map<ColorSpace::TransferFunction,\n> GstVideoTransferFunction> ToGstVideoTransferFunction = {\n> +       { ColorSpace::TransferFunction::Srgb, GST_VIDEO_TRANSFER_SRGB },\n> +       { ColorSpace::TransferFunction::Rec709, GST_VIDEO_TRANSFER_BT709 },\n> +};\n> +\n> +static const std::map<ColorSpace::YcbcrEncoding, GstVideoColorMatrix>\n> ToGstVideoColorMatrix = {\n> +       { ColorSpace::YcbcrEncoding::Rec601, GST_VIDEO_COLOR_MATRIX_BT601\n> },\n> +       { ColorSpace::YcbcrEncoding::Rec709, GST_VIDEO_COLOR_MATRIX_BT709\n> },\n> +       { ColorSpace::YcbcrEncoding::Rec2020,\n> GST_VIDEO_COLOR_MATRIX_BT2020 },\n> +};\n> +\n> +static const std::map<ColorSpace::Range, GstVideoColorRange>\n> ToGstVideoColorRange = {\n> +       { ColorSpace::Range::Full, GST_VIDEO_COLOR_RANGE_0_255 },\n> +       { ColorSpace::Range::Limited, GST_VIDEO_COLOR_RANGE_16_235 },\n> +};\n> +\n>  static GstVideoFormat\n>  pixel_format_to_gst_format(const PixelFormat &format)\n>  {\n> @@ -87,6 +115,49 @@ bare_structure_from_format(const PixelFormat &format)\n>         }\n>  }\n>\n> +static const gchar *\n> +colorimerty_from_colorspace(std::optional<ColorSpace> colorSpace)\n> +{\n> +       const gchar *colorimetry_str;\n> +       GstVideoColorimetry colorimetry;\n> +\n> +       auto iterColorimetry =\n> std::find_if(ColorSpaceTocolorimetry.begin(), ColorSpaceTocolorimetry.end(),\n> +                                           [&colorSpace](const auto\n> &item) {\n> +                                                   return colorSpace ==\n> item.first;\n> +                                           });\n> +       if (iterColorimetry != ColorSpaceTocolorimetry.end()) {\n> +               colorimetry_str = (gchar *)iterColorimetry->second.c_str();\n> +               return colorimetry_str;\n> +       }\n> +\n> +       auto iterPrimaries =\n> ToGstVideoColorPrimaries.find(colorSpace->primaries);\n> +       if (iterPrimaries != ToGstVideoColorPrimaries.end())\n> +               colorimetry.primaries = iterPrimaries->second;\n> +       else\n> +               colorimetry.primaries = GST_VIDEO_COLOR_PRIMARIES_UNKNOWN;\n> +\n> +       auto iterTransferFunction =\n> ToGstVideoTransferFunction.find(colorSpace->transferFunction);\n> +       if (iterTransferFunction != ToGstVideoTransferFunction.end())\n> +               colorimetry.transfer = iterTransferFunction->second;\n> +       else\n> +               colorimetry.transfer = GST_VIDEO_TRANSFER_UNKNOWN;\n> +\n> +       auto iterYcbcrEncoding =\n> ToGstVideoColorMatrix.find(colorSpace->ycbcrEncoding);\n> +       if (iterYcbcrEncoding != ToGstVideoColorMatrix.end())\n> +               colorimetry.matrix = iterYcbcrEncoding->second;\n> +       else\n> +               colorimetry.matrix = GST_VIDEO_COLOR_MATRIX_UNKNOWN;\n> +\n> +       auto iterRange = ToGstVideoColorRange.find(colorSpace->range);\n> +       if (iterRange != ToGstVideoColorRange.end())\n> +               colorimetry.range = iterRange->second;\n> +       else\n> +               colorimetry.range = GST_VIDEO_COLOR_RANGE_UNKNOWN;\n> +\n> +       colorimetry_str = gst_video_colorimetry_to_string(&colorimetry);\n> +       return colorimetry_str;\n> +}\n> +\n>  GstCaps *\n>  gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>  {\n> --\n> 2.25.1\n>\n>\nRegards,\nVedant Paranjape","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 E7CC3BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  5 Jul 2022 13:37:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3A2F663310;\n\tTue,  5 Jul 2022 15:37:55 +0200 (CEST)","from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com\n\t[IPv6:2607:f8b0:4864:20::1132])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B8AC861FB0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  5 Jul 2022 15:37:53 +0200 (CEST)","by mail-yw1-x1132.google.com with SMTP id\n\t00721157ae682-3137316bb69so108797487b3.10\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 05 Jul 2022 06:37:53 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657028275;\n\tbh=Lszm0KH0L5hTc9l5xSHJV4NCXWRDzNu0w5GKOPz6Tnc=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=fuLlTR6oSDjW98MgR8pr5btelTca0IC8Uq1bN20nFlgqY0IyijUgunqEQxJquLlMT\n\t4X/xNHxem3tsW9DyUOObTaAINOX7GlkcK7KywewTApKPeWGzLwgttPtWn5sY+F6iqh\n\tFT5bgcEWlSeJ/87FjD3z0ee8VC4JR7jU5mKInw2DK8gCMYS7EJ3ZxaT0EkPULkODUN\n\t4HOOdNGm3T9utuqF7j87jeygpKGX4AgsIwL080x+1lQfKOyvAHB/SmEV37Gq5sTclL\n\tLMeRFBk2xpZ0GzJ++aVWVDlrKxTtCL+1zL6c1UOd6fHNrluNgTvg4RL6GqCdkzYSta\n\t5SCPUgbCOxJ9w==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=y9Ye0il7rESUB1UTpX7JQqC1huXZ1G3WH1qYz8fbVU0=;\n\tb=RQZwzOzjuSudeP2ygE9zmrRW2dkFyTLuEc6cYqyWjMvT5gyEGqLGo4WvhO6mToZM+5\n\trXVruk4JAmo09+oy+srIOZlzcFO2iWPatyu8VupUK6sS0Q9ZnPmjkkWLkw5KWdoLoeiZ\n\tLMLIyk4K7mF1NEb+JlvRS+wEMfL6CFL+Q6EA6CmdbuX5V/1zLT6DDjlkmgzGWDA6i7Fo\n\tjs/VbERw6qo02colSwxEWEJnQqKPq7iAqC8L0RHFT2C5T+hLfE7kpCb+/436IQ6jm34a\n\ttCXwv0Ud+/2oGP+gMTh1l2uIGALDpbyJP5As5krG4waoNutvj/ryGaS2GKpmS8vJrIgZ\n\tV2Pg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"RQZwzOzj\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=y9Ye0il7rESUB1UTpX7JQqC1huXZ1G3WH1qYz8fbVU0=;\n\tb=C6F751rLAFVNiZKHa5/W3N/CwQuEcsCnQSIqU3u2rHsWKItnTPtpQErgRE8y3BrIJw\n\thmnBcUn51RKvmY2aJXIAZHuku1V0Gc0UdyEWQfqHILwQRZz79hn9oFmgAvY2oDF02YXz\n\tzsqrNwBt2f+HJZeWOR3DcRp9y8OCIxA4UK3R/uDJHzeoZbSQr38ZL1Sjda4Ul4Fl0p/d\n\t079P9qdYnhw1Aofw3BsLyms8iKbFSo5Dtx7bayO0PvW9oxm/keSw8DExKyFbmHITkQ/f\n\tFuIrLgYkw0UJk6vPq/PUEWuSRhYoDriFHZnOktthFYAHcWuzFH0iVKbDLqJ3Kxt3N0bL\n\tJx5A==","X-Gm-Message-State":"AJIora8gUnL7+nzn8iGLggkmGg3IzJfk2j0zCBeTrVZt/qVLTknZGGh6\n\tZKQJas1YeGAGyTzRmUnng/sj5uX3Cy8CXaDPOSM=","X-Google-Smtp-Source":"AGRyM1tkn6u1mLAeSKF7yKhC1+WnFGvAJ9/fdsl80AR80nJK6sjVP6baqEUAzevuKx1l/fG3/UKwI15xsJ/f19Zw2/0=","X-Received":"by 2002:a81:658a:0:b0:31c:7571:7c97 with SMTP id\n\tz132-20020a81658a000000b0031c75717c97mr22289214ywb.514.1657028272433;\n\tTue, 05 Jul 2022 06:37:52 -0700 (PDT)","MIME-Version":"1.0","References":"<20220703073358.76643-1-rishikeshdonadkar@gmail.com>","In-Reply-To":"<20220703073358.76643-1-rishikeshdonadkar@gmail.com>","Date":"Tue, 5 Jul 2022 15:37:40 +0200","Message-ID":"<CACGrz-OMHZxSdQQwpbOhW8QtdoaaQqDmUC4ii4+34P2VKDbw_g@mail.gmail.com>","To":"Rishikesh Donadkar <rishikeshdonadkar@gmail.com>","Content-Type":"multipart/alternative; boundary=\"0000000000008fb14805e30ef55c\"","Subject":"Re: [libcamera-devel] [PATCH v1 1/5] gstreamer: Convert form\n\tcolorspace to colorimetry.","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>","From":"Vedant Paranjape via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Vedant Paranjape <vedantparanjape160201@gmail.com>","Cc":"LibCamera Devel <libcamera-devel@lists.libcamera.org>,\n\tNicolas Dufresne <nicolas.dufresne@collabora.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]