[libcamera-devel] [PATCH 3/3] qcam: viewfinder_qt: Support X RGB variants

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Jul 6 10:57:19 CEST 2022


Quoting Laurent Pinchart (2022-07-05 21:59:59)
> Hi Kieran,
> 
> Thank you for the patch.
> 
> On Tue, Jul 05, 2022 at 04:31:11PM +0100, Kieran Bingham via libcamera-devel wrote:
> > Support the X variants of the RGB pixel formats
> > along side the equivalent Alpha component based versions.
> > 
> > Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> > ---
> >  src/qcam/viewfinder_qt.cpp | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/src/qcam/viewfinder_qt.cpp b/src/qcam/viewfinder_qt.cpp
> > index 27955e3f9593..14ecd70a839e 100644
> > --- a/src/qcam/viewfinder_qt.cpp
> > +++ b/src/qcam/viewfinder_qt.cpp
> > @@ -28,8 +28,10 @@ static const QMap<libcamera::PixelFormat, QImage::Format> nativeFormats
> >  {
> >  #if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
> >       { libcamera::formats::ABGR8888, QImage::Format_RGBA8888 },
> > +     { libcamera::formats::XBGR8888, QImage::Format_RGBA8888 },
> 
> There's a QImage::Format_RGBX8888 format which may be better suited
> (perhaps for both libcamera::formats::ABGR8888 and
> libcamera::formats::XBGR8888).

In these formats, (in this patch) both of these when tested with vivid
show a 'transparent' frame. I.e. it's not visible, but working.

With QImage::Format_RGBX8888 - it's much better. I'll update to use
that. We want to ignore the Alpha channel in our case.

> 
> >  #endif
> >       { libcamera::formats::ARGB8888, QImage::Format_RGB32 },
> > +     { libcamera::formats::XRGB8888, QImage::Format_RGB32 },
> 
> Will Qt ignore the alpha channel when rendering ?

Both of these function with an image displayed from vivid. (I.e. leads
me to believe that the Alpha is ignored, but I haven't read the Qt
code).

> 
> >  #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
> >       { libcamera::formats::RGB888, QImage::Format_BGR888 },
> >  #endif
> 
> -- 
> Regards,
> 
> Laurent Pinchart


More information about the libcamera-devel mailing list