cconvYUY2.c revision 9fc488be77be11a4dcb83feb09cdee11bb160746
181e56d8b348d301d615ccf5465ae600fee2867berikabele#extension GL_ARB_texture_rectangle : enable
181e56d8b348d301d615ccf5465ae600fee2867berikabeleuniform sampler2DRect uSrcTex;
181e56d8b348d301d615ccf5465ae600fee2867berikabelevoid vboxCConvApplyAYUV(vec4 color);
c8e71fab0ea4bc3f8cb07693d6917f6b4644fbdcerikabelevoid vboxCConv()
c8e71fab0ea4bc3f8cb07693d6917f6b4644fbdcerikabele{
c8e71fab0ea4bc3f8cb07693d6917f6b4644fbdcerikabele vec2 srcCoord = vec2(gl_TexCoord[0]);
5a58787efeb02a1c3f06569d019ad81fd2efa06end float x = srcCoord.x;
5a58787efeb02a1c3f06569d019ad81fd2efa06end vec4 srcClr = texture2DRect(uSrcTex, vec2(x, srcCoord.y));
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim float u = srcClr.g;
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim float v = srcClr.a;
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen int pix = int(x);
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen float part = x - float(pix);
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen float y;
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen if(part < 0.5)
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim {
5a58787efeb02a1c3f06569d019ad81fd2efa06end y = srcClr.b;
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen }
3f08db06526d6901aa08c110b5bc7dde6bc39905nd else
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim {
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim y = srcClr.r;
5a58787efeb02a1c3f06569d019ad81fd2efa06end }
3f08db06526d6901aa08c110b5bc7dde6bc39905nd vboxCConvApplyAYUV(vec4(u, y, 0.0, v));
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd}
7add1372edb1ee95a2c4d1314df4c7567bda7c62jim