summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2013-01-14 17:44:06 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-23 22:34:07 +0100
commit101c78983a8acd6cc7a7cb314700fabd6e8909dc (patch)
treec3cd299610a550cd57dba17d92fe705a3ac55151 /src/imports
parent02add40392f1f708a1875f7088a853aa12ffca62 (diff)
WMF: enabled HW-accelerated video decoding for the QML video item.
It also applies to QGraphicsVideoItem when used on a GL viewport. We now have a new video sink that is based on Microsoft's EVR sink, we just replace the default Presenter with our own. Frames are rendered into D3D surfaces using DXVA, then copied into a shared D3D/EGL surface and finally bound to a GL texture to be used by the video surface. The shared D3D/EGL surface is a feature provided by ANGLE and therefore Qt must be compiled with ANGLE for this new video sink to be compiled and used. Change-Id: I0b7b9968eed5488f9ef1a2dcca5213bd0af232ab Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/multimedia/qsgvideonode_texture.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/imports/multimedia/qsgvideonode_texture.cpp b/src/imports/multimedia/qsgvideonode_texture.cpp
index 80a42e5da..e0d9737b0 100644
--- a/src/imports/multimedia/qsgvideonode_texture.cpp
+++ b/src/imports/multimedia/qsgvideonode_texture.cpp
@@ -118,6 +118,7 @@ protected:
" gl_FragColor = texture2D(rgbTexture, qt_TexCoord) * opacity;"
"}";
+#ifndef QT_OPENGL_ES_2_ANGLE
static const char *colorsSwapShader =
"uniform sampler2D rgbTexture;"
"uniform lowp float opacity;"
@@ -137,6 +138,9 @@ protected:
default:
return shader;
}
+#else
+ return shader;
+#endif
}
virtual void initialize() {