From c963d75dfdeec11f82e79e727062fbf89afa2c04 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 22 Apr 2012 09:19:23 +1000 Subject: Update EFL to latest beta. --- .../engines/gl_common/shader/yuv_nomul_frag.shd | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd') diff --git a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd index 3ec4311..ce24622 100644 --- a/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd +++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd @@ -9,11 +9,15 @@ uniform sampler2D tex, texu, texv; varying vec2 tex_c, tex_c2, tex_c3; void main() { - const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, - 0.00000, -0.34410, 1.77200, 0.00000, - 1.40200, -0.71410, 0.00000, 0.00000, - -0.77380, 0.45630, -0.95880, 1.00000); - gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, - texture2D(texu, tex_c2.xy).r, - texture2D(texv, tex_c3.xy).r, 1.0); + float r, g, b, y, u, v; + y = texture2D(tex, tex_c.xy).r; + u = texture2D(texu, tex_c2.xy).r; + v = texture2D(texv, tex_c3.xy).r; + y = (y - 0.0625) * 1.164; + u = u - 0.5; + v = v - 0.5; + r = y + (1.402 * v); + g = y - (0.34414 * u) - (0.71414 * v); + b = y + (1.772 * u); + gl_FragColor = vec4(r, g, b, 1.0); } -- cgit v1.1