summaryrefslogtreecommitdiffstats
path: root/src/qtmultimediaquicktools/shaders/uyvyvideo_core.frag
blob: 75c7de5a6a0d103309e14bf24d6a17d0b57540a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#version 150 core
uniform sampler2D yTexture; // Y component passed as GL_LUMINANCE_ALPHA, in uyvy Y = a
uniform sampler2D uvTexture; // UV component passed as RGBA macropixel, in uyvy U = r, V = b
uniform mat4 colorMatrix;
uniform float opacity;
in vec2 qt_TexCoord;
out vec4 fragColor;

void main()
{
    vec3 YUV = vec3(texture(yTexture, qt_TexCoord).a, texture2D(uvTexture, qt_TexCoord).rb);
    fragColor = colorMatrix * vec4(YUV, 1.0) * opacity;
}