From patchwork Tue Aug 23 18:38:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 17193 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id B1BAFC0DA4 for ; Tue, 23 Aug 2022 18:39:04 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id EC66761FA1; Tue, 23 Aug 2022 20:39:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1661279944; bh=gMU24uuc7uQh3QLcRHI5Obz0dkYDzQjviiAivRChlBI=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=UDj15M6J1FEbA7sFhV4OFGtqKuH9MeuqnV+l578ZUDNAbXUI11E5jXW45bAV/7nwd dMVBTOHVBkYGI9lkENAsNGrXATBXefxU1WCOjIIht+CFJ+cY9j++e+nS7kEB3kFG7b 5jnPb3FFgQUdAyYbmyFv7ou5BE6yN/CDJeJNN1QM8YeaY9JocGGAs6hKl7mc3QEgI8 s6H71XPQUpog/ihCjYQ981wBM1eyiCrXutrs8pnlyzZv3s2w/KK9BOT+WDGLjDsZjp e52q/Rf39YSS+fo12I/ZEXGa7hSaennG9yixYEfxqji6rsu2t6fMSdI6VzfU+aSSqN PugJJMEMlWvOQ== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id F05D3603E3 for ; Tue, 23 Aug 2022 20:39:01 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="MhOrPHiQ"; dkim-atps=neutral Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 4D2DB2B3; Tue, 23 Aug 2022 20:39:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1661279941; bh=gMU24uuc7uQh3QLcRHI5Obz0dkYDzQjviiAivRChlBI=; h=From:To:Cc:Subject:Date:From; b=MhOrPHiQ0T3Ykb2j4ffyRzmzbmPB4GX6Yemv5B5083qlDPpwuM4DTa5ve6+6LvCtw tr/xJsJ0UB9yU9U+HXtkFnQU5FjUMdBHm/KhenY6LfbtVPIK537gJxS/peb6cpCwrL /+5BtqGAHMu0TphG7KRuaaCDQqj5XggmlK3chljI= To: libcamera-devel@lists.libcamera.org Date: Tue, 23 Aug 2022 21:38:56 +0300 Message-Id: <20220823183856.17944-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH] gstreamer: Add support for additional RGB formats X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Laurent Pinchart via libcamera-devel From: Laurent Pinchart Reply-To: Laurent Pinchart Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" libcamerasrc only supports three RGB formats. Adding the other RGB formats supported by libcamera is trivial, do so. Signed-off-by: Laurent Pinchart Reviewed-by: Umang Jain Reviewed-by: Kieran Bingham Tested-by: Xavier Roumegue Reviewed-by: Paul Elder --- I haven't tested this yet as I don't have a board hooked up that can capture these formats. If someone can test it with an OV5640 sensor on an i.MX8MP, that would be great, otherwise I'll get to it in the not too distant future. --- src/gstreamer/gstlibcamera-utils.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp index c97c0d438de2..5a21a391c698 100644 --- a/src/gstreamer/gstlibcamera-utils.cpp +++ b/src/gstreamer/gstlibcamera-utils.cpp @@ -19,9 +19,21 @@ static struct { /* Compressed */ { GST_VIDEO_FORMAT_ENCODED, formats::MJPEG }, - /* RGB */ + /* RGB16 */ + { GST_VIDEO_FORMAT_RGB16, formats::RGB565 }, + + /* RGB24 */ { GST_VIDEO_FORMAT_RGB, formats::BGR888 }, { GST_VIDEO_FORMAT_BGR, formats::RGB888 }, + + /* RGB32 */ + { GST_VIDEO_FORMAT_BGRx, formats::XRGB8888 }, + { GST_VIDEO_FORMAT_RGBx, formats::XBGR8888 }, + { GST_VIDEO_FORMAT_xBGR, formats::RGBX8888 }, + { GST_VIDEO_FORMAT_xRGB, formats::BGRX8888 }, + { GST_VIDEO_FORMAT_BGRA, formats::ARGB8888 }, + { GST_VIDEO_FORMAT_RGBA, formats::ABGR8888 }, + { GST_VIDEO_FORMAT_ABGR, formats::RGBA8888 }, { GST_VIDEO_FORMAT_ARGB, formats::BGRA8888 }, /* YUV Semiplanar */