summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-03-25 17:18:18 +0100
committerLars Knoll <lars.knoll@qt.io>2021-04-07 12:25:03 +0000
commit0ce875a4e302afc5b67ec63d35051d90e486db79 (patch)
treed92029a2c9addfc96b7bc879adc7d0d8fe78930d /src
parent9e90ac3ce400df30217de98f0eb4e08f75e06cdf (diff)
Move the shaders from the quick tools into QtMultimedia
The shader layout is pretty generic, and QVideoSurfaceFormat can give us both the shaders and uniform data that we need to render the video. All the user needs to do then is to provide geometry with a 2D texture coordinate to render the video onto any surface. Change-Id: I95006eaf4a6f039006b8a5da0f53143da03e1ecb Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/multimedia/CMakeLists.txt22
-rw-r--r--src/multimedia/shaders/bgra.frag (renamed from src/qtmultimediaquicktools/shaders/bgra.frag)0
-rw-r--r--src/multimedia/shaders/bgra.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/bgra.frag.qsb)bin1265 -> 1265 bytes
-rwxr-xr-xsrc/multimedia/shaders/compile.bat (renamed from src/qtmultimediaquicktools/shaders/compile.bat)0
-rw-r--r--src/multimedia/shaders/nv12.frag (renamed from src/qtmultimediaquicktools/shaders/nv12.frag)0
-rw-r--r--src/multimedia/shaders/nv12.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/nv12.frag.qsb)bin1849 -> 1849 bytes
-rw-r--r--src/multimedia/shaders/nv21.frag (renamed from src/qtmultimediaquicktools/shaders/nv21.frag)0
-rw-r--r--src/multimedia/shaders/nv21.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/nv21.frag.qsb)bin1848 -> 1848 bytes
-rw-r--r--src/multimedia/shaders/p010be.frag (renamed from src/qtmultimediaquicktools/shaders/p010be.frag)0
-rw-r--r--src/multimedia/shaders/p010be.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/p010be.frag.qsb)bin1720 -> 1720 bytes
-rw-r--r--src/multimedia/shaders/p010le.frag (renamed from src/qtmultimediaquicktools/shaders/p010le.frag)0
-rw-r--r--src/multimedia/shaders/p010le.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/p010le.frag.qsb)bin1736 -> 1736 bytes
-rw-r--r--src/multimedia/shaders/rgba.frag (renamed from src/qtmultimediaquicktools/shaders/rgba.frag)0
-rw-r--r--src/multimedia/shaders/rgba.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/rgba.frag.qsb)bin1244 -> 1244 bytes
-rw-r--r--src/multimedia/shaders/rgba.vert (renamed from src/qtmultimediaquicktools/shaders/rgba.vert)0
-rw-r--r--src/multimedia/shaders/rgba.vert.qsb (renamed from src/qtmultimediaquicktools/shaders/rgba.vert.qsb)bin1511 -> 1511 bytes
-rw-r--r--src/multimedia/shaders/uyvy.frag (renamed from src/qtmultimediaquicktools/shaders/uyvy.frag)0
-rw-r--r--src/multimedia/shaders/uyvy.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/uyvy.frag.qsb)bin1801 -> 1801 bytes
-rw-r--r--src/multimedia/shaders/yuv.vert (renamed from src/qtmultimediaquicktools/shaders/yuv.vert)0
-rw-r--r--src/multimedia/shaders/yuv.vert.qsb (renamed from src/qtmultimediaquicktools/shaders/yuv.vert.qsb)bin2017 -> 2017 bytes
-rw-r--r--src/multimedia/shaders/yuv_yv.frag (renamed from src/qtmultimediaquicktools/shaders/yuv_yv.frag)0
-rw-r--r--src/multimedia/shaders/yuv_yv.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/yuv_yv.frag.qsb)bin1975 -> 1975 bytes
-rw-r--r--src/multimedia/shaders/yuyv.frag (renamed from src/qtmultimediaquicktools/shaders/yuyv.frag)0
-rw-r--r--src/multimedia/shaders/yuyv.frag.qsb (renamed from src/qtmultimediaquicktools/shaders/yuyv.frag.qsb)bin1805 -> 1805 bytes
-rw-r--r--src/multimedia/video/qvideosurfaceformat.cpp218
-rw-r--r--src/multimedia/video/qvideosurfaceformat.h5
-rw-r--r--src/qtmultimediaquicktools/CMakeLists.txt23
-rw-r--r--src/qtmultimediaquicktools/qdeclarativevideooutput.cpp6
-rw-r--r--src/qtmultimediaquicktools/qsgvideonode_rgb.cpp4
-rw-r--r--src/qtmultimediaquicktools/qsgvideonode_texture.cpp6
-rw-r--r--src/qtmultimediaquicktools/qsgvideonode_yuv.cpp16
31 files changed, 258 insertions, 42 deletions
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
index 569ea7b13..ce8f44f61 100644
--- a/src/multimedia/CMakeLists.txt
+++ b/src/multimedia/CMakeLists.txt
@@ -476,3 +476,25 @@ qt_internal_add_docs(Multimedia
doc/qtmultimedia.qdocconf
)
+# Resources:
+set(qtmultimedia_resource_files
+ "shaders/bgra.frag.qsb"
+ "shaders/nv12.frag.qsb"
+ "shaders/nv21.frag.qsb"
+ "shaders/rgba.frag.qsb"
+ "shaders/rgba.vert.qsb"
+ "shaders/uyvy.frag.qsb"
+ "shaders/yuv.vert.qsb"
+ "shaders/yuv_yv.frag.qsb"
+ "shaders/yuyv.frag.qsb"
+ "shaders/p010le.frag.qsb"
+ "shaders/p010be.frag.qsb"
+)
+
+qt_add_resource(Multimedia "qtmultimedia"
+ PREFIX
+ "/qtmultimedia"
+ FILES
+ ${qtmultimedia_resource_files}
+)
+
diff --git a/src/qtmultimediaquicktools/shaders/bgra.frag b/src/multimedia/shaders/bgra.frag
index f04e3e721..f04e3e721 100644
--- a/src/qtmultimediaquicktools/shaders/bgra.frag
+++ b/src/multimedia/shaders/bgra.frag
diff --git a/src/qtmultimediaquicktools/shaders/bgra.frag.qsb b/src/multimedia/shaders/bgra.frag.qsb
index 4910d5654..4910d5654 100644
--- a/src/qtmultimediaquicktools/shaders/bgra.frag.qsb
+++ b/src/multimedia/shaders/bgra.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/compile.bat b/src/multimedia/shaders/compile.bat
index f3524dd87..f3524dd87 100755
--- a/src/qtmultimediaquicktools/shaders/compile.bat
+++ b/src/multimedia/shaders/compile.bat
diff --git a/src/qtmultimediaquicktools/shaders/nv12.frag b/src/multimedia/shaders/nv12.frag
index 9ef6bd648..9ef6bd648 100644
--- a/src/qtmultimediaquicktools/shaders/nv12.frag
+++ b/src/multimedia/shaders/nv12.frag
diff --git a/src/qtmultimediaquicktools/shaders/nv12.frag.qsb b/src/multimedia/shaders/nv12.frag.qsb
index f5adaef48..f5adaef48 100644
--- a/src/qtmultimediaquicktools/shaders/nv12.frag.qsb
+++ b/src/multimedia/shaders/nv12.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/nv21.frag b/src/multimedia/shaders/nv21.frag
index 636294048..636294048 100644
--- a/src/qtmultimediaquicktools/shaders/nv21.frag
+++ b/src/multimedia/shaders/nv21.frag
diff --git a/src/qtmultimediaquicktools/shaders/nv21.frag.qsb b/src/multimedia/shaders/nv21.frag.qsb
index 6fb2c46dd..6fb2c46dd 100644
--- a/src/qtmultimediaquicktools/shaders/nv21.frag.qsb
+++ b/src/multimedia/shaders/nv21.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/p010be.frag b/src/multimedia/shaders/p010be.frag
index b098361ad..b098361ad 100644
--- a/src/qtmultimediaquicktools/shaders/p010be.frag
+++ b/src/multimedia/shaders/p010be.frag
diff --git a/src/qtmultimediaquicktools/shaders/p010be.frag.qsb b/src/multimedia/shaders/p010be.frag.qsb
index c3f9c79d8..c3f9c79d8 100644
--- a/src/qtmultimediaquicktools/shaders/p010be.frag.qsb
+++ b/src/multimedia/shaders/p010be.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/p010le.frag b/src/multimedia/shaders/p010le.frag
index 514884b97..514884b97 100644
--- a/src/qtmultimediaquicktools/shaders/p010le.frag
+++ b/src/multimedia/shaders/p010le.frag
diff --git a/src/qtmultimediaquicktools/shaders/p010le.frag.qsb b/src/multimedia/shaders/p010le.frag.qsb
index 8c047ee60..8c047ee60 100644
--- a/src/qtmultimediaquicktools/shaders/p010le.frag.qsb
+++ b/src/multimedia/shaders/p010le.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/rgba.frag b/src/multimedia/shaders/rgba.frag
index 1623c2cc7..1623c2cc7 100644
--- a/src/qtmultimediaquicktools/shaders/rgba.frag
+++ b/src/multimedia/shaders/rgba.frag
diff --git a/src/qtmultimediaquicktools/shaders/rgba.frag.qsb b/src/multimedia/shaders/rgba.frag.qsb
index 8f782fcdb..8f782fcdb 100644
--- a/src/qtmultimediaquicktools/shaders/rgba.frag.qsb
+++ b/src/multimedia/shaders/rgba.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/rgba.vert b/src/multimedia/shaders/rgba.vert
index ebc53a65f..ebc53a65f 100644
--- a/src/qtmultimediaquicktools/shaders/rgba.vert
+++ b/src/multimedia/shaders/rgba.vert
diff --git a/src/qtmultimediaquicktools/shaders/rgba.vert.qsb b/src/multimedia/shaders/rgba.vert.qsb
index 3d81483ce..3d81483ce 100644
--- a/src/qtmultimediaquicktools/shaders/rgba.vert.qsb
+++ b/src/multimedia/shaders/rgba.vert.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/uyvy.frag b/src/multimedia/shaders/uyvy.frag
index f1c7c1aec..f1c7c1aec 100644
--- a/src/qtmultimediaquicktools/shaders/uyvy.frag
+++ b/src/multimedia/shaders/uyvy.frag
diff --git a/src/qtmultimediaquicktools/shaders/uyvy.frag.qsb b/src/multimedia/shaders/uyvy.frag.qsb
index bb3237004..bb3237004 100644
--- a/src/qtmultimediaquicktools/shaders/uyvy.frag.qsb
+++ b/src/multimedia/shaders/uyvy.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/yuv.vert b/src/multimedia/shaders/yuv.vert
index 6f103372f..6f103372f 100644
--- a/src/qtmultimediaquicktools/shaders/yuv.vert
+++ b/src/multimedia/shaders/yuv.vert
diff --git a/src/qtmultimediaquicktools/shaders/yuv.vert.qsb b/src/multimedia/shaders/yuv.vert.qsb
index d4605e8de..d4605e8de 100644
--- a/src/qtmultimediaquicktools/shaders/yuv.vert.qsb
+++ b/src/multimedia/shaders/yuv.vert.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/yuv_yv.frag b/src/multimedia/shaders/yuv_yv.frag
index 07ea52aab..07ea52aab 100644
--- a/src/qtmultimediaquicktools/shaders/yuv_yv.frag
+++ b/src/multimedia/shaders/yuv_yv.frag
diff --git a/src/qtmultimediaquicktools/shaders/yuv_yv.frag.qsb b/src/multimedia/shaders/yuv_yv.frag.qsb
index af1816011..af1816011 100644
--- a/src/qtmultimediaquicktools/shaders/yuv_yv.frag.qsb
+++ b/src/multimedia/shaders/yuv_yv.frag.qsb
Binary files differ
diff --git a/src/qtmultimediaquicktools/shaders/yuyv.frag b/src/multimedia/shaders/yuyv.frag
index 454fdc21e..454fdc21e 100644
--- a/src/qtmultimediaquicktools/shaders/yuyv.frag
+++ b/src/multimedia/shaders/yuyv.frag
diff --git a/src/qtmultimediaquicktools/shaders/yuyv.frag.qsb b/src/multimedia/shaders/yuyv.frag.qsb
index f7af4db3d..f7af4db3d 100644
--- a/src/qtmultimediaquicktools/shaders/yuyv.frag.qsb
+++ b/src/multimedia/shaders/yuyv.frag.qsb
Binary files differ
diff --git a/src/multimedia/video/qvideosurfaceformat.cpp b/src/multimedia/video/qvideosurfaceformat.cpp
index b29da03e7..774a72c30 100644
--- a/src/multimedia/video/qvideosurfaceformat.cpp
+++ b/src/multimedia/video/qvideosurfaceformat.cpp
@@ -44,9 +44,14 @@
#include <qmetatype.h>
#include <qpair.h>
#include <qvariant.h>
+#include <qmatrix4x4.h>
QT_BEGIN_NAMESPACE
+static void initResource() {
+ Q_INIT_RESOURCE(qtmultimedia);
+}
+
class QVideoSurfaceFormatPrivate : public QSharedData
{
public:
@@ -162,6 +167,7 @@ public:
QVideoSurfaceFormat::QVideoSurfaceFormat()
: d(new QVideoSurfaceFormatPrivate)
{
+ initResource();
}
/*!
@@ -430,6 +436,218 @@ QSize QVideoSurfaceFormat::sizeHint() const
return d->viewport.size();
}
+QString QVideoSurfaceFormat::vertexShaderFileName() const
+{
+ switch (d->pixelFormat) {
+ case Format_Invalid:
+ case Format_Jpeg:
+
+ case Format_RGB24:
+ case Format_RGB565:
+ case Format_RGB555:
+ case Format_ARGB8565_Premultiplied:
+ case Format_BGR24:
+ case Format_BGR565:
+ case Format_BGR555:
+ case Format_BGRA5658_Premultiplied:
+
+ case Format_Y8:
+ case Format_Y16:
+
+ case Format_AYUV444:
+ case Format_AYUV444_Premultiplied:
+ case Format_YUV444:
+
+ case Format_IMC1:
+ case Format_IMC2:
+ case Format_IMC3:
+ case Format_IMC4:
+ return QString();
+ case Format_ARGB32:
+ case Format_ARGB32_Premultiplied:
+ case Format_RGB32:
+ case Format_BGRA32:
+ case Format_BGRA32_Premultiplied:
+ case Format_ABGR32:
+ case Format_BGR32:
+ return QStringLiteral(":/qtmultimedia/shaders/rgba.vert.qsb");
+ case Format_YUV420P:
+ case Format_YUV422P:
+ case Format_YV12:
+ case Format_UYVY:
+ case Format_YUYV:
+ case Format_NV12:
+ case Format_NV21:
+ case Format_P010LE:
+ case Format_P010BE:
+ case Format_P016LE:
+ case Format_P016BE:
+ return QStringLiteral(":/qtmultimedia/shaders/yuv.vert.qsb");
+ }
+}
+
+QString QVideoSurfaceFormat::pixelShaderFileName() const
+{
+ switch (d->pixelFormat) {
+ case Format_Invalid:
+ case Format_Jpeg:
+
+ case Format_RGB24:
+ case Format_RGB565:
+ case Format_RGB555:
+ case Format_ARGB8565_Premultiplied:
+ case Format_BGR24:
+ case Format_BGR565:
+ case Format_BGR555:
+ case Format_BGRA5658_Premultiplied:
+
+ case Format_Y8:
+ case Format_Y16:
+
+ case Format_AYUV444:
+ case Format_AYUV444_Premultiplied:
+ case Format_YUV444:
+
+ case Format_IMC1:
+ case Format_IMC2:
+ case Format_IMC3:
+ case Format_IMC4:
+ return QString();
+ case Format_ARGB32:
+ case Format_ARGB32_Premultiplied:
+ case Format_RGB32:
+ case Format_BGRA32:
+ case Format_BGRA32_Premultiplied:
+ case Format_ABGR32:
+ case Format_BGR32:
+ return QStringLiteral(":/qtmultimedia/shaders/rgba.frag.qsb");
+ case Format_YUV420P:
+ case Format_YUV422P:
+ case Format_YV12:
+ return QStringLiteral(":/qtmultimedia/shaders/yuv_yv.frag.qsb");
+ case Format_UYVY:
+ return QStringLiteral(":/qtmultimedia/shaders/uyvy.frag.qsb");
+ case Format_YUYV:
+ return QStringLiteral(":/qtmultimedia/shaders/yuyv.frag.qsb");
+ case Format_NV12:
+ return QStringLiteral(":/qtmultimedia/shaders/nv12.frag.qsb");
+ case Format_NV21:
+ return QStringLiteral(":/qtmultimedia/shaders/nv21.frag.qsb");
+ case Format_P010LE:
+ case Format_P016LE:
+ return QStringLiteral(":/qtmultimedia/shaders/p010le.frag.qsb");
+ case Format_P010BE:
+ case Format_P016BE:
+ return QStringLiteral(":/qtmultimedia/shaders/p010be.frag.qsb");
+ }
+}
+
+static QMatrix4x4 colorMatrix(QVideoSurfaceFormat::YCbCrColorSpace colorSpace)
+{
+ switch (colorSpace) {
+ case QVideoSurfaceFormat::YCbCr_JPEG:
+ return QMatrix4x4(
+ 1.0f, 0.000f, 1.402f, -0.701f,
+ 1.0f, -0.344f, -0.714f, 0.529f,
+ 1.0f, 1.772f, 0.000f, -0.886f,
+ 0.0f, 0.000f, 0.000f, 1.0000f);
+ case QVideoSurfaceFormat::YCbCr_BT709:
+ case QVideoSurfaceFormat::YCbCr_xvYCC709:
+ return QMatrix4x4(
+ 1.164f, 0.000f, 1.793f, -0.5727f,
+ 1.164f, -0.534f, -0.213f, 0.3007f,
+ 1.164f, 2.115f, 0.000f, -1.1302f,
+ 0.0f, 0.000f, 0.000f, 1.0000f);
+ default: //BT 601:
+ return QMatrix4x4(
+ 1.164f, 0.000f, 1.596f, -0.8708f,
+ 1.164f, -0.392f, -0.813f, 0.5296f,
+ 1.164f, 2.017f, 0.000f, -1.081f,
+ 0.0f, 0.000f, 0.000f, 1.0000f);
+ }
+}
+
+QByteArray QVideoSurfaceFormat::uniformData(const QMatrix4x4 &transform, float opacity) const
+{
+ static constexpr float pw[3] = {};
+ const float *planeWidth = pw;
+
+ switch (d->pixelFormat) {
+ case Format_Invalid:
+ case Format_Jpeg:
+
+ case Format_RGB24:
+ case Format_RGB565:
+ case Format_RGB555:
+ case Format_ARGB8565_Premultiplied:
+ case Format_BGR24:
+ case Format_BGR565:
+ case Format_BGR555:
+ case Format_BGRA5658_Premultiplied:
+
+ case Format_Y8:
+ case Format_Y16:
+
+ case Format_AYUV444:
+ case Format_AYUV444_Premultiplied:
+ case Format_YUV444:
+
+ case Format_IMC1:
+ case Format_IMC2:
+ case Format_IMC3:
+ case Format_IMC4:
+ return QByteArray();
+ case Format_ARGB32:
+ case Format_ARGB32_Premultiplied:
+ case Format_RGB32:
+ case Format_BGRA32:
+ case Format_BGRA32_Premultiplied:
+ case Format_ABGR32:
+ case Format_BGR32: {
+ // { matrix4x4, opacity }
+ QByteArray buf(16*4 + 4, Qt::Uninitialized);
+ char *data = buf.data();
+ memcpy(data, transform.constData(), 64);
+ memcpy(data + 64, colorMatrix(d->ycbcrColorSpace).constData(), 64);
+ memcpy(data + 64 + 64, &opacity, 4);
+ memcpy(data + 64 + 64, &opacity, 4);
+ memcpy(data + 64 + 64, &opacity, 4);
+ memcpy(data + 64 + 64, &opacity, 4);
+ return buf;
+ }
+ case Format_YUV420P:
+ case Format_YUV422P:
+ case Format_YV12: {
+ static constexpr float pw[] = { 1, 1, 0 };
+ planeWidth = pw;
+ break;
+ }
+ case Format_UYVY:
+ case Format_YUYV: {
+ static constexpr float pw[] = { 1, 1, 0 };
+ planeWidth = pw;
+ break;
+ }
+ case Format_NV12:
+ case Format_NV21:
+ case Format_P010LE:
+ case Format_P010BE:
+ case Format_P016LE:
+ case Format_P016BE: {
+ static constexpr float pw[] = { 1, 1, 0 };
+ planeWidth = pw;
+ break;
+ }
+ }
+ // { matrix4x4, colorMatrix, opacity, planeWidth[3] }
+ QByteArray buf(64*2 + 4 + 3*4, Qt::Uninitialized);
+ char *data = buf.data();
+ memcpy(data, transform.constData(), 64);
+ memcpy(data + 64, &opacity, 4);
+ memcpy(data + 64 + 4, planeWidth, 3*4);
+ return buf;
+}
+
/*!
Returns a video pixel format equivalent to an image \a format. If there is no equivalent
diff --git a/src/multimedia/video/qvideosurfaceformat.h b/src/multimedia/video/qvideosurfaceformat.h
index 837d9545a..c81416945 100644
--- a/src/multimedia/video/qvideosurfaceformat.h
+++ b/src/multimedia/video/qvideosurfaceformat.h
@@ -54,6 +54,7 @@ QT_BEGIN_NAMESPACE
class QDebug;
class QVideoSurfaceFormatPrivate;
+class QMatrix4x4;
class Q_MULTIMEDIA_EXPORT QVideoSurfaceFormat
{
@@ -163,6 +164,10 @@ public:
QSize sizeHint() const;
+ QString vertexShaderFileName() const;
+ QString pixelShaderFileName() const;
+ QByteArray uniformData(const QMatrix4x4 &transform, float opacity) const;
+
static PixelFormat pixelFormatFromImageFormat(QImage::Format format);
static QImage::Format imageFormatFromPixelFormat(PixelFormat format);
diff --git a/src/qtmultimediaquicktools/CMakeLists.txt b/src/qtmultimediaquicktools/CMakeLists.txt
index f5642881d..732fab664 100644
--- a/src/qtmultimediaquicktools/CMakeLists.txt
+++ b/src/qtmultimediaquicktools/CMakeLists.txt
@@ -22,26 +22,3 @@ qt_add_module(MultimediaQuick
Qt::Quick
Qt::QuickPrivate
)
-
-# Resources:
-set(qtmultimediaquicktools_resource_files
- "shaders/bgra.frag.qsb"
- "shaders/nv12.frag.qsb"
- "shaders/nv21.frag.qsb"
- "shaders/rgba.frag.qsb"
- "shaders/rgba.vert.qsb"
- "shaders/uyvy.frag.qsb"
- "shaders/yuv.vert.qsb"
- "shaders/yuv_yv.frag.qsb"
- "shaders/yuyv.frag.qsb"
- "shaders/p010le.frag.qsb"
- "shaders/p010be.frag.qsb"
-)
-
-qt_add_resource(MultimediaQuick "qtmultimediaquicktools"
- PREFIX
- "/qtmultimediaquicktools"
- FILES
- ${qtmultimediaquicktools_resource_files}
-)
-
diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp b/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
index 68d03bb95..72e04bbe2 100644
--- a/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
+++ b/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
@@ -48,11 +48,6 @@
#include <QtCore/qloggingcategory.h>
#include <qvideosink.h>
-
-static void initResource() {
- Q_INIT_RESOURCE(qtmultimediaquicktools);
-}
-
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(qLcVideo, "qt.multimedia.video")
@@ -137,7 +132,6 @@ QDeclarativeVideoOutput::QDeclarativeVideoOutput(QQuickItem *parent) :
m_autoOrientation(false),
m_screenOrientationHandler(nullptr)
{
- initResource();
setFlag(ItemHasContents, true);
createBackend();
}
diff --git a/src/qtmultimediaquicktools/qsgvideonode_rgb.cpp b/src/qtmultimediaquicktools/qsgvideonode_rgb.cpp
index 204e5602f..7a3321c8c 100644
--- a/src/qtmultimediaquicktools/qsgvideonode_rgb.cpp
+++ b/src/qtmultimediaquicktools/qsgvideonode_rgb.cpp
@@ -73,8 +73,8 @@ class QSGVideoMaterialRhiShader_RGB : public QSGMaterialShader
public:
QSGVideoMaterialRhiShader_RGB()
{
- setShaderFileName(VertexStage, QStringLiteral(":/qtmultimediaquicktools/shaders/rgba.vert.qsb"));
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/rgba.frag.qsb"));
+ setShaderFileName(VertexStage, QStringLiteral(":/qtmultimedia/shaders/rgba.vert.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/rgba.frag.qsb"));
}
bool updateUniformData(RenderState &state, QSGMaterial *newMaterial,
diff --git a/src/qtmultimediaquicktools/qsgvideonode_texture.cpp b/src/qtmultimediaquicktools/qsgvideonode_texture.cpp
index 70abf5b90..8f363cd46 100644
--- a/src/qtmultimediaquicktools/qsgvideonode_texture.cpp
+++ b/src/qtmultimediaquicktools/qsgvideonode_texture.cpp
@@ -75,8 +75,8 @@ class QSGVideoMaterialRhiShader_Texture : public QSGMaterialShader
public:
QSGVideoMaterialRhiShader_Texture()
{
- setShaderFileName(VertexStage, QStringLiteral(":/qtmultimediaquicktools/shaders/rgba.vert.qsb"));
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/rgba.frag.qsb"));
+ setShaderFileName(VertexStage, QStringLiteral(":/qtmultimedia/shaders/rgba.vert.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/rgba.frag.qsb"));
}
bool updateUniformData(RenderState &state, QSGMaterial *newMaterial,
@@ -91,7 +91,7 @@ class QSGVideoMaterialRhiShader_Texture_swizzle : public QSGVideoMaterialRhiShad
public:
QSGVideoMaterialRhiShader_Texture_swizzle()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/bgra.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/bgra.frag.qsb"));
}
};
diff --git a/src/qtmultimediaquicktools/qsgvideonode_yuv.cpp b/src/qtmultimediaquicktools/qsgvideonode_yuv.cpp
index 182e98610..cd4e0b251 100644
--- a/src/qtmultimediaquicktools/qsgvideonode_yuv.cpp
+++ b/src/qtmultimediaquicktools/qsgvideonode_yuv.cpp
@@ -71,7 +71,7 @@ class QSGVideoMaterialRhiShader_YUV : public QSGMaterialShader
public:
QSGVideoMaterialRhiShader_YUV()
{
- setShaderFileName(VertexStage, QStringLiteral(":/qtmultimediaquicktools/shaders/yuv.vert.qsb"));
+ setShaderFileName(VertexStage, QStringLiteral(":/qtmultimedia/shaders/yuv.vert.qsb"));
}
bool updateUniformData(RenderState &state, QSGMaterial *newMaterial,
@@ -92,7 +92,7 @@ class QSGVideoMaterialRhiShader_UYVY : public QSGVideoMaterialRhiShader_YUV
public:
QSGVideoMaterialRhiShader_UYVY()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/uyvy.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/uyvy.frag.qsb"));
}
void mapFrame(QSGVideoMaterial_YUV *m) override;
@@ -103,7 +103,7 @@ class QSGVideoMaterialRhiShader_YUYV : public QSGVideoMaterialRhiShader_UYVY
public:
QSGVideoMaterialRhiShader_YUYV()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/yuyv.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/yuyv.frag.qsb"));
}
};
@@ -112,7 +112,7 @@ class QSGVideoMaterialRhiShader_YUV_YV : public QSGVideoMaterialRhiShader_YUV
public:
QSGVideoMaterialRhiShader_YUV_YV()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/yuv_yv.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/yuv_yv.frag.qsb"));
}
void mapFrame(QSGVideoMaterial_YUV *m) override;
@@ -123,7 +123,7 @@ class QSGVideoMaterialRhiShader_NV12 : public QSGVideoMaterialRhiShader_YUV
public:
QSGVideoMaterialRhiShader_NV12()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/nv12.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/nv12.frag.qsb"));
}
void mapFrame(QSGVideoMaterial_YUV *m) override;
@@ -134,7 +134,7 @@ class QSGVideoMaterialRhiShader_NV21 : public QSGVideoMaterialRhiShader_NV12
public:
QSGVideoMaterialRhiShader_NV21()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/nv21.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/nv21.frag.qsb"));
}
};
@@ -152,7 +152,7 @@ class QSGVideoMaterialRhiShader_P010LE : public QSGVideoMaterialRhiShader_P010
public:
QSGVideoMaterialRhiShader_P010LE()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/p010le.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/p010le.frag.qsb"));
}
};
@@ -161,7 +161,7 @@ class QSGVideoMaterialRhiShader_P010BE : public QSGVideoMaterialRhiShader_P010
public:
QSGVideoMaterialRhiShader_P010BE()
{
- setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimediaquicktools/shaders/p010be.frag.qsb"));
+ setShaderFileName(FragmentStage, QStringLiteral(":/qtmultimedia/shaders/p010be.frag.qsb"));
}
};