ffdshow

 

ffdshow est un filtre qui permet de réaliser de nombreux traitements sur l'audio et la vidéo

Cette page doit beaucoup au post initialisé par kazuya

Les informations ci-dessous supposent que l'on a précisé ffdshow raw video filter comme filtre externe dans MPC

Les filtres sont indiqués ici dans l'ordre de leur traitement

Après pas mal d'échanges avec kazuya j'ai choisi pour le moment de réaliser la chaîne de traitement suivante :
Entrée en YUY2 -->  Resize --> Sharpen --> Sortie RGB32

Ne pas oublier de mettre la clé correspondante à la bonne valeur pour avoir une sortie en YUY2 du décodeur vidéo Purevideo, voir ici

C'est celle qui à priori offre la meilleure colorimétrie, c'est pour moi une base de départ, des essais ultérieurs me permettront éventuellement d'affiner ces choix (les DVD étant codés en YV12 le passage en YUV2 n'est là à priori que pour avoir une meilleure colorimétrie)

 

Petite introduction aux espaces colorimétriques

Quand on stocke de la vidéo numériquement il y a deux philosophies pour le stockage : RGB (RVB en français) et YUV. RGB stocke une valeur de couleur pour chacun des 3 niveaux de couleur, Rouge Vert et Bleu, pour chaque pixel. Le RGB le plus courant sur les ordinateurs de nos jours est le RGB24 qui alloue 8 bits pour chaque niveau de couleur (ce qui nous donne le fameux intervalle 0-255), ainsi le blanc s'écrit 255,255,255 et le noir 0,0,0, soit 24 bits. On va ici utiliser RGB32 (les 8 bits supplémentaires sont utilisés pour gérer la transparence)

L'espace colorimétrique YUV est un peu différent. Comme l'oeil humain est plus sensible à la luminance (intensité lumineuse) qu'à la chrominance (perception ds couleurs), on favorisera le stokage de la luminance . En YUV on stocke 3 valeurs : la luminance (Y) sur 8 bits, un premier vecteur de chrominance (U) sur 4 bits qui correspond en gros à B-Y et un second vecteur de chrominance (V) sur 4 bits qui lui correspond à R-Y, soit 16 bits. Comme il a été établi que l'on peut écrire Y=0,299R + 0,587V + 0,114B, on peut retrouver les valeurs de R, V et B. Pour cela on procède en échantillonnant le Chroma (chrominance) deux fois moins souvent que le Luma (luminance), en d'autres mots une seule couleur est attribuée par groupe de 2 pixels.

Ainsi YUV stocke des données plus importantes mais de manière moins précise que RGB. Quand on fait des conversions entre ces deux espaces, soit on perd des données, soit le système fait des suppositions et invente des donnés ou fait des interpolations.

Il existe plusieurs modes YUV : ainsi YUV2 (norme 4:2:2), celle définie ci-dessus, YV12 (norme 4:2:0) celle utilisée par les DVD, où la même chrominance est utilisée pour coder deux lignes successives

Voir aussi le site de DTSman

 

Codecs

On indique ici l'espace colorimétrique YUY2 en entrée du filtre

 

Profiles / Preset settings

On va ici créer des profils en fonction des sources lues : ils seront chargés automatiquement en fonction de la reconnaissance la source.

J'ai créé deux profils :

 

Resize & aspect

On y précise comment on ajuste la taille de la vidéo en fonction du diffuseur

 

Resize & aspect - Borders

Utilisé pour le format 4/3 : on ajoute ici des bords noir de 152 pixels en horizontal

 

Resize & aspect - Settings

Précise les algorithmes utilisés, valable pour tous les profils

 

Sharpen

Augmente la netteté d'une manière subtile, valable pour tous les profils

 

Decoder options

Options du decodeur, valable pour tous les profils

 

Queue & misc

Paramètres divers, valable pour tous les profils

 

Output

Précise l'espace colorimétrique en sortie, ici RGB32. Valable pour tous les profils

[Up]