Mercurial > mplayer.hg
annotate TOOLS/edgeenh.fp @ 29221:84ed872376f3
Add #define for HAVE_DVDCSS_DVDCSS_H (needed by internal libdvdread) to config.h
instead of passing -D on the compiler command line.
This is more convenient and already done with most preprocessor definitions
needed by external libraries.
Previously the definition was passed on the command line because libdvdread was
missing the necessary config.h #include, which was now added.
author | diego |
---|---|
date | Tue, 05 May 2009 17:30:50 +0000 |
parents | 7013c4222a19 |
children |
rev | line source |
---|---|
25761
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
1 !!ARBfp1.0 |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
2 # Custom YUV->RGB conversion program for MPlayer's -vo gl. |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
3 # Copyleft (C) Reimar Döffinger, 2005 |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
4 # Licensed under the GNU GPL v2 or later |
25770 | 5 # Usage: mplayer -vo gl:yuv=4:customprog=edgeenh.fp |
25761
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
6 # This is some custom edge-enhancement like effect. |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
7 # Try adjusting the gamma! |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
8 # program.env[0].xy contains the size of one source texel |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
9 PARAM strength = {0.5}; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
10 TEMP res, yuv, pos, tmp, sizes, center; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
11 SWZ sizes, program.env[0], x, y, 0, 0; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
12 TEX center.r, fragment.texcoord[0], texture[0], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
13 ADD pos, fragment.texcoord[0].xyxy, sizes.xwwy; # texels to the right and below |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
14 TEX tmp.r, pos.xyxy, texture[0], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
15 MAD yuv.r, center.rrrr, {4}, -tmp.rrrr; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
16 TEX tmp.r, pos.zwzw, texture[0], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
17 SUB yuv.r, yuv.rrrr, tmp.rrrr; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
18 SUB pos, fragment.texcoord[0].xyxy, sizes.xwwy; # texels to the left and above |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
19 TEX tmp.r, pos.xyxy, texture[0], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
20 SUB yuv.r, yuv.rrrr, tmp.rrrr; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
21 TEX tmp.r, pos.zwzw, texture[0], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
22 SUB yuv.r, yuv.rrrr, tmp.rrrr; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
23 MAD yuv.r, yuv.rrrr, strength, center.rrrr; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
24 TEX yuv.g, fragment.texcoord[1], texture[1], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
25 TEX yuv.b, fragment.texcoord[2], texture[2], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
26 # now do the normal YUV -> RGB conversion |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
27 MAD res, yuv.rrrr, {1.164, 1.164, 1.164, 0}, {-0.87416, 0.53133, -1.08599, 0.125}; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
28 MAD res.rgb, yuv.gggg, {0, -0.391, 2.018, 0}, res; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
29 MAD res.rgb, yuv.bbbb, {1.596, -0.813, 0, 0}, res; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
30 # do gamma texture lookup |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
31 TEX res.r, res.raaa, texture[3], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
32 ADD res.a, res.a, 0.25; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
33 TEX res.g, res.gaaa, texture[3], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
34 ADD res.a, res.a, 0.25; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
35 TEX res.b, res.baaa, texture[3], 2D; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
36 # move res into result, this allows easily commenting out some parts. |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
37 MOV result.color, res; |
8bb92a143435
Add the edge-enhancement filter based on edgedetect I had lying around.
reimar
parents:
diff
changeset
|
38 END |