[{"id":4912,"web_url":"https://patchwork.libcamera.org/comment/4912/","msgid":"<20200526220215.GE5903@pendragon.ideasonboard.com>","date":"2020-05-26T22:02:15","subject":"Re: [libcamera-devel] [PATCH] qcam: viewfinder: Use correct\n\tDRM/QImage mappings","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 Tue, May 26, 2020 at 05:06:44PM +0100, Kieran Bingham wrote:\n> When the native pixel formats supported by QT were introduced, the\n\ns/QT/Qt/\n\n> RGB/BGR formats were inverted.\n\nThe Qt documentation isn't very clear, so let's make sure.\n\n~/src/test/qt $ cat qimage.cpp\n#include <QDebug>\n#include <QImage>\n\nint main()\n{\n        QImage image{ 640, 480, QImage::Format_RGB888 };\n        image.fill(Qt::red);\n        uchar *bits = image.bits();\n        qInfo() << \"(\" << bits[0] << \",\" << bits[1] << \",\" << bits[2] << \")\";\n        return 0;\n}\n\n~/src/test/qt $ ./qimage\n( 255 , 0 , 0 )\n\nThat's indeed DRM_FORMAT_BGR888, at least on little-endian machines.\n\n> Swap the BGR888 and RGB888 mappings accordingly.\n> \n> Fixes: f890a57b7a06 (\"qcam: viewfinder: Add support for more native formats\")\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/qcam/viewfinder.cpp | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/qcam/viewfinder.cpp b/src/qcam/viewfinder.cpp\n> index 0d68f62ee6d7..7a308f53f576 100644\n> --- a/src/qcam/viewfinder.cpp\n> +++ b/src/qcam/viewfinder.cpp\n> @@ -26,9 +26,9 @@ static const QMap<libcamera::PixelFormat, QImage::Format> nativeFormats\n>  #endif\n>  \t{ libcamera::PixelFormat{ DRM_FORMAT_ARGB8888 }, QImage::Format_RGB32 },\n>  #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)\n> -\t{ libcamera::PixelFormat{ DRM_FORMAT_BGR888 }, QImage::Format_BGR888 },\n> +\t{ libcamera::PixelFormat{ DRM_FORMAT_RGB888 }, QImage::Format_BGR888 },\n>  #endif\n> -\t{ libcamera::PixelFormat{ DRM_FORMAT_RGB888 }, QImage::Format_RGB888 },\n> +\t{ libcamera::PixelFormat{ DRM_FORMAT_BGR888 }, QImage::Format_RGB888 },\n>  };\n>  \n>  ViewFinder::ViewFinder(QWidget *parent)","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["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 CE239603D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 May 2020 00:02:29 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 27F60814;\n\tWed, 27 May 2020 00:02:29 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"wVxe//tV\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1590530549;\n\tbh=Vt7QI0N/KE27q0/cGm6BU3IukugKCGS5hrGncgHKfdE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=wVxe//tVmYqBMz064KJDG0d2WeU8UJt5fz9mWLAg497bi8XvKLZ4do+/r+NHdpfb5\n\t1Ovw17x7w9It9lYX4SSNfZOd3quzL4ubxRndAAr/D0/urAPV0M7CxhP2nKpGRQv1W+\n\tNE+OV1fjIuVxUrizC4R8sGOxZAmpuMokoWsowp2g=","Date":"Wed, 27 May 2020 01:02:15 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>,\n\tKaaira Gupta <kgupta@es.iitr.ac.in>","Message-ID":"<20200526220215.GE5903@pendragon.ideasonboard.com>","References":"<20200526160644.154051-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200526160644.154051-1-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] qcam: viewfinder: Use correct\n\tDRM/QImage mappings","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>","X-List-Received-Date":"Tue, 26 May 2020 22:02:30 -0000"}}]