DirectShow: use the EVR in the renderer control.

As for the window control, the existing code from the WMF plugin has
been refactored out and is now shared for both plugins.
This enables HW-accelerated video decoding in QML, QGraphicsVideoItem
and custom QAbstractVideoSurfaces (Angle is required).

Task-number: QTBUG-45593
Change-Id: I1d4dbf5695cdd4dbee93f9f4a957fa4d813aa85d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
Yoann Lopes
2015-11-05 13:48:40 +01:00
parent 963a534e33
commit 36549dbe14
19 changed files with 706 additions and 402 deletions

View File

@@ -2,7 +2,27 @@ INCLUDEPATH += $$PWD/evr
qtHaveModule(widgets): QT += widgets
HEADERS += $$PWD/evr/evrvideowindowcontrol.h \
$$PWD/evr/evrdefs.h
HEADERS += \
$$PWD/evr/evrvideowindowcontrol.h \
$$PWD/evr/evrdefs.h
SOURCES += $$PWD/evr/evrvideowindowcontrol.cpp
SOURCES += \
$$PWD/evr/evrvideowindowcontrol.cpp \
$$PWD/evr/evrdefs.cpp
contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
LIBS += -lmf -lmfplat -lmfuuid -ld3d9 -ldxva2 -lwinmm -levr
QT += gui-private
DEFINES += CUSTOM_EVR_PRESENTER
HEADERS += \
$$PWD/evr/evrcustompresenter.h \
$$PWD/evr/evrd3dpresentengine.h \
$$PWD/evr/evrhelpers.h
SOURCES += \
$$PWD/evr/evrcustompresenter.cpp \
$$PWD/evr/evrd3dpresentengine.cpp \
$$PWD/evr/evrhelpers.cpp
}