aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd')
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd18
1 files changed, 11 insertions, 7 deletions
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;
9varying vec2 tex_c, tex_c2, tex_c3; 9varying vec2 tex_c, tex_c2, tex_c3;
10void main() 10void main()
11{ 11{
12 const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, 12 float r, g, b, y, u, v;
13 0.00000, -0.34410, 1.77200, 0.00000, 13 y = texture2D(tex, tex_c.xy).r;
14 1.40200, -0.71410, 0.00000, 0.00000, 14 u = texture2D(texu, tex_c2.xy).r;
15 -0.77380, 0.45630, -0.95880, 1.00000); 15 v = texture2D(texv, tex_c3.xy).r;
16 gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, 16 y = (y - 0.0625) * 1.164;
17 texture2D(texu, tex_c2.xy).r, 17 u = u - 0.5;
18 texture2D(texv, tex_c3.xy).r, 1.0); 18 v = v - 0.5;
19 r = y + (1.402 * v);
20 g = y - (0.34414 * u) - (0.71414 * v);
21 b = y + (1.772 * u);
22 gl_FragColor = vec4(r, g, b, 1.0);
19} 23}