diff options
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.shd | 19 |
1 files changed, 19 insertions, 0 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 new file mode 100644 index 0000000..3ec4311 --- /dev/null +++ b/libraries/evas/src/modules/engines/gl_common/shader/yuv_nomul_frag.shd | |||
@@ -0,0 +1,19 @@ | |||
1 | #ifdef GL_ES | ||
2 | #ifdef GL_FRAGMENT_PRECISION_HIGH | ||
3 | precision highp float; | ||
4 | #else | ||
5 | precision mediump float; | ||
6 | #endif | ||
7 | #endif | ||
8 | uniform sampler2D tex, texu, texv; | ||
9 | varying vec2 tex_c, tex_c2, tex_c3; | ||
10 | void main() | ||
11 | { | ||
12 | const mat4 yuv2rgb = mat4( 1.16400, 1.16400, 1.16400, 0.00000, | ||
13 | 0.00000, -0.34410, 1.77200, 0.00000, | ||
14 | 1.40200, -0.71410, 0.00000, 0.00000, | ||
15 | -0.77380, 0.45630, -0.95880, 1.00000); | ||
16 | gl_FragColor = yuv2rgb * vec4(texture2D(tex, tex_c.xy).r, | ||
17 | texture2D(texu, tex_c2.xy).r, | ||
18 | texture2D(texv, tex_c3.xy).r, 1.0); | ||
19 | } | ||