QNX: Remove most of the CPU overhead for video rendering

This patch uses the GL_OES_EGL_image extension to create a OpenGL Texture handle
for a libscreen pixmap. If the extension is not available it uses the "old"
technique as fallback where the image data is copied into a QImage.

This reduces the CPU load by more than 70% and allows HD videos to be played jitter-free.

Task-number: QTBUG-37752

Change-Id: I4cad22c39390e4cf9eb5be5f0bfe446544a11b9e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
This commit is contained in:
Fabian Bumberger
2014-03-21 16:02:48 +01:00
committed by The Qt Project
parent d2b54b360e
commit 36649887e8
6 changed files with 237 additions and 64 deletions

View File

@@ -67,8 +67,10 @@ public:
void pause();
void resume();
void customEvent(QEvent *) Q_DECL_OVERRIDE;
private Q_SLOTS:
void frameGrabbed(const QImage &frame);
void frameGrabbed(const QImage &frame, int);
private:
QPointer<QAbstractVideoSurface> m_surface;