Emmanuel Piat a écrit:Ce PS est plutôt fait pour être en fin de chaîne.
Il s'utilise généralement derrière un sharpen et fonctionne sur des diffuseurs 720 lignes ou 1080 lignes.
Après, selon la qualité de la source et les post-traitements utilisés avant (ffdshow ou PS), il faut jouer avec les paramètres pour avoir un rendu convenable.
tu peux me dire comment STP comment Emmanuel Piat ?
exemple :
<?xml version="1.0" encoding="iso-8859-1"?>
<Shader>
<Profile>ps_2_0</Profile>
<Description>sharpenMod</Description>
<Code>sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);
#define effect_width (0.
#define val0 (2.0)
#define val1 (-0.125)
#define width (p0[0])
#define height (p0[1])
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float dx = effect_width/width;
float dy = effect_width/height;
float4 c1 = tex2D(s0, tex + float2(-dx,-dy)) * val1;
float4 c2 = tex2D(s0, tex + float2(0,-dy)) * val1;
float4 c3 = tex2D(s0, tex + float2(-dx,0)) * val1;
float4 c4 = tex2D(s0, tex + float2(dx,0)) * val1;
float4 c5 = tex2D(s0, tex + float2(0,dy)) * val1;
float4 c6 = tex2D(s0, tex + float2(dx,dy)) * val1;
float4 c7 = tex2D(s0, tex + float2(-dx,+dy)) * val1;
float4 c8 = tex2D(s0, tex + float2(+dx,-dy)) * val1;
float4 c9 = tex2D(s0, tex) * val0;
float4 c0 = (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 +c9);
else
LanczosResize(1680,1080)
converttoyv12()
# Detect field order
function FOrder(clip c) {
fo= GetParity(c)? 1:0
return c0;
}</Code>
</Shader>
dis moi si c'est bon comme ça !