aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd')
-rw-r--r--libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd31
1 files changed, 31 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd
new file mode 100644
index 0000000..6910933
--- /dev/null
+++ b/libraries/evas/src/modules/engines/gl_common/shader/nv12_nomul_frag.shd
@@ -0,0 +1,31 @@
1#ifdef GL_ES
2#ifdef GL_FRAGMENT_PRECISION_HIGH
3precision highp float;
4#else
5precision mediump float;
6#endif
7#endif
8uniform sampler2D tex, texuv;
9varying vec2 tex_c, tex_cuv;
10void main()
11{
12 float y,u,v,vmu,r,g,b;
13 y=texture2D(tex,tex_c).g;
14 u=texture2D(texuv,tex_cuv).g;
15 v=texture2D(texuv,tex_cuv).a;
16
17 u=u-0.5;
18 v=v-0.5;
19 vmu=v*0.813+u*0.391;
20 u=u*2.018;
21 v=v*1.596;
22 y=(y-0.062)*1.164;
23
24 r=y+v;
25 g=y-vmu;
26 b=y+u;
27
28 gl_FragColor=vec4(r,g,b,1.0);
29}
30
31