{"id":19475,"url":"https://patchwork.libcamera.org/api/patches/19475/?format=json","web_url":"https://patchwork.libcamera.org/patch/19475/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240202085819.119320-2-nicolas@ndufresne.ca>","date":"2024-02-02T08:58:19","name":"[2/2] gstreamer: Map 10/12/14/16 bayer formats supports","commit_ref":"38d28cc5fc73aaa25cf897ea59003fe23281f6ed","pull_url":null,"state":"accepted","archived":false,"hash":"077065c8bd777c4bc61e2838dfbd483db2b7e3fb","submitter":{"id":30,"url":"https://patchwork.libcamera.org/api/people/30/?format=json","name":"Nicolas Dufresne","email":"nicolas@ndufresne.ca"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/19475/mbox/","series":[{"id":4164,"url":"https://patchwork.libcamera.org/api/series/4164/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4164","date":"2024-02-02T08:58:18","name":"[1/2] gstreamer: Map R8/R16 pixel format","version":1,"mbox":"https://patchwork.libcamera.org/series/4164/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/19475/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/19475/checks/","tags":{},"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 C9CBABE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  2 Feb 2024 08:58:29 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8D07862807;\n\tFri,  2 Feb 2024 09:58:29 +0100 (CET)","from madrid.collaboradmins.com (madrid.collaboradmins.com\n\t[46.235.227.194])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1ACB261D13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  2 Feb 2024 09:58:28 +0100 (CET)","from nicolas-tpx395.localdomain (cola.collaboradmins.com\n\t[195.201.22.229])\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 madrid.collaboradmins.com (Postfix) with ESMTPSA id CB1EE3782096; \n\tFri,  2 Feb 2024 08:58:27 +0000 (UTC)"],"From":"Nicolas Dufresne <nicolas@ndufresne.ca>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH 2/2] gstreamer: Map 10/12/14/16 bayer formats supports","Date":"Fri,  2 Feb 2024 09:58:19 +0100","Message-ID":"<20240202085819.119320-2-nicolas@ndufresne.ca>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20240202085819.119320-1-nicolas@ndufresne.ca>","References":"<20240202085819.119320-1-nicolas@ndufresne.ca>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Cc":"Nicolas Dufresne <nicolas.dufresne@collabora.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"From: Nicolas Dufresne <nicolas.dufresne@collabora.com>\n\nThese formats are now defined in upstream GStreamer main branch, so it is now\nsafe to use their names. Note that libcamera only supports little endian\nvariants of these formats.\n\nSigned-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>\n---\n src/gstreamer/gstlibcamera-utils.cpp | 48 ++++++++++++++++++++++++++++\n 1 file changed, 48 insertions(+)","diff":"diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\nindex 2a0b77f4..469ac810 100644\n--- a/src/gstreamer/gstlibcamera-utils.cpp\n+++ b/src/gstreamer/gstlibcamera-utils.cpp\n@@ -25,6 +25,22 @@ static struct {\n \t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG8 },\n \t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG8 },\n \t{ GST_VIDEO_FORMAT_ENCODED, formats::SRGGB8 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SBGGR10 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG10 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG10 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SRGGB10 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SBGGR12 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG12 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG12 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SRGGB12 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SBGGR14 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG14 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG14 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SRGGB14 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SBGGR16 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGBRG16 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SGRBG16 },\n+\t{ GST_VIDEO_FORMAT_ENCODED, formats::SRGGB16 },\n \n \t/* Monochrome */\n \t{ GST_VIDEO_FORMAT_GRAY8, formats::R8 },\n@@ -250,6 +266,38 @@ bayer_format_to_string(int format)\n \t\treturn \"grbg\";\n \tcase formats::SRGGB8:\n \t\treturn \"rggb\";\n+\tcase formats::SBGGR10:\n+\t\treturn \"bggr10le\";\n+\tcase formats::SGBRG10:\n+\t\treturn \"gbrg10le\";\n+\tcase formats::SGRBG10:\n+\t\treturn \"grbg10le\";\n+\tcase formats::SRGGB10:\n+\t\treturn \"rggb10le\";\n+\tcase formats::SBGGR12:\n+\t\treturn \"bggr12le\";\n+\tcase formats::SGBRG12:\n+\t\treturn \"gbrg12le\";\n+\tcase formats::SGRBG12:\n+\t\treturn \"grbg12le\";\n+\tcase formats::SRGGB12:\n+\t\treturn \"rggb12le\";\n+\tcase formats::SBGGR14:\n+\t\treturn \"bggr14le\";\n+\tcase formats::SGBRG14:\n+\t\treturn \"gbrg14le\";\n+\tcase formats::SGRBG14:\n+\t\treturn \"grbg14le\";\n+\tcase formats::SRGGB14:\n+\t\treturn \"rggb14le\";\n+\tcase formats::SBGGR16:\n+\t\treturn \"bggr16le\";\n+\tcase formats::SGBRG16:\n+\t\treturn \"gbrg16le\";\n+\tcase formats::SGRBG16:\n+\t\treturn \"grbg16le\";\n+\tcase formats::SRGGB16:\n+\t\treturn \"rggb16le\";\n \t}\n \treturn NULL;\n }\n","prefixes":["2/2"]}