[{"id":23765,"web_url":"https://patchwork.libcamera.org/comment/23765/","msgid":"<YsVUASTisQrsMYdM@pendragon.ideasonboard.com>","date":"2022-07-06T09:21:05","subject":"Re: [libcamera-devel] [PATCH v2 3/3] qcam: viewfinder_qt: Support X\n\tRGB variants","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Wed, Jul 06, 2022 at 10:06:42AM +0100, Kieran Bingham via libcamera-devel wrote:\n> Support the X variants of the RGB pixel formats\n> along side the equivalent Alpha component based versions.\n\ns/along side/alongside/\n\n(you can reflow the text too)\n\n> The Alpha channel is ignored by both QImage::Format_RGB32, and\n> QImage::Format_RGBX8888.\n\nThat's not guaranteed by the Qt documentation as far as I understand.\nI'd write\n\nThe QImage::Format_RGB32 and QImage::Format_RGBX8888 formats only\nspecify that the alpha component must be 0xff. While the Qt\ndocumentation doesn't guarantee that the alpha value will be ignored by\nconsumers, this seems to be the implemented behaviour, at least when\nrendering with QPainter::drawImage().\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> The existing use of QImage::Format_RGBA8888 is updated to use the\n> QImage::Format_RGBX8888 variant to ensure that the image data is\n> visible.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n> \n> v2:\n>  - Update to use QImage::Format_RGBX8888 over QImage::Format_RGBA8888\n> \n>  src/qcam/viewfinder_qt.cpp | 4 +++-\n>  1 file changed, 3 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/qcam/viewfinder_qt.cpp b/src/qcam/viewfinder_qt.cpp\n> index 27955e3f9593..7a6a60c96393 100644\n> --- a/src/qcam/viewfinder_qt.cpp\n> +++ b/src/qcam/viewfinder_qt.cpp\n> @@ -27,9 +27,11 @@\n>  static const QMap<libcamera::PixelFormat, QImage::Format> nativeFormats\n>  {\n>  #if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)\n> -\t{ libcamera::formats::ABGR8888, QImage::Format_RGBA8888 },\n> +\t{ libcamera::formats::ABGR8888, QImage::Format_RGBX8888 },\n> +\t{ libcamera::formats::XBGR8888, QImage::Format_RGBX8888 },\n>  #endif\n>  \t{ libcamera::formats::ARGB8888, QImage::Format_RGB32 },\n> +\t{ libcamera::formats::XRGB8888, QImage::Format_RGB32 },\n>  #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)\n>  \t{ libcamera::formats::RGB888, QImage::Format_BGR888 },\n>  #endif","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 A2ADBBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  6 Jul 2022 09:21:33 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0629963312;\n\tWed,  6 Jul 2022 11:21:33 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A2A716330F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  6 Jul 2022 11:21:31 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EFCFC593;\n\tWed,  6 Jul 2022 11:21:30 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657099293;\n\tbh=xY8U6DyIo9693f/l6k/5zyHizS+tmW593VpkDPUyqT4=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=0rVB9Ymmkl3QJ/sXpXbAYxSKNU71RWu6v4AppXiy0mAplgoRN1C1gv82ZD3+AtPAF\n\tloIM4lFrMqHFI/NtGOJd8dUnx1MLa1MVBVYKfZgzAeZix6IM86r9mDXiLAwgZCiQQQ\n\t9G/nihJf7UkIeFyyLFnEeXxR2bPe4HYuEhj3IvqpGyyiPKMgGeq7YAvyfLywPd6agP\n\tpRo1CDwk0GgQ/KUGUbS2ezHOqhoHu04e05BAVaZD7yD9Trqt4leWu9gJDh1WJKq5Xx\n\tiB3qpjUgGgg6PkvF3M6duAxaNQaftRPh7b4uQX6Cp69uhpPwNodaeoHYUAjQLzC9Wl\n\txAgdgUoKjfcyg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1657099291;\n\tbh=xY8U6DyIo9693f/l6k/5zyHizS+tmW593VpkDPUyqT4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=huQOwm8sZ2mi21kGUHhRAqPGbcLhq0oHk1HAol2Weu6ABUugxH4Fu+y5HTpFuKqBK\n\t+jfks+0VYWPpq5PVK4KajsBN3KY5P5lqkMfuvZ7VnuMh7NVKaoYx1JMxn6RZGB+84D\n\twIzNZ1cI/eb6h9Ddn1c2Hde/eZ1ct1+eWU1QBxbc="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"huQOwm8s\"; dkim-atps=neutral","Date":"Wed, 6 Jul 2022 12:21:05 +0300","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<YsVUASTisQrsMYdM@pendragon.ideasonboard.com>","References":"<20220706090642.2750987-1-kieran.bingham@ideasonboard.com>\n\t<20220706090642.2750987-4-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220706090642.2750987-4-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 3/3] qcam: viewfinder_qt: Support X\n\tRGB variants","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":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]