summaryrefslogtreecommitdiffstats
path: root/src/plugins/mediaservices/gstreamer
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2010-02-16 04:26:14 (GMT)
committerAndrew den Exter <andrew.den-exter@nokia.com>2010-02-16 04:28:01 (GMT)
commita7f6af9817771b8211433c8cf24fe7150c5b7bf5 (patch)
tree9bf42838ee4ff1778f4aabfc8a73dd1ad03e34f3 /src/plugins/mediaservices/gstreamer
parentbe2c02716595545a87330cdbe38a4ec5cd3522e3 (diff)
downloadQt-a7f6af9817771b8211433c8cf24fe7150c5b7bf5.zip
Qt-a7f6af9817771b8211433c8cf24fe7150c5b7bf5.tar.gz
Qt-a7f6af9817771b8211433c8cf24fe7150c5b7bf5.tar.bz2
Don't paint RGB24 frames as BGR24.
A non-swizzling shader was being used for RGB24. This looked correct on linux because the gstreamer backend was misidentifying BGR24 as RGB24. And since BGR is supported include it in the list of supported formats.
Diffstat (limited to 'src/plugins/mediaservices/gstreamer')
-rw-r--r--src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp b/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
index 8c61846..3108e1a 100644
--- a/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
+++ b/src/plugins/mediaservices/gstreamer/qvideosurfacegstsink.cpp
@@ -268,9 +268,12 @@ static const RgbFormat qt_rgbColorLookup[] =
{
{ QVideoFrame::Format_RGB32 , 32, 24, 4321, 0x0000FF00, 0x00FF0000, 0xFF000000, 0x00000000 },
{ QVideoFrame::Format_RGB32 , 32, 24, 1234, 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
+ { QVideoFrame::Format_BGR32 , 32, 24, 4321, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x00000000 },
+ { QVideoFrame::Format_BGR32 , 32, 24, 1234, 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 },
{ QVideoFrame::Format_ARGB32, 32, 24, 4321, 0x0000FF00, 0x00FF0000, 0xFF000000, 0x000000FF },
{ QVideoFrame::Format_ARGB32, 32, 24, 1234, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 },
- { QVideoFrame::Format_RGB24 , 24, 24, 4321, 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
+ { QVideoFrame::Format_RGB24 , 24, 24, 4321, 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 },
+ { QVideoFrame::Format_BGR24 , 24, 24, 4321, 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
{ QVideoFrame::Format_RGB565, 16, 16, 1234, 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 }
};