adding zero-copy-QSGVideoNode for imx6

On imx6 there is a platform-specific API to implement
memory-mapping from gstreamer-buffer to opengl-texture.

This plugin uses this API to avoid CPU-based-memory-copy.

This allows fluid video-playback up to 1080p with very little CPU load.
Before even 720p used one cpu-core completely and wasn't fluid.

Change-Id: I0c33eb5d475393a65459291ce9290fa0753de4a5
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
This commit is contained in:
Thomas Senyk
2014-01-28 14:49:32 +01:00
committed by The Qt Project
parent 72b995ad79
commit db7f7cc565
12 changed files with 749 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
TARGET = imx6vivantevideonode
QT += multimedia-private qtmultimediaquicktools-private
PLUGIN_TYPE=video/videonode
PLUGIN_CLASS_NAME = QSGVivanteVideoNodeFactory
load(qt_plugin)
HEADERS += \
qsgvivantevideonode.h \
qsgvivantevideomaterialshader.h \
qsgvivantevideomaterial.h \
qsgvivantevideonodefactory.h
SOURCES += \
qsgvivantevideonode.cpp \
qsgvivantevideomaterialshader.cpp \
qsgvivantevideomaterial.cpp \
qsgvivantevideonodefactory.cpp
OTHER_FILES += \
imx6.json