// YUV->RGB conversion fragment shader adapted from
// http://www.fourcc.org/fccyvrgb.php: Want some sample code?
// direct link: http://www.fourcc.org/source/YUV420P-OpenGL-GLSLang.c
#version 330

uniform sampler2D tex;
in vec2 v_texCoord;
out vec4 FragColor;

void main(void) {

  float r,g,b,y,u,v;
  vec3 yuv;

  yuv = texture2D(tex, v_texCoord.st).rgb;
  y = yuv.r;
  u = yuv.g;
  v = yuv.b;

  y = 1.1643*(y-0.0625);
  u = u-0.5;
  v = v-0.5;

  r = y + 1.5958*v;
  g = y - 0.39173*u - 0.81290*v;
  b = y + 2.017*u;

  FragColor = vec4(r,g,b,1.0);
};