J'ai testé différents filtres utilisant les pixels sharders.
j'ai adapté un filtre sharpen.
Pour ceux que cela intéresse, le voici :
nom : Sharpen_reglable
------------------------------------------------------
sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);
#define effect_width (1.0)
#define effect_sharpen (0.36)
#define val0 (1.0 + effect_sharpen)
#define val1 (- effect_sharpen/6.0)
#define val2 (- val1/2.0)
#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)) * val2;
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)) * val2;
float4 c7 = tex2D(s0, tex + float2(-dx,+dy)) * val2;
float4 c8 = tex2D(s0, tex + float2(+dx,-dy)) * val2;
float4 c9 = tex2D(s0, tex) * val0;
float4 c0 = (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 +c9);
return c0;
}
--------------------------------------------------------------------------------
le coefficient effect_sharpen augmente l'effet du réhausseur de contour.
la valeur de 0.36 correspond à mon réglage préféré.
ps : efficacité optimale avec le MPC de cassimir validation d'option direct3D
dans ces conditions le pixel-sharder est effectué dans la carte-graphique
(si elle est compatible DX9)
A+
|
Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités
Toutes les solutions à base d'ordinateur (PC, Mac, Linux...)
encore moi,
voici mon deuxième filtre.
il permet de faire la convesion d'un YUY2 -> full RVB
nom : full_RVB
-----------------------------------
sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);
#define width (p0[0])
#define height (p0[1])
#define counter (p0[2])
#define clock (p0[3])
#define one_over_width (p1[0])
#define one_over_height (p1[1])
#define PI acos(-1)
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float r = dot(tex2D(s0, tex), float4(1.14303, 0.01788, 0.00347,0)) - 0.07306;
float g = dot(tex2D(s0, tex), float4(0.00911, 1.15180, 0.00347,0)) - 0.07306;
float b = dot(tex2D(s0, tex), float4(0.00911, 0.01788, 1.1374,0)) - 0.07306;
float4 c0 = float4(r, g, b, 0) ;
return c0;
}
----------------------------------
a utiliser dans les mêmes conditions que le précédent.
voici mon deuxième filtre.
il permet de faire la convesion d'un YUY2 -> full RVB
nom : full_RVB
-----------------------------------
sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);
#define width (p0[0])
#define height (p0[1])
#define counter (p0[2])
#define clock (p0[3])
#define one_over_width (p1[0])
#define one_over_height (p1[1])
#define PI acos(-1)
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float r = dot(tex2D(s0, tex), float4(1.14303, 0.01788, 0.00347,0)) - 0.07306;
float g = dot(tex2D(s0, tex), float4(0.00911, 1.15180, 0.00347,0)) - 0.07306;
float b = dot(tex2D(s0, tex), float4(0.00911, 0.01788, 1.1374,0)) - 0.07306;
float4 c0 = float4(r, g, b, 0) ;
return c0;
}
----------------------------------
a utiliser dans les mêmes conditions que le précédent.
- renard160
- Messages: 7
- Inscription Forum: 19 Mai 2006 9:57
voici mon deuxième filtre.
il permet de faire la convesion d'un YUY2 -> full RVB
ca veu dire qu'avec ce filtre on a plus besoin de ffdshow pour la convertion yv2 --> rgb32 ??
- d-boy
- Messages: 313
- Inscription Forum: 07 Aoû 2002 17:26
- Localisation: Nyon-Suisse
effectivement, ce filtre a la même fonction que YVY2->RGB32 avec ffdshow.
En plus, en utilisant la configuration suivante :
MPC de cassimir (option direct3D validée)
Décodage avec purevideo en soft
filtre Reclock
Filtre Sharpen
filtre RGB
L'occupation du processeur (P4 3MHz) ne dépasse pas le 10%.
(avec le MPC officiel l'occupation est de 55%)
En plus, en utilisant la configuration suivante :
MPC de cassimir (option direct3D validée)
Décodage avec purevideo en soft
filtre Reclock
Filtre Sharpen
filtre RGB
L'occupation du processeur (P4 3MHz) ne dépasse pas le 10%.
(avec le MPC officiel l'occupation est de 55%)
- renard160
- Messages: 7
- Inscription Forum: 19 Mai 2006 9:57
bonjour a tous pour apporter de l'eau au moulin, j'ai exactement ces réglages, et tout fonctionne parfaitement en revanche avec MPC de casimir, lorsque je suis en plein écran impossible d'arrêter MPC, je n'ai plus aucune barre avez-vous ce problème ?
merci
merci
- quincy
- Messages: 81
- Inscription Forum: 16 Mar 2005 23:34
- Localisation: velizy
>il permet de faire la convesion d'un YUY2 -> full RVB
As tu utilisé le chgt d'espace de couleur YUV[16:235] -> RGB[16:235] (qui laisse tout le btb et le wtw) ou le chgt d'espace de couleur YUV[16:235] -> RGB[0:255] (qui shinte tout le btb et le wtw) ?
Je pourrais te donner les formules pour les deux si tu veux (au cas où) ...
As tu utilisé le chgt d'espace de couleur YUV[16:235] -> RGB[16:235] (qui laisse tout le btb et le wtw) ou le chgt d'espace de couleur YUV[16:235] -> RGB[0:255] (qui shinte tout le btb et le wtw) ?
Je pourrais te donner les formules pour les deux si tu veux (au cas où) ...
Dernière édition par Emmanuel Piat le 02 Juin 2006 11:08, édité 1 fois.
- Emmanuel Piat
- Contributeur HCFR 2016
- Messages: 10440
- Inscription Forum: 10 Oct 2000 2:00
- Localisation: Besançon, FRANCE
>L'occupation du processeur (P4 3MHz) ne dépasse pas le 10%.
ça calme. C'est sur du DVD j'imagine ?
ça calme. C'est sur du DVD j'imagine ?
- Emmanuel Piat
- Contributeur HCFR 2016
- Messages: 10440
- Inscription Forum: 10 Oct 2000 2:00
- Localisation: Besançon, FRANCE
Moi ce que je me demande, c'est comment Direct3D sait que l'espace a changé, puisque c'est fait en RAw via PixelShader ... ???
- Seb.26
- Messages: 3255
- Inscription Forum: 04 Mar 2004 16:43
Est ce quelqu'un peut me redonner le lien du MPC custom de Casimir ?
Le trouve plus
Le trouve plus
- Dark Anthony
- Messages: 3541
- Inscription Forum: 07 Sep 2003 12:00
- Localisation: Chateau de Versailles
Emmanuel Piat a écrit:Je pourrais te donner les formules pour les deux si tu veux (au cas où) ...
Des formules "génériques" sont peut être envisageable, non ?
( genre faire du [12:240] -> [0:255], ou encore du [16:235] -> [0:255] ... )
... Si c'etait possible ...
- Seb.26
- Messages: 3255
- Inscription Forum: 04 Mar 2004 16:43
Est ce quelqu'un peut me redonner le lien du MPC custom de Casimir ?
Le trouve plus
http://tibrium.neuf.fr/
- d-boy
- Messages: 313
- Inscription Forum: 07 Aoû 2002 17:26
- Localisation: Nyon-Suisse
Des formules "génériques" sont peut être envisageable, non ?
>... Si c'etait possible ...
Ca c'était la question que je n'osais pas poser (avec la possibilité d'ajuster des paramètres en tps réel ds les formules Mais j'en demande sans doute bcp trop... ).
>... Si c'etait possible ...
Ca c'était la question que je n'osais pas poser (avec la possibilité d'ajuster des paramètres en tps réel ds les formules Mais j'en demande sans doute bcp trop... ).
- Emmanuel Piat
- Contributeur HCFR 2016
- Messages: 10440
- Inscription Forum: 10 Oct 2000 2:00
- Localisation: Besançon, FRANCE
On n'en demande jamais trop à un PC
(il est bien là pour ça, non ? )
A+
(il est bien là pour ça, non ? )
A+
- ptiJean
- Messages: 8551
- Inscription Forum: 13 Juin 2003 10:46
- Localisation: Nord de Vannes (56)
Hum, pour la mise à jour auto, ça va être limite à mon avis, ou alors peut être que Casimir pourrait ajouter un onglet "Custom PixelShaders" avec quelques varibles/contantes qui seraient passées avec la compile des filtres ...
Voici ma vision des choses ( c'est toujours plus facile que de prendre son clavier, je sais )
Ajouter une fenetre "Pixels shaders customisation" superposable à la video, fenetre qui contiendrait je sais pas moi, genre 10 valeurs de type float, avec un TrackBar et un CEdit , avec leur nom customisable dans les setup de MPC.
Dans les pixels shaders, on ajoute la def des constantes dans les scripts ... par contre, il faudrait recompiler pour valider les changements ( car contantes ) genre avec un bouton "Appliquer les reglages" ...
Voici ma vision des choses ( c'est toujours plus facile que de prendre son clavier, je sais )
Ajouter une fenetre "Pixels shaders customisation" superposable à la video, fenetre qui contiendrait je sais pas moi, genre 10 valeurs de type float, avec un TrackBar et un CEdit , avec leur nom customisable dans les setup de MPC.
Dans les pixels shaders, on ajoute la def des constantes dans les scripts ... par contre, il faudrait recompiler pour valider les changements ( car contantes ) genre avec un bouton "Appliquer les reglages" ...
- Seb.26
- Messages: 3255
- Inscription Forum: 04 Mar 2004 16:43
Emmanuel Piat a écrit:>il permet de faire la convesion d'un YUY2 -> full RVB
As tu utilisé le chgt d'espace de couleur YUV[16:235] -> RGB[16:235] (qui laisse tout le btb et le wtw) ou le chgt d'espace de couleur YUV[16:235] -> RGB[0:255] (qui shinte tout le btb et le wtw) ?
Je pourrais te donner les formules pour les deux si tu veux (au cas où) ...
pour effectuer le changement d'espace, j'ai utilisé la procédure suivante
RGB [format normal] -> Y[16-235] U[16-240] V[16 -240]
-> Y [0 -255] U[0-255] V[0-255]
-> RBV [0-255]
Cela donne une matrice de transformation. (c'est mieux RGB[16:235] ->RGB[0:255])
Il y a encore des améliorations à faire, car je n'ai pas pris en compte le btb.
Pour ceux qui veulent s'amuser les informations sur les différents formats sont sur le site
http://www.fourcc.org/
- renard160
- Messages: 7
- Inscription Forum: 19 Mai 2006 9:57
|
Retourner vers Matériel PC Home-cinéma |