annotate TOOLS/emboss.fp @ 33263:5f527a9a9521

Add an exit function. This function will allow performing clean-up operations. (MPlayer calls guiDone() before exiting, but only if the GUI has been initialized, i.e. if guiInit() has been called successfully. Any exit_player()/exit_player_with_rc() after GUI's cfg_read() until guiInit(), or any exit_player() during guiInit() itself will end the GUI without calling guiDone(). This exit function will at least handle abortions during guiInit() itself. It will be called twice in case of an guiExit() after GUI initialization - first directly, next by guiDone() via MPlayer's exit_player_with_rc().)
author ib
date Tue, 03 May 2011 12:19:22 +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=emboss.fp
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
6 # This is an emboss effect.
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
7 PARAM sizes = program.env[0];
19018
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
8 TEMP res, yuv, pos, tmp;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
9 TEX yuv.r, fragment.texcoord[0], texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
10 MAD pos, sizes.xyxy, {-0.5, 0, 0, -0.8660}, fragment.texcoord[0].xyxy;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
11 TEX tmp.r, pos.xyxy, texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
12 MAD yuv.r, yuv.rrrr, {2}, -tmp.rrrr;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
13 TEX tmp.r, pos.zwzw, texture[0], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
14 SUB yuv.r, yuv.rrrr, tmp.rrrr;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
15 TEX yuv.g, fragment.texcoord[1], texture[1], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
16 TEX yuv.b, fragment.texcoord[2], texture[2], 2D;
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
17 # now do the normal YUV -> RGB conversion but with 0.5 offset
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
18 MAD res, yuv.rrrr, {1.164, 1.164, 1.164, 0}, {-0.37416, 1.03133, -0.58599, 0.125};
69785427a61e Fix for changed env parameter contents and improve speed.
reimar
parents: 16488
diff changeset
19 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
20 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
21 # do gamma texture lookup
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
22 TEX res.r, res.raaa, texture[3], 2D;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
23 ADD res.a, res.a, 0.25;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
24 TEX res.g, res.gaaa, texture[3], 2D;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
25 ADD res.a, res.a, 0.25;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
26 TEX res.b, res.baaa, texture[3], 2D;
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
27 # 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
28 MOV result.color, res;
16488
3191dcb27a12 hardware color-space conversion for vo_gl and vo_gl2
reimar
parents:
diff changeset
29 END