diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2013-01-14 17:44:06 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-23 22:34:07 +0100 |
commit | 101c78983a8acd6cc7a7cb314700fabd6e8909dc (patch) | |
tree | c3cd299610a550cd57dba17d92fe705a3ac55151 /src/plugins/wmf/player/mfvideorenderercontrol.h | |
parent | 02add40392f1f708a1875f7088a853aa12ffca62 (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/plugins/wmf/player/mfvideorenderercontrol.h')
-rw-r--r-- | src/plugins/wmf/player/mfvideorenderercontrol.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/wmf/player/mfvideorenderercontrol.h b/src/plugins/wmf/player/mfvideorenderercontrol.h index b0db4dc19..d796ce36d 100644 --- a/src/plugins/wmf/player/mfvideorenderercontrol.h +++ b/src/plugins/wmf/player/mfvideorenderercontrol.h @@ -46,6 +46,14 @@ #include <mfapi.h> #include <mfidl.h> +QT_BEGIN_NAMESPACE + +#ifdef QT_OPENGL_ES_2_ANGLE +class EVRCustomPresenterActivate; +#endif + +QT_END_NAMESPACE + QT_USE_NAMESPACE class MFVideoRendererControl : public QVideoRendererControl @@ -74,6 +82,10 @@ private: QAbstractVideoSurface *m_surface; IMFActivate *m_currentActivate; IMFSampleGrabberSinkCallback *m_callback; + +#ifdef QT_OPENGL_ES_2_ANGLE + EVRCustomPresenterActivate *m_presenterActivate; +#endif }; #endif |