Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: G4MeS, mattco, PITO59, xullux de bordeaux et 65 invités

Tout ce qui concerne les logiciels lié au HC sur ordinateur (PC, Mac, Linux...)
Règles du forum
Avant de poster, merci de prendre connaissance des règles du forum : à lire avant de poster

Gestion correcte du gamma sous ffdshow

Message » 03 Mai 2007 9:46

Bonjour,

D'une certaine manière ce post est une suite à l'intervention finale de seb.26 ici :

http://www.homecinema-fr.com/forum/view ... &start=105

mais comme il est plus spécifiquement dédiée à la gestion du gamma dans ffdshow, je préfère le déporter dans un nouveau topic.

D'abord un constat :

Les filtres "Picture Properties" et "Levels" de ffdshow qui permettent de modifier le gamma opèrent par défaut sur un intervalle de luma de O-255, ce qui est totalement inadapté à l'échelle de luma 16-235 fournie par les décodeurs mpeg2 (Dscaler,nvidia, etc.).

Le schéma ci-dessous illustre tout cela bien mieux qu'un long discours. On constate alors :

- qu'on retrouve automatiquement du BTB (ce qui peut n'avoir aucun intérêt si le DVD en est dépourvu) ds l’image après correction gamma et conv YUV -> RGB [0,255]. Par ailleurs, vu que la courbe de gamma part de 0, le noir se retrouve à un niveau très élevé après corr. gamma, d'où certe un débouchage des noirs mais surtout, si votre projo est capable de faire du contraste, une forte dégradation de cette capacité.

- que le blanc max après correction gamma (niv 235) puis conv YUV -> RGB (niv 255) correspond à une luminosité plus faible ds l’image de départ => il y a compression de dynamique et en plus on perd de l'info ds l'image DVD (aspect pauvre et saturé des blancs).

Au final, tout cela donne une image qui est terne, une image qui ne "pête" pas !

Nota : la valeur de gamma de 1.67 qui est ds le snapshot de ffdshow est juste la pour illustrer mon propos et faire une "belle" courbe. Ce n'est pas du tout la valeur que j'utilise qui dépend évidemment du gamma natif de mon projo.
Fichiers joints
ffdshow Gamma pas bon.png
ffdshow Gamma pas bon.png (10.81 Kio) Vu 4450 fois
Gamma pas bon.png
Gamma pas bon.png (80.07 Kio) Vu 4449 fois
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 03 Mai 2007 9:49

Le schéma ci-dessous explique ce qu'il convient de faire si par exemple, on est intéressé que par la prise en compte de l'intervalle 16-235 (rejet du BTB et du WTW).
La règle est simple : le gamma doit s’appliquer uniqt sur l'intervalle de luma qu’on désire afficher. 16 doit correspondre à 16 après correction gamma et idem pour 235.

En terme de résultat, je ne vais pas vous bassiner, c'est le jour et la nuit... Et même les projo avec faible CR en profitent largement (c'est le cas de mon dila G15).
Fichiers joints
ffdshow Gamma ok (sans BTB ni WTW).png
ffdshow Gamma ok (sans BTB ni WTW).png (11.05 Kio) Vu 4445 fois
Gamma ok (sans BTB ni WTW).png
Gamma ok (sans BTB ni WTW).png (63.15 Kio) Vu 4449 fois
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 03 Mai 2007 9:50

Si maintenant on veut par exemple afficher en plus un peu de BTB parce que le DVD en possède bcp, la règle reste la même : le gamma doit s’appliquer uniqt sur l'intervalle de luma qu’on désire afficher.
Fichiers joints
ffdshow Gamma ok (avec BTB mais sans WTW).png
ffdshow Gamma ok (avec BTB mais sans WTW).png (11.03 Kio) Vu 4442 fois
Gamma ok (avec BTB mais sans WTW).png
Gamma ok (avec BTB mais sans WTW).png (57.96 Kio) Vu 4443 fois
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 03 Mai 2007 9:53

Pour afficher en plus un peu de WTW, même principe.

Perso, pour l'intervalle input [16-x,235+y] du filtre Levels, je tourne désormais avec x=0,2 ou 4 et comme je ne me préoccupe pas vraiment du WTW, je prends tjrs y = 0.

