switched to ITU-R BT.709 color spec

This commit is contained in:
Martin Pulec
2012-02-03 13:19:16 +01:00
parent 09cd38d4be
commit f7fe43aead
4 changed files with 15 additions and 15 deletions

View File

@@ -15,9 +15,9 @@ vec3 ConvertYUVToRGB(vec3 color)
float V = color[2] - 0.5;
Y = 1.1643 * (Y - 0.0625);
float R = Y + 1.5958 * V;
float G = Y - 0.39173 * U - 0.81290 * V;
float B = Y + 2.017 * U;
float R = Y + 1.7926 * V;
float G = Y - 0.2132 * U - 0.5328 * V;
float B = Y + 1.7926 * U;
return vec3(R, G, B);
}

View File

@@ -14,9 +14,9 @@ vec3 ConvertYUVToRGB(vec3 color)
float V = color[2] - 0.5;
Y = 1.1643 * (Y - 0.0625);
float R = Y + 1.5958 * V;
float G = Y - 0.39173 * U - 0.81290 * V;
float B = Y + 2.017 * U;
float R = Y + 1.7926 * V;
float G = Y - 0.2132 * U - 0.5328 * V;
float B = Y + 1.7926 * U;
return vec3(R, G, B);
}

View File

@@ -18,13 +18,13 @@ void main()
rgba1 = texture2D(image, coor1);
rgba2 = texture2D(image, coor2);
yuv1.x = 1.0/16.0 + (rgba1.r * 0.299 + rgba1.g * 0.587 + rgba1.b * 0.114) * 0.8588; // Y
yuv1.y = 0.5 + (-rgba1.r * 0.168736 - rgba1.g * 0.331264 + rgba1.b * 0.5) * 0.8784;
yuv1.z = 0.5 + (rgba1.r * 0.5 - rgba1.g * 0.418688 - rgba1.b * 0.081312) * 0.8784;
yuv1.x = 1.0/16.0 + (rgba1.r * 0.2126 + rgba1.g * 0.7152 + rgba1.b * 0.0722) * 0.8588; // Y
yuv1.y = 0.5 + (-rgba1.r * 0.1145 - rgba1.g * 0.3854 + rgba1.b * 0.5) * 0.8784;
yuv1.z = 0.5 + (rgba1.r * 0.5 - rgba1.g * 0.4541 - rgba1.b * 0.0458) * 0.8784;
yuv2.x = 1.0/16.0 + (rgba2.r * 0.299 + rgba2.g * 0.587 + rgba2.b * 0.114) * 0.8588; // Y
yuv2.y = 0.5 + (-rgba2.r * 0.168736 - rgba2.g * 0.331264 + rgba2.b * 0.5) * 0.8784;
yuv2.z = 0.5 + (rgba2.r * 0.5 - rgba2.g * 0.418688 - rgba2.b * 0.081312) * 0.8784;
yuv2.x = 1.0/16.0 + (rgba2.r * 0.2126 + rgba2.g * 0.7152 + rgba2.b * 0.0722) * 0.8588; // Y
yuv2.y = 0.5 + (-rgba2.r * 0.1145 - rgba2.g * 0.3854 + rgba2.b * 0.5) * 0.8784;
yuv2.z = 0.5 + (rgba2.r * 0.5 - rgba2.g * 0.4541 - rgba2.b * 0.0458) * 0.8784;
U = mix(yuv1.y, yuv2.y, 0.5);
V = mix(yuv1.z, yuv2.z, 0.5);

View File

@@ -97,9 +97,9 @@ void main()
yuv.r = 1.1643*(yuv.r-0.0625);
yuv.g = yuv.g - 0.5;
yuv.b = yuv.b - 0.5;
gl_FragColor.r = yuv.r + 1.5958 * yuv.b;
gl_FragColor.g = yuv.r - 0.39173* yuv.g - 0.81290 * yuv.b;
gl_FragColor.b = yuv.r + 2.017 * yuv.g;
gl_FragColor.r = yuv.r + 1.7926 * yuv.b;
gl_FragColor.g = yuv.r - 0.2132 * yuv.g - 0.5328 * yuv.b;
gl_FragColor.b = yuv.r + 1.7926 * yuv.g;
});
static char * yuv422_to_rgb_vp = STRINGIFY(