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>
51 lines
905 B
Prolog
51 lines
905 B
Prolog
TARGET = wmfengine
|
|
QT += multimedia-private network
|
|
qtHaveModule(widgets) {
|
|
QT += multimediawidgets-private
|
|
DEFINES += HAVE_WIDGETS
|
|
}
|
|
|
|
PLUGIN_TYPE=mediaservice
|
|
PLUGIN_CLASS_NAME = WMFServicePlugin
|
|
load(qt_plugin)
|
|
|
|
INCLUDEPATH += .
|
|
|
|
HEADERS += \
|
|
wmfserviceplugin.h \
|
|
mfstream.h \
|
|
sourceresolver.h \
|
|
samplegrabber.h \
|
|
mftvideo.h \
|
|
mfglobal.h \
|
|
mfactivate.h
|
|
|
|
SOURCES += \
|
|
wmfserviceplugin.cpp \
|
|
mfstream.cpp \
|
|
sourceresolver.cpp \
|
|
samplegrabber.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)
|
|
|
|
OTHER_FILES += \
|
|
wmf.json
|