Je rappelle qu'il est simple de voir si un DVD a du BTB et du WTW grâce au mode curve qui trace en temps réel l'histo des niv. de gris de l'image qui entre ds le filtre. L'exemple classique : le DVD "le village" (voir l'autre post) possède bcp de BTB. En mettant x à 4, les détails récupérés dans les scènes sombres changent bcp de choses et l'image est bien plus équilibrée, même sur les scènes claires.

@+
Emmanuel
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 03 Mai 2007 21:49

Et pour ceux qui ne jure que par le 0-255 ? :P
kbil69
 
Messages: 38412
Inscription Forum: 09 Nov 2003 1:52
Localisation: 69
  • offline

Message » 03 Mai 2007 23:05

-= FFDShow - patch "Seb's BTB&WTW" + "PC YUV" =-

http://membres.lycos.fr/sebfr26/PCHC/Do ... howSeb.htm
Dernière édition par Seb.26 le 19 Mai 2007 18:58, édité 1 fois.
Seb.26
 
Messages: 3256
Inscription Forum: 04 Mar 2004 16:43
  • offline

Message » 03 Mai 2007 23:29

Je suppose que dans le curseur Gamma corection il faut mettre une valeur qui correspond a celle de son projo .

Il faudra donc que j'essaye avec 2.20 pour mon HD-1 si j'ai bien compris .
rezoli
 
Messages: 2167
Inscription Forum: 16 Fév 2002 2:00
Localisation: Au soleil ....
  • offline

Message » 04 Mai 2007 11:24

Salut,

encore un thread kitu de mr Manu :wink: !
Respect !

Sinon question : sous FFDSHOW quand on bosse en input *YV12 et sortie *YV12/RGB conversion haute qualité, les décodeurs travailent tjs en 16-235 ?

Dans ce cas ton réglage de gamma via *levels est-il aussi OK si on n'entre pas en YUY2 mais comme moi en YV12 ?

Merci et @+,
Xavier.
tobal
 
Messages: 6118
Inscription Forum: 13 Sep 2001 2:00
Localisation: Niort
  • offline

Message » 04 Mai 2007 11:49

>Et pour ceux qui ne jure que par le 0-255 ?

aucun pb. Relie mon post et surtout mes schémas car il est impératif de bien comprendre comment la correction gamma doit s'appliquer après un décodage DVD. Sans cette connaissance, on fait n'importe quoi et c'était notamment mon cas. Depuis que j'ai cherché à comprendre le fonctionnement du filtre "level" et de sa gestion gamma intégrée, j'ai retrouvé une image avec un rendu magnifique (peps + contraste dont je n'imaginais même pas mon projo capable...). Le type qui a programmé ce filtre est un petit malin qui avait tout compris.

>Il faudra donc que j'essaye avec 2.20 pour mon HD-1 si j'ai bien compris .

pas du tout :wink: . Ton HD-1 a un gamma natif de 2.2 . Seulement, en fonction de ta salle, il convient d'ajuster ce gamma sur un gamma cible qui va dépendre essentiellement de la luminosité réfléchie par les murs de ta salle. La seule règle pour ajuster ce gamma cible est d'obtenir un débouchage des noirs "correct". Et ce "correct" est un facteur très subjectif qui dépends des goûts de chacun (et de la pièce) ...

Exemple : dans ma salle, une fois le mur opposé à l'écran devenu tout noir, j'ai pu baisser de 0.03 la correction gamma que j'utilisais avant. Donc j'ai eu besoin de moins déboucher les noirs, tout simplement parce que ma salle dégradait beaucoup moins le contraste natif de mon projo.

Dans ton cas avec le HD-1, tu peux viser, en fonction de ton rendu des noirs, une légère correction du gamma natif du projo en choisissant une correction gamma valant 1.xx ou 0.9x .

Autrement dit si tu désire ne pas afficher le BTB et le WTW, tu choisis
pour input : 16 & 235
pour ouput : 16 & 235
pour gamma : la correction qui te plait

Si tu désire afficher un peu de BTB et pas de WTW :
pour input : 12 & 235
pour ouput : 16 & 235
pour gamma : la correction qui te plait

Si tu désire afficher un peu de BTB et un peu de WTW :
pour input : 12 & 239
pour ouput : 16 & 235
pour gamma : la correction qui te plait

etc.

Je vous conseille vivement de jouer avec les réglettes de level en mettant mes schémas à côté pour comprendre comment la courbe gamma est positionnée ds le graphe. Vous verrez alors que cette courbe respecte exactement mes schémas et vous comprendrez pourquoi le type qui a programmé ce filtre est très intelligent.

@+
Emmanuel
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 04 Mai 2007 11:58

>Sinon question : sous FFDSHOW quand on bosse en input *YV12 et sortie *YV12/RGB conversion haute qualité, les décodeurs travailent tjs en 16-235 ?

