mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-22 07:40:24 +00:00
switched to ITU-R BT.709 color spec
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user