[{"id":23790,"web_url":"https://patchwork.libcamera.org/comment/23790/","msgid":"<CACGrz-OmCgmC+znhMf2owgV6KqgPGAQ3pBmh6ZK0PGCqK39iZA@mail.gmail.com>","date":"2022-07-07T12:27:49","subject":"Re: [libcamera-devel] [PATCH v2 3/4] gstreamer:Convert between\n\trequested colorimetry and libcamera ColorSpace","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\n> gstreamer:Convert between requested colorimetry and libcamera ColorSpace\n\nYou might want to fix the subject line s/gstreamer:Convert/gstreamer: Convert\n\nOn Thu, Jul 7, 2022 at 11:45 AM Rishikesh Donadkar\n<rishikeshdonadkar@gmail.com> wrote:\n>\n> Add map colorimetryToColorSpace and the function\n\ns/Add map colorimetryToColorSpace/This patch adds a std::map called\ncolorimetryToColorSpace\n\nAdditionally, it might be good to describe in short what this map\nstores, even though the name suggests so, there's no harm in adding\nfew words.\n\n> colorspace_form_colorimetry() to convert from gstreamer colorimetry\n> to libcamera colorspace. The obtained colorspace form the conversion\n\ns/colorspace form/colorspace from\n\n> will be applied to the colorSpace field of the StreamConfiguration.\n>\n> Signed-off-by: Rishikesh Donadkar <rishikeshdonadkar@gmail.com>\n> ---\n>  src/gstreamer/gstlibcamera-utils.cpp | 15 +++++++++++++++\n>  1 file changed, 15 insertions(+)\n>\n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index eb9c49da..feefead9 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -51,6 +51,12 @@ static const std::vector<std::pair<ColorSpace, std::string>> ColorSpaceTocolorim\n>         { ColorSpace::Rec2020, GST_VIDEO_COLORIMETRY_BT2020 },\n>  };\n>\n> +static const std::map<std::string, ColorSpace> colorimetryToColorSpace = {\n> +       { GST_VIDEO_COLORIMETRY_SRGB, ColorSpace::Srgb },\n> +       { GST_VIDEO_COLORIMETRY_BT709, ColorSpace::Rec709 },\n> +       { GST_VIDEO_COLORIMETRY_BT2020, ColorSpace::Rec2020 },\n> +};\n> +\n>  static GstVideoFormat\n>  pixel_format_to_gst_format(const PixelFormat &format)\n>  {\n> @@ -119,6 +125,15 @@ colorimerty_from_colorspace(std::optional<ColorSpace> colorSpace)\n>         }\n>  }\n>\n> +void colorspace_form_colorimetry(std::optional<ColorSpace> &colorspace, const gchar *colorimetry)\n\nThis function is used local to this source file, it needs to be\ndefined static. Why not set the return type to\nstd::optional<ColorSpace> instead of passing a variable(colorspace) by\nreference and setting value to it.\n\nRegards,\nVedant Paranjape\n\n\n> +{\n> +       auto iterColorSpace = colorimetryToColorSpace.find(colorimetry);\n> +       if (iterColorSpace != colorimetryToColorSpace.end()) {\n> +               colorspace = iterColorSpace->second;\n> +               return;\n> +       }\n> +}\n> +\n>  GstCaps *\n>  gst_libcamera_stream_formats_to_caps(const StreamFormats &formats)\n>  {\n> --\n> 2.25.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 4630FBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 Jul 2022 12:28:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 95ED36043F;\n\tThu,  7 Jul 2022 14:28:03 +0200 (CEST)","from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com\n\t[IPv6:2607:f8b0:4864:20::b36])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E019660400\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 Jul 2022 14:28:01 +0200 (CEST)","by mail-yb1-xb36.google.com with SMTP id h132so1502900ybb.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 07 Jul 2022 05:28:01 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657196883;\n\tbh=sMuuCVA3BhM5NOtvlksDNrVS3vnSLvKrNQdAukNY3O0=;\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=t/KwtxXGanjSpxt5mJYK4L/nnFgmZkso4IMelAEp88m3TpSMzoD3L1/QtkTAxPlaT\n\tjXljzxhi36rGakF7sAMu04BtASCZ3cE3vgvTSw0KjaFJSa6t1zbRMlyzD7L1RyeO0x\n\tNvnN3dsJPL3oPZIkio7VTxEiIzV7uMsqWS4m403T7vosYOTCYKe4ydR5qgYnVmX0m6\n\tH5GT+qbPdYiMGaeQc1alDdYWUI9EWSowXHVezZYfr+JcrjrqbO52JmRS5/en2/Jobk\n\tw9pe5avKtuLFFdU6A18/tmnvndnCMeWo8FjJCurb/j3QPux7uVJ0ZhgeuxRYWrVo5g\n\teXVcQM7HaY+7w==","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=5FevXmQsiYNev1/SkEyFmJpZgCA2qWvOra4vTiJqeHk=;\n\tb=C8BIKoGsaMJrEFNv0YrWk8aRZKg/nY1jXo8ZPsAWEQuZrhI5pc3w90GVhU/o49w4BT\n\t5w9j098YGRBwFMhd8hJQL4X52fFRNU/mZxcNGJwqUEbydS1+Z+IY2wxYRg3Nw7NuCIGz\n\tuUV51Kh4G+217nmpZtQyu2800QbZ61/6JEkaRDb1LS4PD3vPGS+xspNN/IfknDNhnBzM\n\tyCbVRTONZ01OrwuZnFRLOGJix6/zFZ8i4UrXBqre6IQmWrdf89B9Aiuma7j4RNftBPsz\n\tTnJp+IYDvJDSsqZCkFcMggF7PgDfbPwEHWbLoEKnNDNrKhEFl9fad0M+JueX/LgaxKbs\n\tRDRw=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"C8BIKoGs\"; 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=5FevXmQsiYNev1/SkEyFmJpZgCA2qWvOra4vTiJqeHk=;\n\tb=AaQza5db41oCLidg+ci8XYHBLKbttG9Vurrjr8m78seElakIWVZRLu6QCgcqIZJ77j\n\thjJuWqMYSpcETj1dvSw2xlZ1hlwnKOakCToTvsJ3M8dfJNzqqSnbIHAoHuAUmZyj5Xz8\n\tI4IL4ZolqV/6mvOMnhYIRIosOt7OdrNKuhlWAno0fgy2leNqqEORYg1aad5e3UsRIzIX\n\tpF94Pov8BsS+S7DFtLrSj2HbVjP/iGRDL34wqMpEGTziPqW5NSTRFfVPLCGksX4Eu3PU\n\t4lYE6edU5z2sAKpBdJ/F99bFC57I9+/n5woDnwQj96aWPyMvfzLJysvDekfpoOYAf8K+\n\t3RFA==","X-Gm-Message-State":"AJIora/mEPIx1BuMhuvChcCskLwvFXLnIZB/nYp/S/iU/wkjk+ZZAcNK\n\thZSFwWdTtbJGlCx1zTOzcP2jHOaFtoAfoNVaias=","X-Google-Smtp-Source":"AGRyM1uWK5i+eS9LH1wEKiUtIi9TO98oSjFsO8PcQR+6XKO+jySaGx3mQ3zAauqcfbuIXZGe9dg2ieT4agnoHgAP+K0=","X-Received":"by 2002:a25:358b:0:b0:668:a642:ccb3 with SMTP id\n\tc133-20020a25358b000000b00668a642ccb3mr47330623yba.563.1657196880688;\n\tThu, 07 Jul 2022 05:28:00 -0700 (PDT)","MIME-Version":"1.0","References":"<20220707094402.28730-1-rishikeshdonadkar@gmail.com>\n\t<20220707094402.28730-4-rishikeshdonadkar@gmail.com>","In-Reply-To":"<20220707094402.28730-4-rishikeshdonadkar@gmail.com>","Date":"Thu, 7 Jul 2022 14:27:49 +0200","Message-ID":"<CACGrz-OmCgmC+znhMf2owgV6KqgPGAQ3pBmh6ZK0PGCqK39iZA@mail.gmail.com>","To":"Rishikesh Donadkar <rishikeshdonadkar@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH v2 3/4] gstreamer:Convert between\n\trequested colorimetry and libcamera ColorSpace","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>"}}]