summaryrefslogtreecommitdiffstats
path: root/src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@theqtcompany.com>2015-04-28 18:35:38 +0200
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-04-30 09:02:20 +0000
commitfe13f5bb05ef278eb5109a9518118dda7ddb0b9d (patch)
tree167e3b090efb82e41dac6fd2cd8fd5504a72a60b /src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag
parent61033aa420b4d34107e3cc67e8751506bc4ab745 (diff)
Minor refactor of built-in QSGVideoNodes.v5.5.0-beta1
- Load shader source from resource files. - Correctly report material types: each material can use different shaders depending on the video pixel format but it was reporting a unique material type. This was causing the node to keep using the same shader even if its pixel format changed. Change-Id: Ib903ecd6e7dd1dd56d7cefe255ab7049933df17d Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag')
-rw-r--r--src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag b/src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag
new file mode 100644
index 000000000..2ede9108b
--- /dev/null
+++ b/src/qtmultimediaquicktools/shaders/biplanaryuvvideo.frag
@@ -0,0 +1,14 @@
+uniform sampler2D plane1Texture;
+uniform sampler2D plane2Texture;
+uniform mediump mat4 colorMatrix;
+uniform lowp float opacity;
+varying highp vec2 plane1TexCoord;
+varying highp vec2 plane2TexCoord;
+
+void main()
+{
+ mediump float Y = texture2D(plane1Texture, plane1TexCoord).r;
+ mediump vec2 UV = texture2D(plane2Texture, plane2TexCoord).ra;
+ mediump vec4 color = vec4(Y, UV.x, UV.y, 1.);
+ gl_FragColor = colorMatrix * color * opacity;
+}