annotate TOOLS/edgedetect.fp @ 34175:a345e7162d0a

Move TranslateFilename() to util/string.c. Now that the Win32 GUI uses symbolic constants for its messages, the code of TranslateFilename() both GUIs use is almost identical. So, share the code.
author ib
date Wed, 26 Oct 2011 15:14:06 +0000
parents cae067bfc231
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16488
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
1 !!ARBfp1.0
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
2 # Custom YUV->RGB conversion program for MPlayer's -vo gl.
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
3 # Copyleft (C) Reimar Döffinger, 2005
25605
cae067bfc231 Relicense to GPL v2 or later with Reimar's permission.
diego
parents: 19018
diff changeset
4 # Licensed under the GNU GPL v2 or later
16488
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
5 # Usage: mplayer -vo gl:yuv=4:customprog=edgedetect.fp
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
6 # This is some custom edge-detect like effect.
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
7 # Try adjusting the gamma!
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
8 # program.env[0].xy contains the size of one source texel
19018
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
9 TEMP res, yuv, pos, tmp, sizes;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
10 SWZ sizes, program.env[0], x, y, 0, 0;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
11 TEX yuv.r, fragment.texcoord[0], texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
12 ADD pos, fragment.texcoord[0].xyxy, sizes.xwwy; # texels to the right and below
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
13 TEX tmp.r, pos.xyxy, texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
14 MAD yuv.r, yuv.rrrr, {4}, -tmp.rrrr;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
15 TEX tmp.r, pos.zwzw, texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
16 SUB yuv.r, yuv.rrrr, tmp.rrrr;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
17 SUB pos, fragment.texcoord[0].xyxy, sizes.xwwy; # texels to the left and above
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
18 TEX tmp.r, pos.xyxy, texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
19 SUB yuv.r, yuv.rrrr, tmp.rrrr;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
20 TEX tmp.r, pos.zwzw, texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
21 SUB yuv.r, yuv.rrrr, tmp.rrrr;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
22 TEX yuv.g, fragment.texcoord[1], texture[1], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
23 TEX yuv.b, fragment.texcoord[2], texture[2], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
24 # now do the normal YUV -> RGB conversion but include effect strength
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
25 # multiplication by 2 and 0.5 offset
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
26 MAD res, yuv.rrrr, {2.328, 2.328, 2.328, 0}, {-0.37416, 1.03133, -0.58599, 0.125};
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
27 MAD res.rgb, yuv.gggg, {0, -0.391, 2.018, 0}, res;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
28 MAD res.rgb, yuv.bbbb, {1.596, -0.813, 0, 0}, res;
16488
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
29 # do gamma texture lookup
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
30 TEX res.r, res.raaa, texture[3], 2D;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
31 ADD res.a, res.a, 0.25;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
32 TEX res.g, res.gaaa, texture[3], 2D;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
33 ADD res.a, res.a, 0.25;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
34 TEX res.b, res.baaa, texture[3], 2D;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
35 # move res into result, this allows easily commenting out some parts.
19018
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
36 MOV result.color, res;
16488
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
37 END