Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 27 invités

Toutes les solutions à base d'ordinateur (PC, Mac, Linux...)

[MPC] Filtre(s) Pixels shaders ...

Message » 22 Mai 2006 13:51

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+
renard160
 
Messages: 7
Inscription Forum: 19 Mai 2006 9:57
  • offline

Message » 22 Mai 2006 13:58

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.
renard160
 
Messages: 7
Inscription Forum: 19 Mai 2006 9:57
  • offline

Message » 01 Juin 2006 13:18

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
  • offline

Message » 01 Juin 2006 21:29

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%)
renard160
 
Messages: 7
Inscription Forum: 19 Mai 2006 9:57
  • offline

Message » 02 Juin 2006 8: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
quincy
 
Messages: 81
Inscription Forum: 16 Mar 2005 23:34
Localisation: velizy
  • offline

Message » 02 Juin 2006 11:06

>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ù) ...
Dernière édition par Emmanuel Piat le 02 Juin 2006 11:08, édité 1 fois.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 02 Juin 2006 11:07

>L'occupation du processeur (P4 3MHz) ne dépasse pas le 10%.

ça calme. C'est sur du DVD j'imagine ?
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 02 Juin 2006 11:22

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
  • offline

Message » 02 Juin 2006 11:42

Est ce quelqu'un peut me redonner le lien du MPC custom de Casimir ?
Le trouve plus :oops:
Dark Anthony
 
Messages: 3541
Inscription Forum: 07 Sep 2003 12:00
Localisation: Chateau de Versailles
  • offline

Message » 02 Juin 2006 12:04

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
  • offline

Message » 02 Juin 2006 13:16

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
  • offline

Message » 02 Juin 2006 13:54

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 :wink: (avec la possibilité d'ajuster des paramètres en tps réel ds les formules :roll: Mais j'en demande sans doute bcp trop... :oops: ).
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 02 Juin 2006 13:57

On n'en demande jamais trop à un PC 8)
(il est bien là pour ça, non ? :lol:)
A+
ptiJean
 
Messages: 8551
Inscription Forum: 13 Juin 2003 10:46
Localisation: Nord de Vannes (56)
  • offline

Message » 02 Juin 2006 14:04

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 :oops: )

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 ;) :oops:, 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
  • offline

Message » 02 Juin 2006 15:28

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
  • offline


Retourner vers Matériel PC Home-cinéma