>Dans ce cas ton réglage de gamma via *levels est-il aussi OK si on n'entre pas en YUY2 mais comme moi en YV12 ?

Que tu entres en YV12 et YUY2, c'est la même chose. Sur l'échelle de luma issue du DVD et manipulé par ffdshow :

- le noir de référence est à 16
- la zone [0-15] constitue le BTB
- le blanc de référence est à 235
- la zone [236-255] constitue le WTW

==> tu vois cela sur l'axe des abscisses de mes schémas.

ensuite tu appliques correctement la correction gamma nécessaire en fonction du gamma natif de ton projo et de la luminosité réfléchie par ta salle.

puis à la fin, tu choisis ton espace de sortie

- il y a tellement longtemps que je n'utilise plus la sortie YV12 que je ne sais plus comment elle opère...

- la sortie RGB32 (mode high quality) opère un mapping [16-235] vers [0-255] : le 16 est mappé sur 0, tout ce qu'il y a avant 16 est schinté. le 235 est mappé sur 255. Tout ce qu'il y a après 235 est schinté. Ca correspond aux traits pointillés rouges sur mes schémas.

@+
Emmanuel
Dernière édition par Emmanuel Piat le 04 Mai 2007 12:18, édité 1 fois.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 04 Mai 2007 12:09

J'ai oublié ce cas de figure (que je n'utilise jamais) :

Si vous désirez afficher *tout* le BTB et *tout* le WTW :
pour input : 0 & 255
pour ouput : 16 & 235
pour gamma : la correction qui vous plait

Ca n'a guère d'intérêt (image très "délavée" et noir de référence très gris) mais ça permet de comprendre le principe.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 04 Mai 2007 12:17

>Question bonus : quelle formule utiliser pour la calculer la rampe de gamma ?!

J'ai mis très longtemps à comprendre qu'il n'y a pas de règle car le gamma cible dépend très largement de la luminosité réfléchie par la pièce.

un gamma de 2.2 est un compromis choisi car il faut bien avoir une ref. Mais si vous voulez faire les choses correctement, il faut ensuite peaufinner en fonction de la pièce et de la manière dont elle va dégrader le gamma natif du projo. L'objectif est tjrs le même : il faut éviter les noirs "bouchés". Mais bon, il faut qd même avoir des noirs hein ! On a souvent tendance à trop déboucher :wink: . Dont il faut y aller mollo sur le débouchage ...
Dernière édition par Emmanuel Piat le 04 Mai 2007 12:20, édité 1 fois.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 04 Mai 2007 12:20

Donc si j'ai bien suivit, en sortie RGB32 le mapping se fait de 16-235 vers 0-255 si on ne souhaite ni BTB, ni WTW. Donc on attaque le VMR9 en 0-255, donc le VMR9 ne réalise aucun mapping.
drunkenboxing
 
Messages: 558
Inscription Forum: 08 Mar 2007 15:48
Localisation: Vaucluse
  • offline

Message » 04 Mai 2007 13:41

en sortie RGB32 le mapping se fait toujours de 16-235 vers 0-255 (overlay ou VMR9 ensuite). Ce mapping est indépendant de la manière dont tu décides de gérer le BTB et le WTW.

Après tu as le choix pour mettre ce que tu veux ds l'intervalle [16-235] AVANT mapping.

par exemple, tu peux décider de mettre un peu de BTB dans [16-19] et donc de repousser le noir de ref (16) à 20.

Ceci correspond au 3e schéma que j'ai donné (cf. axe *vertical* intitulé "Luma après correction gamma"). Notons que la présence de BTB dans [16-235] AVANT mapping est possible même si gamma = 1 (droite). Pour avoir ce comportement, il faut :
pour input : 16-x & 235 avec x > 0
pour ouput : 16 & 235
pour gamma : la correction qui te plait

Tu peux aussi décider de ne pas mettre de BTB ds [16-235]. Ceci correspond au 2e schéma que j'ai donné. Pour avoir ce comportement, il faut :
pour input : 16 & 235
pour ouput : 16 & 235
pour gamma : la correction qui te plait

etc.

@+
Emmanuel
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10347
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 04 Mai 2007 13:51

Et si à la place de "original" dans l'option level on met "curve" et qu'on modifie comme suit, je suppose que ça revient au même.

http://img132.imageshack.us/img132/5315/ffdshowlevelnp6.jpg
drunkenboxing
 
Messages: 558
Inscription Forum: 08 Mar 2007 15:48
Localisation: Vaucluse
  • offline


Retourner vers Logiciel PC Home-cinéma

 
  • Articles en relation
    Dernier message