summaryrefslogtreecommitdiffstats
path: root/src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-08 03:00:24 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-08 03:00:24 +0200
commit1ca79e8645f9f3cf471c32cf9fd2894a4b41bcb1 (patch)
treeb35436ae81924383c43f03f0fc00e6a72ebe6cb3 /src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag
parent871a097d0c6e8203f82b398e21dcfd8151bdae27 (diff)
parentc5400d31a40847e2905b11759090400653624a94 (diff)
Merge remote-tracking branch 'origin/5.11' into 5.12v5.12.0-alpha1
Diffstat (limited to 'src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag')
-rw-r--r--src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag b/src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag
new file mode 100644
index 000000000..010c4a5f2
--- /dev/null
+++ b/src/qtmultimediaquicktools/shaders/yuyvvideo_core.frag
@@ -0,0 +1,13 @@
+#version 150 core
+uniform sampler2D yTexture; // Y component passed as GL_LUMINANCE_ALPHA, in yuyv Y = r
+uniform sampler2D uvTexture; // UV component passed as RGBA macropixel, in uyvy U = g, V = a
+uniform mat4 colorMatrix;
+uniform float opacity;
+in vec2 qt_TexCoord;
+out vec4 fragColor;
+
+void main()
+{
+ vec3 YUV = vec3(texture(yTexture, qt_TexCoord).r, texture2D(uvTexture, qt_TexCoord).ga);
+ fragColor = colorMatrix * vec4(YUV, 1.0) * opacity;
+}