{
"// GLSL shader autogenerated by cg2glsl.py.\n"
"#if defined(VERTEX)\n"
"\n"
"#if __VERSION__ >= 130\n"
"#define COMPAT_VARYING out\n"
"#define COMPAT_ATTRIBUTE in\n"
"#define COMPAT_TEXTURE texture\n"
"#else\n"
"#define COMPAT_VARYING varying\n"
"#define COMPAT_ATTRIBUTE attribute\n"
"#define COMPAT_TEXTURE texture2D\n"
"#endif\n"
"\n"
"#ifdef GL_ES\n"
"#define COMPAT_PRECISION mediump\n"
"#else\n"
"#define COMPAT_PRECISION\n"
"#endif\n"
"COMPAT_VARYING     vec2 VARpix_no;\n"
"COMPAT_VARYING     vec2 VARtex;\n"
"struct data {\n"
"    vec2 VARtex;\n"
"    vec2 VARpix_no;\n"
"};\n"
"struct input_dummy {\n"
"    vec2 _video_size;\n"
"    vec2 _texture_size;\n"
"    vec2 _output_dummy_size;\n"
"    float _frame_count;\n"
"};\n"
"vec4 _oPosition1;\n"
"data _oData1;\n"
"input_dummy _IN1;\n"
"vec4 _r0009;\n"
"COMPAT_ATTRIBUTE vec4 VertexCoord;\n"
"COMPAT_ATTRIBUTE vec4 TexCoord;\n"
" \n"
"uniform mat4 MVPMatrix;\n"
"uniform int FrameDirection;\n"
"uniform int FrameCount;\n"
"uniform COMPAT_PRECISION vec2 OutputSize;\n"
"uniform COMPAT_PRECISION vec2 TextureSize;\n"
"uniform COMPAT_PRECISION vec2 InputSize;\n"
"void main()\n"
"{\n"
"    _r0009 = VertexCoord.x*MVPMatrix[0];\n"
"    _r0009 = _r0009 + VertexCoord.y*MVPMatrix[1];\n"
"    _r0009 = _r0009 + VertexCoord.z*MVPMatrix[2];\n"
"    _r0009 = _r0009 + VertexCoord.w*MVPMatrix[3];\n"
"    _oPosition1 = _r0009;\n"
"    VARtex = TexCoord.xy;\n"
"    VARpix_no = TexCoord.xy*TextureSize*(OutputSize/InputSize);\n"
"    gl_Position = _r0009;\n"
"} \n"
"#elif defined(FRAGMENT)\n"
"\n"
"#if __VERSION__ >= 130\n"
"#define COMPAT_VARYING in\n"
"#define COMPAT_TEXTURE texture\n"
"out vec4 FragColor;\n"
"#else\n"
"#define COMPAT_VARYING varying\n"
"#define FragColor gl_FragColor\n"
"#define COMPAT_TEXTURE texture2D\n"
"#endif\n"
"\n"
"#ifdef GL_ES\n"
"#ifdef GL_FRAGMENT_PRECISION_HIGH\n"
"precision highp float;\n"
"#else\n"
"precision mediump float;\n"
"#endif\n"
"#define COMPAT_PRECISION mediump\n"
"#else\n"
"#define COMPAT_PRECISION\n"
"#endif\n"
"COMPAT_VARYING     vec2 VARpix_no;\n"
"COMPAT_VARYING     vec2 VARtex;\n"
"struct data {\n"
"    vec2 VARtex;\n"
"    vec2 VARpix_no;\n"
"};\n"
"struct input_dummy {\n"
"    vec2 _video_size;\n"
"    vec2 VARtexture_size;\n"
"    vec2 _output_dummy_size;\n"
"    float _frame_count;\n"
"};\n"
"vec4 _ret_0;\n"
"float _TMP5;\n"
"float _TMP4;\n"
"float _TMP3;\n"
"float _TMP2;\n"
"vec4 _TMP0;\n"
"input_dummy _IN1;\n"
"data _vertex1;\n"
"uniform sampler2D Texture;\n"
"vec3 _r0018;\n"
"float _c0026;\n"
"float _a0028;\n"
"vec3 _r0038;\n"
" \n"
"uniform int FrameDirection;\n"
"uniform int FrameCount;\n"
"uniform COMPAT_PRECISION vec2 OutputSize;\n"
"uniform COMPAT_PRECISION vec2 TextureSize;\n"
"uniform COMPAT_PRECISION vec2 InputSize;\n"
"void main()\n"
"{\n"
"    vec3 _yiq;\n"
"    float _chroma_phase;\n"
"    float _mod_phase;\n"
"    float _i_mod;\n"
"    float _q_mod;\n"
"    _TMP0 = COMPAT_TEXTURE(Texture, VARtex);\n"
"    _r0018.x = dot(vec3( 2.98900008E-01, 5.87000012E-01, 1.14000000E-01), _TMP0.xyz);\n"
"    _r0018.y = dot(vec3( 5.95899999E-01, -2.74399996E-01, -3.21599990E-01), _TMP0.xyz);\n"
"    _r0018.z = dot(vec3( 2.11500004E-01, -5.22899985E-01, 3.11399996E-01), _TMP0.xyz);\n"
"    _yiq = _r0018;\n"
"    _a0028 = VARpix_no.y/2.00000000E+00;\n"
"    _TMP2 = abs(_a0028);\n"
"    _TMP3 = fract(_TMP2);\n"
"    _TMP4 = abs(2.00000000E+00);\n"
"    _c0026 = _TMP3*_TMP4;\n"
"    if (VARpix_no.y < 0.00000000E+00) { \n"
"        _TMP5 = -_c0026;\n"
"    } else {\n"
"        _TMP5 = _c0026;\n"
"    } \n"
"    _chroma_phase = 3.14159274E+00*(_TMP5 + float(FrameCount));\n"
"    _mod_phase = _chroma_phase + VARpix_no.x*8.37758064E-01;\n"
"    _i_mod = cos(_mod_phase);\n"
"    _q_mod = sin(_mod_phase);\n"
"    _yiq.yz = _r0018.yz*vec2(_i_mod, _q_mod);\n"
"    _r0038.x = dot(vec3( 1.00000000E+00, 1.00000000E+00, 1.00000000E+00), _yiq);\n"
"    _r0038.y = dot(vec3( 1.00000000E+00, 2.00000000E+00, 0.00000000E+00), _yiq);\n"
"    _r0038.z = dot(vec3( 1.00000000E+00, 0.00000000E+00, 2.00000000E+00), _yiq);\n"
"    _yiq.yz = _r0038.yz*vec2(_i_mod, _q_mod);\n"
"    _ret_0 = vec4(_r0038.x, _yiq.y, _yiq.z, 1.00000000E+00);\n"
"    FragColor = _ret_0;\n"
"    return;\n"
"} \n"
"#endif\n"
},
