summaryrefslogtreecommitdiffstats
path: root/src/multimediawidgets/qpaintervideosurface.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-11-20 13:49:09 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-11-20 13:49:09 +0100
commit3f0adfb1fba203580999496d7e4ca53e7aeb7621 (patch)
tree2cc7032eefb9a58c8510e20507c82f90812e486b /src/multimediawidgets/qpaintervideosurface.cpp
parent01c1973c68e1ba0c505e1c07e0aa0652faccc0c5 (diff)
parent5af70385a0b1a04e10d088f655ee33338ec014c5 (diff)
Merge 5.10 into 5.10.0
Diffstat (limited to 'src/multimediawidgets/qpaintervideosurface.cpp')
-rw-r--r--src/multimediawidgets/qpaintervideosurface.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/multimediawidgets/qpaintervideosurface.cpp b/src/multimediawidgets/qpaintervideosurface.cpp
index 214e5ec7e..6e93e150d 100644
--- a/src/multimediawidgets/qpaintervideosurface.cpp
+++ b/src/multimediawidgets/qpaintervideosurface.cpp
@@ -191,6 +191,10 @@ QAbstractVideoSurface::Error QVideoSurfaceGenericPainter::paint(
m_imageSize.height(),
m_frame.bytesPerLine(),
m_imageFormat);
+ // Do not render into ARGB32 images using QPainter.
+ // Using QImage::Format_ARGB32_Premultiplied is significantly faster.
+ if (m_imageFormat == QImage::Format_ARGB32)
+ image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
const QTransform oldTransform = painter->transform();
QTransform transform = oldTransform;