Cover Letter Detail
Show a cover letter.
GET /api/covers/16587/?format=api
{ "id": 16587, "url": "https://patchwork.libcamera.org/api/covers/16587/?format=api", "web_url": "https://patchwork.libcamera.org/cover/16587/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20220711153711.36679-1-rishikeshdonadkar@gmail.com>", "date": "2022-07-11T15:37:06", "name": "[libcamera-devel,v3,0/5] Add colorimetry support to libcamera gstreamer element.", "submitter": { "id": 118, "url": "https://patchwork.libcamera.org/api/people/118/?format=api", "name": "Rishikesh Donadkar", "email": "rishikeshdonadkar@gmail.com" }, "mbox": "https://patchwork.libcamera.org/cover/16587/mbox/", "series": [ { "id": 3270, "url": "https://patchwork.libcamera.org/api/series/3270/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3270", "date": "2022-07-11T15:37:06", "name": "Add colorimetry support to libcamera gstreamer element.", "version": 3, "mbox": "https://patchwork.libcamera.org/series/3270/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/16587/comments/", "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 5B721BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 11 Jul 2022 15:37:27 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AC6C562752;\n\tMon, 11 Jul 2022 17:37:26 +0200 (CEST)", "from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com\n\t[IPv6:2607:f8b0:4864:20::42e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B388260401\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 11 Jul 2022 17:37:24 +0200 (CEST)", "by mail-pf1-x42e.google.com with SMTP id l124so5076253pfl.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 11 Jul 2022 08:37:24 -0700 (PDT)", "from localhost.localdomain ([103.124.170.70])\n\tby smtp.googlemail.com with ESMTPSA id\n\tu18-20020a17090a891200b001ef87123615sm4891268pjn.37.2022.07.11.08.37.19\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 11 Jul 2022 08:37:22 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657553846;\n\tbh=F/yITT206bgTdL2YwSwEqm0tKtKqYWI+yTPz5IlG3Rg=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=ZsYijXZehtls433uPm9+TQKa8Gw+TuAJFwBXoxgYvhzUzq4swVmUgvadIA+NQAIxo\n\t6CJvhbX0RdTzN4OTuwFSkwoDp+858gduNFhPK5+43bnhy71JUWpkaY3ZfUsbgr/Fx/\n\t2sztPHN6rZdzQseycrG44K36eolEM1ET17G39Boip+POWEkJV7g4INBoZRa62Gvm3u\n\tywEZDvxSHyzD8lkVBqag2pH/ZWuhcu+G76b935T/9/VdIfkxSwNTSpstOU5P055Rec\n\tpPSg92dwmUFC4CGzpcLRUFEpiuh236evc8AZAISuwAowcqLKRhVc9YAgo76KAamU9N\n\t4Bn4MKnjNr3ww==", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n\th=from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=9LtfPhc5+iHDtppR5xnGVZj6dGZbrLlkGO277y26yV8=;\n\tb=JMvuCTDZVoIU4bpS6yxJ05jBqiCn7d9ADg22+/JmPJhkj4/C7pNG/KvkHrB27irX2K\n\tFhZf0c5FvcidjCBR7gBxDgHmSoY/D5WtVaTqVutFVfgGDto3aaNwzEsPWmJmKTbO02uR\n\tXfn9ZcskPOkXZIqYX6bgDQ5udLJpQD+E1ycvbOXvZtaTOAmAmDBJxYakxsawqyTnlGlT\n\tsa764VAYURjsug7GsWN5jsPcRfVySWPNvHj4UwvqvSjKDcX3hy/pbYk78Rwp2r6d9gVj\n\tEMivt7iVAvPQDVgB0f2iXL3lRwmn/RC2rhFA9pl54evBClq+/bRe/vrYWpu2gReTTjaJ\n\tDZ5g==" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"JMvuCTDZ\"; 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:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=9LtfPhc5+iHDtppR5xnGVZj6dGZbrLlkGO277y26yV8=;\n\tb=UfHdddc2X0tKak2zWXLupwxygLgR3dgB6RJpE+eRr7f+ZQOPELRD9G3yGSkHY2Es93\n\t49qamwvBUBHne/o9GLdOGqCNNXtfTkUTnOx8T6m/jLBk3kij445OrvmuBwCtuNqWfFtZ\n\t41uIfKI83KSl33TOmJgkKy5+zPqmFN5t2UYeb+AhoL9bHXpfxwie1TP4/xCYi+SMqJ6Q\n\tTSUfGzNav26wq0OyeqMIwcSpHsV3Zd/KuJYbLWu3ps19xdul4/NnjEHBqR1VJyvQd0l4\n\tTCD3HrWwLUWPokQHJTzu/7tflgQkiwwhrWA8vuBTmN6KxcaCLI3Db4T/I+UvFDH8pPCw\n\ty0aw==", "X-Gm-Message-State": "AJIora/pZE2HW+3P10+uqB/ZQOsEGLatJaFrZGrr1FhMEf6F/OzRcXEK\n\tm06Yly6+U8+HJf46Z8jVS6NiRtwUi4g=", "X-Google-Smtp-Source": "AGRyM1slTFiowaiqN2CrLZxC1qPAq8eB93t2j5ArzbJpjLumSc7MQs4l3n4CzErwzmO6TAXf25e0HQ==", "X-Received": "by 2002:aa7:8895:0:b0:528:c6c7:c603 with SMTP id\n\tz21-20020aa78895000000b00528c6c7c603mr19216331pfe.46.1657553842442; \n\tMon, 11 Jul 2022 08:37:22 -0700 (PDT)", "To": "libcamera-devel@lists.libcamera.org", "Date": "Mon, 11 Jul 2022 21:07:06 +0530", "Message-Id": "<20220711153711.36679-1-rishikeshdonadkar@gmail.com>", "X-Mailer": "git-send-email 2.25.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v3 0/5] Add colorimetry support to\n\tlibcamera gstreamer element.", "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": "Rishikesh Donadkar via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>", "Reply-To": "Rishikesh Donadkar <rishikeshdonadkar@gmail.com>", "Cc": "Rishikesh Donadkar <rishikeshdonadkar@gmail.com>,\n\tnicolas.dufresne@collabora.com, vedantparanjape160201@gmail.com", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "This series aims to add colorimetry support to the libcamera gstreamer\nelement.\n\nIf colorimetry is specified by the user in the gstreamer pipeline, try to\napply the libcamera colorspace corresponding to the GStreamer colorimetry\nto the camera if the colorspace passes the validation then push the\ncolorimetry corresponding to the valid colorspace in the caps.\nIf the colorimetry pushed into the caps is same as requested negotiation\nwill succeed, else negotiation will fail.\n\nIf no colorimetry is specified by the user in the gstreamer pipeline,\npush the GStreamer colorimetry corresponding to the current colorspace\napplied to the camera into the caps and the negotiation will be take\ncare of by the gstreamer. If the colorimetry corresponding to the current\nlibcamera colorspace is not available in gstreamer then remove the \ncolorimetry field if present in the caps.\n\n[PATCH 1/5] - Made a verbose commit message. Introduced a new helper function\n for converting std::string representation of colorimetry into \n G_STRING_TYPE. Removed unnecessary g_free(). Removed the std::optional\n wrapper around the colorSpace when converting into colorspace and \n passed the value of the colorSpace instead to the function as it is\n checked to have value before passing to the function.\n Eliminated the code which was checking if the colorimetry is valid\n colorimetry will be valid always because we are working with predefined \n colorimetries in gstreamer.\n\n[PATCH 2/5] - Simplified the if-else block. Eliminated the code where colorimetry\n was set to nullptr when it was not known. Insted the field is left\n unset. If the field is present and is unset then remove the field.\n\n[PATCH 3/5] - colorSpace was passed by reference as a function argument in the \n function colorimetry_form_colorspace(), Changed the function to \n return the colorspace instead and setting the colorspace in the \n StreamConfiguration was done after the colorspace is returned from \n the function. The local functions that were used in the same file \n were declared static.\n\n[PATCH 4/5] - Made the changes required due to the changes made in patch 3\n\n[PATCH 5/5] - If the camera cannot deliver the colorspace requested in the \n gstreamer pipeline then the colorspace is reset to the value \n that was present before the attempt was made to set the \n colorspace corresponding to the requested colorimetry.\n\nRishikesh Donadkar (5):\n gstreamer: convert from libcamera colorspace to GStreamer colorimetry.\n gstreamer: Update the obtained colorimetry in caps.\n gstreamer: Convert from GStreamer colorimetry to libcamera ColorSpace\n gstreamer: Configure the colorSpace in the Stream configuration.\n gstreamer: Reset the colorSpace if not the same after validation.\n\n src/gstreamer/gstlibcamera-utils.cpp | 69 ++++++++++++++++++++++++++++\n src/gstreamer/gstlibcamerasrc.cpp | 12 +++++\n 2 files changed, 81 insertions(+)" }