summaryrefslogtreecommitdiff
path: root/src/qtmultimediaquicktools/shaders/yuyvvideo.frag
blob: 5ce8b7366a1ad651976e07399402e7fd13db4855 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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 mediump mat4 colorMatrix;
uniform lowp float opacity;
varying highp vec2 qt_TexCoord;

void main()
{
    mediump vec3 YUV = vec3(texture2D(yTexture, qt_TexCoord).r, texture2D(uvTexture, qt_TexCoord).ga);

    gl_FragColor = colorMatrix * vec4(YUV, 1.0) * opacity;
}