Thats weird then. Works on VLC & not MPC. I've tried using MPC built in decoder & Haali media splitter...
[Settings]
LastUsedPage=10024
HideCaptionMenu=0
ControlState=19
DefaultVideoFrame=4
KeepAspectRatio=1
CompMonDeskARDiff=0
Volume=100
Balance=0
Mute=0
LoopNum=1
Loop=0
Rewind=0
Zoom=1
AllowMultipleInstances=0
TitleBarTextStyle=1
TitleBarTextTitle=0
OnTop=0
TrayIcon=0
AutoZoom=1
FullScreenCtrls=1
FullScreenCtrlsTimeOut=0
FullscreenRes=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ExitFullscreenAtTheEnd=1
RememberWindowPos=0
RememberWindowSize=0
SnapToDesktopEdges=0
LastWindowRect=KJCAAAAAAKAAAAAAANDAAAAAMOBAAAAA
LastWindowType=0
AspectRatioX=0
AspectRatioY=0
KeepHistory=0
DSVidRen=11
RMVidRen=0
QTVidRen=0
APSurfaceUsage=2
VMRSyncFix=0
DX9Resizer=1
VMR9MixerMode=1
VMRMixerYUV=0
AudioRendererType=
AutoloadAudio=1
AutoloadSubtitles=1
EnableWorkerThreadForOpening=1
ReportFailedPins=1
DVDPath=
UseDVDPath=0
MenuLang=2057
AudioLang=2057
SubtitlesLang=2057
AutoSpeakerConf=1
SPDefaultStyle=20;20;20;20;2;0;2.000000;2.000000;3.000000;3.000000;0xffffff;0x00ffff;0x000000;0x000000;0x00;0x00;0x00;0x80;1;Arial;18.000000;100.000000;100.000000;0.000000;700;0;0;0;0;0.000000;0.000000;0.000000;0.000000;2
SPOverridePlacement=0
SPHorPos=50
SPVerPos=90
SPCSize=3
SPCMaxRes=2
SubDelayInterval=500
SPCPow2Tex=1
EnableSubtitles=0
EnableAudioSwitcher=1
EnableAudioTimeShift=0
AudioTimeShift=0
DownSampleTo441=0
CustomChannelMapping=0
SpeakerToChannelMapping=BAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAAAAAAEAAAAAAAIAAAAAAAABAAAAAAACAAA
AudioNormalize=0
AudioNormalizeRecover=1
AudioBoost=1
FullScreenMonitor=Current
PreventMinimize=0
AssociatedWithIcon=0
LastOpenDir=C:\
D3DFullScreen=0
MonitorAutoRefreshRate=0
Color Brightness=1.000000
Color Contrast=1.000000
Color Hue=0.000000
Color Saturation=1.000000
Shaders List=deinterlace (blend)|sharpen complex|16-235 -> 0-255|
EVRBuffers=5
Show OSD=1
InterfaceLanguage=0
Remember DVD Pos=0
Remember File Pos=0
LastFullScreen=0
IntRealMedia=0
RealMediaFPS=1103626240
UseWinLirc=0
WinLircAddr=127.0.0.1:8765
UseUICE=0
UICEAddr=127.0.0.1:1234
UseGlobalMedia=0
DisableXPToolbars=0
UseWMASFReader=0
JumpDistS=1000
JumpDistM=5000
JumpDistL=20000
FreeWindowResizing=1
NotifyMSN2=0
NotifyGTSdll=0
LogoFile=
LogoID2=213
LogoExt=0
HideCDROMsSubMenu=0
Priority=32
LaunchFullScreen=0
EnableWebServer=0
WebServerPort=13579
WebServerPrintDebugIfo=0
WebServerUseCompression=1
WebServerLocalhostOnly=1
WebRoot=*./webroot
WebDefIndex=index.html;index.php
WebServerCGI=
SnapShotPath=C:\Users\Dave\Pictures
SnapShotExt=.jpg
ThumbRows=4
ThumbCols=4
ThumbWidth=1024
ISDb=
www.opensubtitles.org/isdb
[Settings\PnSPresets]
Preset0=Scale to 16:9 TV,0.500,0.500,1.000,1.333
Preset1=Zoom To Widescreen,0.500,0.500,1.333,1.333
Preset2=Zoom To Ultra-Widescreen,0.500,0.500,1.763,1.763
[FileFormats]
RtspHandler=1
RtspFileExtFirst=1
Windows Media file=wmv wmp wm asf \0
Windows Media Audio file=wma \0
Video file=avi \0
Audio file=wav \0
MPEG Media file=mpg mpeg mpe m1v m2v mpv2 mp2v ts tp tpr pva pss m2ts m2t mts evo \0
MPEG Audio file=mpa mp2 m1a m2a \0
DVD file=vob ifo \0
DVD Audio file=ac3 dts \0
MP3 Format Sound=mp3 \0
MIDI file=mid midi rmi \0
Indeo Video file=ivf \0
AIFF Format Sound=aif aifc aiff \0
AU Format Sound=au snd \0
Ogg Media file=ogm ogv \0
Ogg Vorbis Audio file=ogg oga \0
CD Audio Track=cda \0
FLIC file=fli flc flic \0
DVD2AVI Project file=d2v \0
MPEG4 file=mp4 m4v hdmov 3gp 3gpp \0
MPEG4 Audio file=m4a m4b aac \0
Matroska Media file=mkv \0
Matroska Audio file=mka \0
Smacker/Bink Media file=smk bik \0
ratdvd file=ratdvd \0
RoQ Media file=roq \0
Real Media file=rm ram rpm rmm \1
Real Audio file=ra \1
Real Script file=rt rp smi smil \1
Dirac Video file=drc \0
DirectShow Media file=dsm dsv dsa dss \0
Musepack file=mpc \0
FLAC Audio file=flac \0
ALAC Audio file=alac \0
Flash Video file=flv \0
Shockwave Flash file=swf \3
Quicktime file=mov qt amr 3g2 3gp2 \2
Playlist file=asx m3u pls wvx wax wmx mpcpl \0
Other=divx vp6 rmvb amv \0
[Internal Filters]
SrcFilters=-308289
TraFilters=-1026
DXVAFilters=-1
FFmpegFilters=-1
[Shaders]
Initialized=1
Combine=deinterlace (blend)|sharpen complex|16-235 -> 0-255
0=YV12 Chroma Upsampling|ps_2_0|/*\nYV12 chroma upsampling fixer\nby Kurt Bernhard 'Leak' Pruenner\n\nUse with YV12 output if the half-resolution chroma \ngets upsampled in hardware by doubling the values\ninstead of interpolating between them.\n\n(i.e. if you're getting blocky red edges on dark \nbackgrounds...)\n*/\n\nsampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n\nfloat4 getPixel(float2 tex, float dx, float dy)\n{\n\ttex.x+=dx;\n\ttex.y+=dy;\n\t\n\treturn tex2D(s0, tex);\n}\n\nfloat4 rgb2yuv(float4 rgb)\n{\n\tfloat4x4 coeffs=\n\t\t{\n\t\t\t 0.299, 0.587, 0.114, 0.000,\n\t\t\t-0.147,-0.289, 0.436, 0.000,\n\t\t\t 0.615,-0.515,-0.100, 0.000,\n\t\t\t 0.000, 0.000, 0.000, 0.000\n\t\t};\n\t\t\n\treturn mul(coeffs,rgb);\n}\n\nfloat4 yuv2rgb(float4 yuv)\n{\n\tfloat4x4 coeffs=\n\t\t{\n\t\t\t 1.000, 0.000, 1.140, 0.000,\n\t\t\t 1.000,-0.395,-0.581, 0.000,\n\t\t\t 1.000, 2.032, 0.000, 0.000,\n\t\t\t 0.000, 0.000, 0.000, 0.000\n\t\t};\n\t\n\treturn mul(coeffs,yuv);\n}\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat dx=1/width;\n\tfloat dy=1/height;\n\t\n\tfloat4 yuv00=rgb2yuv(getPixel(tex,-dx,-dy));\n\tfloat4 yuv01=rgb2yuv(getPixel(tex,-dx, 0));\n\tfloat4 yuv02=rgb2yuv(getPixel(tex,-dx, dy));\n\tfloat4 yuv10=rgb2yuv(getPixel(tex, 0,-dy));\n\tfloat4 yuv11=rgb2yuv(getPixel(tex, 0, 0));\n\tfloat4 yuv12=rgb2yuv(getPixel(tex, 0, dy));\n\tfloat4 yuv20=rgb2yuv(getPixel(tex, dx,-dy));\n\tfloat4 yuv21=rgb2yuv(getPixel(tex, dx, 0));\n\tfloat4 yuv22=rgb2yuv(getPixel(tex, dx, dy));\n\n\tfloat4 yuv=\n\t\t(yuv00*1+yuv01*2+yuv02*1+\n\t\t yuv10*2+yuv11*4+yuv12*2+\n\t\t yuv20*1+yuv21*2+yuv22*1)/16;\n\t\n\tyuv.r=yuv11.r;\n\n\treturn yuv2rgb(yuv);\n}
1=sharpen complex|ps_2_0|sampler s0 : register(s0); \nfloat4 p0 : register(c0); \nfloat4 p1 : register(c1); \n\n#define width (p0[0]) \n#define height (p0[1]) \n\n#define dx (p1[0]) \n#define dy (p1[1]) \n\nfloat4 main( float2 tex : TEXCOORD0 ) : COLOR \n{ \n// definition des pixels : original, flouté, corigé, final \nfloat4 ori; \nfloat4 flou; \nfloat4 cori; \nfloat4 final; \n\n//////////////////////////////////////////////////// \n// récuppération de la matrice de 9 points \n// [ 1, 2 , 3 ] \n// [ 4,ori, 5 ] \n// [ 6, 7 , 8 ] \n\n ori = tex2D(s0, tex); \n float4 c1 = tex2D(s0, tex + float2(-dx,-dy)); \n float4 c2 = tex2D(s0, tex + float2(0,-dy)); \n float4 c3 = tex2D(s0, tex + float2(dx,-dy)); \n float4 c4 = tex2D(s0, tex + float2(-dx,0)); \n float4 c5 = tex2D(s0, tex + float2(dx,0)); \n float4 c6 = tex2D(s0, tex + float2(-dx,dy)); \n float4 c7 = tex2D(s0, tex + float2(0,dy)); \n float4 c8 = tex2D(s0, tex + float2(dx,dy)); \n\n//////////////////////////////////////////////////// \n// calcul image floue (filtre gaussien) \n // pour normaliser les valeurs, il faut diviser par la somme des coef \n // 1/(1+2+1+2+4+2+1+2+1) = 1/ 16 = .0625 \n flou = (c1+c3+c6+c8 + 2*(c2+c4+c5+c7)+ 4*ori)*0.0625; \n\n// soustraction de l'image flou à l'image originale \n cori = 2*ori - flou; \n\n//////////////////////////////////////////////////// \n// détection des contours \nfloat delta1; \nfloat delta2; \nfloat value; \n\n// par filtre de sobel \n // Gradient horizontal \n // [ -1, 0 ,1 ] \n // [ -2, 0, 2 ] \n // [ -1, 0 ,1 ] \n delta1 = (c3 + 2*c5 + c8)-(c1 + 2*c4 + c6); \n\n // Gradient vertical \n // [ -1,- 2,-1 ] \n // [ 0, 0, 0 ] \n // [ 1, 2, 1 ] \n delta2 = (c6 + 2*c7 + c8)-(c1 + 2*c2 + c3); \n\n // calcul \n value = sqrt( mul(delta1,delta1) + mul(delta2,delta2) ) ; \n\n if( value >.3 ) \n { \n//////////////////////////////////////////////////// \n// si contour, sharpen \n#define Sharpen_val0 2.0 \n#define Sharpen_val1 0.125 \n final = ori*2 - (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 ) * 0.125 ; \n// final= float4(1,0,0,0); \n return final; \n } \n else \n { \n//////////////////////////////////////////////////// \n// sinon, image corrigée \n return cori; \n } \n}
2=16-235 -> 0-255|ps_2_0|sampler s0 : register(s0); \nfloat4 p0 : register(c0); \nfloat4 p1 : register(c1); \n\n#define width (p0[0]) \n#define height (p0[1]) \n#define counter (p0[2]) \n#define clock (p0[3]) \n#define one_over_width (p1[0]) \n#define one_over_height (p1[1]) \n\n#define PI acos(-1) \n\n#define Const_1 (16.0/255.0) \n#define Const_2 (255.0/219.0) \n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR \n{\n//\t#### Uncomment this part to limit TV->PC level to SD files\t\n//\tif (height < 720) \n//\t\treturn( ( tex2D( s0, tex ) - Const_1 ) * Const_2 ); \n//\telse \n//\t\treturn tex2D( s0, tex ); \n\n\treturn( ( tex2D( s0, tex ) - Const_1 ) * Const_2 ); \n}\n
3=emboss|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat dx = 1/width;\n\tfloat dy = 1/height;\n\t\n\tfloat4 c1 = tex2D(s0, tex + float2(-dx,-dy));\n\tfloat4 c2 = tex2D(s0, tex + float2(0,-dy));\n\tfloat4 c4 = tex2D(s0, tex + float2(-dx,0));\n\tfloat4 c6 = tex2D(s0, tex + float2(dx,0));\n\tfloat4 c8 = tex2D(s0, tex + float2(0,dy));\n\tfloat4 c9 = tex2D(s0, tex + float2(dx,dy));\n\t\n\tfloat4 c0 = (-c1-c2-c4+c6+c8+c9);\n\tc0 = (c0.r+c0.g+c0.b)/3 + 0.5;\n\t\n\treturn c0;\n}\n
4=spotlight|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat4 c0 = tex2D(s0, tex);\n\tfloat3 lightsrc = float3(sin(clock*PI/1.5)/2+0.5,cos(clock*PI)/2+0.5,1);\n\tfloat3 light = normalize(lightsrc - float3(tex.x,tex.y,0));\n\tc0 *= pow(dot(light, float3(0,0,1)), 50);\n\t\n\treturn c0;\n}\n
5=deinterlace (blend)|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat4 c0 = tex2D(s0, tex);\n\t\n\tfloat2 h = float2(0, 1/height);\n\tfloat4 c1 = tex2D(s0, tex-h);\n\tfloat4 c2 = tex2D(s0, tex+h);\n\tc0 = (c0*2+c1+c2)/4;\n\t\n\treturn c0;\n}
6=denoise|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define val0 (1.0)\n#define val1 (0.125) \n\n#define effect_width (0.1)\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\t\n\tfloat dx = 0.0f;\n\tfloat dy = 0.0f;\n \tfloat fTap = effect_width;\n\n\tfloat4 cAccum = tex2D(s0, tex) * val0;\n\n\tfor ( int iDx = 0 ; iDx < 16; ++iDx )\n\t{\n\t\tdx = fTap /width; \n\t dy = fTap /height; \n\n\t\tcAccum += tex2D(s0, tex + float2(-dx,-dy)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(0,-dy)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(-dx,0)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(dx,0)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(0,dy)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(dx,dy)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(-dx,+dy)) * val1;\n\t\tcAccum += tex2D(s0, tex + float2(+dx,-dy)) * val1;\n \n\t\tfTap += 0.1f;\n\t}\n\t\n\treturn(cAccum/16.0f);\n}
7=invert|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat4 c0 = float4(1, 1, 1, 1) - tex2D(s0, tex);\n\t\n\treturn c0;\n}\n
8=procamp|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nstatic float4x4 r2y =\n{\n\t0.299, 0.587, 0.114, 0,\n\t-0.147, -0.289, 0.437, 0,\n\t0.615, -0.515, -0.100, 0,\n\t0, 0, 0, 0\n};\n\nstatic float4x4 y2r =\n{\n\t1.0, 0.0, 1.140, 0, \n\t1.0, -0.394, -0.581, 0,\n\t1.0, 2.028, 0.0, 0, \n\t0, 0, 0, 0\n};\n\n#define ymin (16.0/255)\n#define ymax (235.0/255)\n\n// Brightness: -1.0 to 1.0, default 0.0\n// Contrast: 0.0 to 10.0, default 1.0\n// Hue: -180.0 to +180.0, default 0.0\n// Saturation: 0.0 to 10.0, default 1.0\n\n#define Brightness 0.0\n#define Contrast 1.0\n#define Hue 0.0\n#define Saturation 1.0\n\n// tv -> pc scale\n// #define Brightness (-ymin)\n// #define Contrast (1.0/(ymax-ymin))\n\nstatic float2x2 HueMatrix =\n{\n\tcos(Hue * PI / 180), sin(Hue * PI / 180),\n\t-sin(Hue * PI / 180), cos(Hue * PI / 180)\n};\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat4 c0 = tex2D(s0, tex);\n\tc0 = mul(r2y, c0);\n\tc0.r = Contrast * (c0.r - ymin) + ymin + Brightness;\n\tc0.gb = mul(HueMatrix, c0.gb) * Saturation;\n\tc0 = mul(y2r, c0);\n\treturn c0; \n}\n
9=contour|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat dx = 4/width;\n\tfloat dy = 4/height;\n\t\n\tfloat4 c2 = tex2D(s0, tex + float2(0,-dy));\n\tfloat4 c4 = tex2D(s0, tex + float2(-dx,0));\n\tfloat4 c5 = tex2D(s0, tex + float2(0,0));\n\tfloat4 c6 = tex2D(s0, tex + float2(dx,0));\n\tfloat4 c8 = tex2D(s0, tex + float2(0,dy));\n\t\n\tfloat4 c0 = (-c2-c4+c5*4-c6-c8);\n\tif(length(c0) < 1.0) c0 = float4(0,0,0,0);\n\telse c0 = float4(1,1,1,0);\n\t\n\treturn c0;\n}\n
10=letterbox|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat4 c0 = 0;\n\t\n\tfloat2 ar = float2(16, 9);\n\tfloat h = (1 - width/height * ar.y/ar.x) / 2;\n\t\n\tif(tex.y >= h && tex.y <= 1-h)\n\t\tc0 = tex2D(s0, tex);\n\t\n\treturn c0;\n}
11=nightvision|ps_2_0|sampler s0 : register(s0);\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat c = dot(tex2D(s0, tex), float4(0.2, 0.6, 0.1, 0.1));\n\treturn float4(0,c,0,0);\n}\n
12=BT601 -> BT701|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\n\n// Hauteur de la frame\n#define height (p0[1])\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\t// c0 = pixel original\n\tfloat4 c0=tex2D(s0,tex);\n\n\t// Uncomment to activate for HD only\n\t//if(height >719 )\n\t//{\n\t//\treturn c0;\n\t//}\n\n\t// r=c0[0], g=c0[1], b=c0[2]\n\t// RGB [16,235] to YUV: 601 mode (128 is not added to Cb and Cr)\n\tfloat y=0.299*c0[0] + 0.587*c0[1] + 0.114*c0[2];\n\tfloat Cb=-0.172*c0[0] -0.339*c0[1] +0.511*c0[2];\n\tfloat Cr=0.511*c0[0] -0.428*c0[1] -0.083*c0[2];\n\n\t// YUV to RGB [16,235]: 709 mode (Cb and Cr are 128 less)\n\tfloat r=y+1.540*Cr;\n\tfloat g=y-0.459*Cr-0.183*Cb;\n\tfloat b=y+1.816*Cb;\n\n\tfloat4 ret=float4(r,g,b,0);\n\n\treturn ret;\n}
13=wave|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\t// don't look at this for too long, you'll get dizzy
\n\t\n\tfloat4 c0 = 0;\n\t\n\ttex.x += sin(tex.x+clock/0.3)/20;\n\ttex.y += sin(tex.x+clock/0.3)/20;\n\t\n\tif(tex.x >= 0 && tex.x <= 1 && tex.y >= 0 && tex.y <= 1)\n\t{\n\t\tc0 = tex2D(s0, tex);\n\t}\n\t\n\treturn c0;\n}\n
14=sharpen|ps_2_0|sampler s0 : register(s0); \nfloat4 p0 : register(c0); \nfloat4 p1 : register(c1); \n \n#define effect_width (1.6) \n#define val0 (2.0) \n#define val1 (-0.125) \n\n#define width (p0[0]) \n#define height (p0[1]) \n \nfloat4 main(float2 tex : TEXCOORD0) : COLOR \n{ \n\tfloat dx = effect_width/width; \n\tfloat dy = effect_width/height; \n \n\tfloat4 c1 = tex2D(s0, tex + float2(-dx,-dy)) * val1; \n\tfloat4 c2 = tex2D(s0, tex + float2(0,-dy)) * val1; \n\tfloat4 c3 = tex2D(s0, tex + float2(-dx,0)) * val1; \n\tfloat4 c4 = tex2D(s0, tex + float2(dx,0)) * val1; \n\tfloat4 c5 = tex2D(s0, tex + float2(0,dy)) * val1; \n\tfloat4 c6 = tex2D(s0, tex + float2(dx,dy)) * val1; \n\tfloat4 c7 = tex2D(s0, tex + float2(-dx,+dy)) * val1; \n\tfloat4 c8 = tex2D(s0, tex + float2(+dx,-dy)) * val1; \n\tfloat4 c9 = tex2D(s0, tex) * val0; \n\t\n\tfloat4 c0 = (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 +c9); \n\t\n\treturn c0; \n}
15=sphere|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\t// - this is a very simple raytracer, one sphere only\n\t// - no reflection or refraction, yet (my ati 9800 has a 64 + 32 instruction limit...)\n\t\n\tfloat3 pl = float3(3,-3,-4); // light pos\n\tfloat4 cl = 0.4; // light color\n\t\n\tfloat3 pc = float3(0,0,-1); // cam pos\n\tfloat3 ps = float3(0,0,0.5); // sphere pos\n\tfloat r = 0.65; // sphere radius\n\t\n\tfloat3 pd = normalize(float3(tex.x-0.5, tex.y-0.5, 0) - pc);\n\t\n\tfloat A = 1;\n\tfloat B = 2*dot(pd, pc - ps);\n\tfloat C = dot(pc - ps, pc - ps) - r*r;\n\tfloat D = B*B - 4*A*C;\n\t\n\tfloat4 c0 = 0;\n\t\n\tif(D >= 0)\n\t{\n\t\t// t2 is the smaller, obviously...\n\t\t// float t1 = (-B + sqrt(D)) / (2*A);\n\t\t// float t2 = (-B - sqrt(D)) / (2*A);\n\t\t// float t = min(t1, t2); \n\t\t\n\t\tfloat t = (-B - sqrt(D)) / (2*A);\n\t\t\n\t\t// intersection data\n\t\tfloat3 p = pc + pd*t;\n\t\tfloat3 n = normalize(p - ps);\n\t\tfloat3 l = normalize(pl - p);\n\t\t\n\t\t// mapping the image onto the sphere\n\t\ttex = acos(-n)/PI; \n\t\t\n\t\t// rotate it\n\t\ttex.x = frac(tex.x + frac(clock/10));\n\t\t\n\t\t// diffuse + specular\n\t\tc0 = tex2D(s0, tex) * dot(n, l) + cl * pow(max(dot(l, reflect(pd, n)), 0), 50);\n\t}\n\t\n\treturn c0;\n}\n
16=grayscale|ps_2_0|sampler s0 : register(s0);\nfloat4 p0 : register(c0);\nfloat4 p1 : register(c1);\n\n#define width (p0[0])\n#define height (p0[1])\n#define counter (p0[2])\n#define clock (p0[3])\n#define one_over_width (p1[0])\n#define one_over_height (p1[1])\n\n#define PI acos(-1)\n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR\n{\n\tfloat c0 = dot(tex2D(s0, tex), float4(0.299, 0.587, 0.114, 0));\n\t\n\treturn c0;\n}\n
17=edge sharpen|ps_2_0|sampler s0 : register(s0); \nfloat4 p0 : register(c0); \nfloat4 p1 : register(c1); \n\n#define width (p0[0]) \n#define height (p0[1]) \n#define counter (p0[2]) \n#define clock (p0[3]) \n#define one_over_width (p1[0]) \n#define one_over_height (p1[1]) \n\n#define PI acos(-1) \n\n#define NbPixel 1 \n\n#define Edge_threshold 0.2 \n\n#define Sharpen_val0 2.0 \n#define Sharpen_val1 0.125 \n\nfloat4 main(float2 tex : TEXCOORD0) : COLOR \n{ \n// taille de NbPixel pixels \nfloat dx = NbPixel/width; \nfloat dy = NbPixel/height; \nfloat4 Res = 0; \n\n// Détection de contour par Prewitt \n // récuppération des 9 points \n // [ 1, 2, 3 ] \n // [ 4, 0, 5 ] \n // [ 6, 7, 8 ] \n float4 c0 = tex2D(s0, tex); \n float4 c1 = tex2D(s0, tex + float2(-dx,-dy)); \n float4 c2 = tex2D(s0, tex + float2(0,-dy)); \n float4 c3 = tex2D(s0, tex + float2(dx,-dy)); \n float4 c4 = tex2D(s0, tex + float2(-dx,0)); \n float4 c5 = tex2D(s0, tex + float2(dx,0)); \n float4 c6 = tex2D(s0, tex + float2(-dx,dy)); \n float4 c7 = tex2D(s0, tex + float2(0,dy)); \n float4 c8 = tex2D(s0, tex + float2(dx,dy)); \n\n // Calcul des 3 vecteurs dérivé (hor,vert, diag1, diag2) \n float4 delta1 = (c6+c4+c1-c3-c5-c8); \n float4 delta2 = (c4+c1+c2-c5-c8-c7); \n float4 delta3 = (c1+c2+c3-c8-c7-c6); \n float4 delta4 = (c2+c3+c5-c7-c6-c4); \n\n // calcul du Prewitt \n float value = length(abs(delta1) + abs(delta2) + abs(delta3) + abs(delta4))/6; \n\n// Si c'est un contour (vector lenght > Edge_threshold) => filtre de sharpen \n if(value > Edge_threshold ) \n { \n Res = c0 * Sharpen_val0 - (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 ) * Sharpen_val1 ; \n // Pour voir les contour en rouge ... \n //Res = float4( 1.0, 0.0, 0.0, 0.0 ); \n\n return Res; \n } \n else \n return c0; \n}