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>
This commit is contained in:
Yoann Lopes
2013-01-14 17:44:06 +01:00
committed by The Qt Project
parent 02add40392
commit 101c78983a
12 changed files with 3769 additions and 66 deletions

View File

@@ -16,14 +16,32 @@ HEADERS += \
mfstream.h \
sourceresolver.h \
samplegrabber.h \
mftvideo.h
mftvideo.h \
mfglobal.h \
mfactivate.h
SOURCES += \
wmfserviceplugin.cpp \
mfstream.cpp \
sourceresolver.cpp \
samplegrabber.cpp \
mftvideo.cpp
mftvideo.cpp \
mfactivate.cpp \
mfglobal.cpp
contains(QT_CONFIG, angle) {
LIBS += -ld3d9 -ldxva2 -lwinmm -levr
QT += gui-private
HEADERS += \
evrcustompresenter.h \
evrd3dpresentengine.h
SOURCES += \
evrcustompresenter.cpp \
evrd3dpresentengine.cpp
}
include (player/player.pri)
include (decoder/decoder.pri)