Depuis longtemps, le débat sur l'affichage ou pas du "blacker than black" divise la communauté HTPCiste...
Petit rappel : la luminance du flux vidéo mpeg2 YUV est comprise entre 16 et 235. Y=16 est le noir de référence (celui des bandes noires présentes sur les DVD), Y=235 est le blanc. Seulement, pour accroitre la dynamique de l'image, les personnes qui encodent les DVD s'authorisent parfois à déborder dans les plages 0-15 et 236-255. On obtient alors des niveaux de luminance appelés "Blacker than black" (BTB) et "Whiter than white" (WTW).
Pendant le rendering vidéo, on constate selon les solutions adoptées (VMR9 ou Overlay & réglages brightness et contrast utilisés) deux modes de rendu possibles :
1) on mappe la plage 16-235 sur 0-255 : ce faisant, on perd le BTB et WTW mais le noir des barres noires des DVD est bien noir.
2) on mappe la plage 16-235 sur 16-235 : ce faisant, on peut afficher tout ce qu'il y a dans les zones BTB et WTW mais les barres noires deviennent grises (ie à 16) et l'image est souvent "délavée".
Personnellement, aucune de ces deux approches ne m'a jamais satisfait, même si j'ai toujours utilisé l'approche 1 jusqu'à présent (je suis en overlay).
Néanmoins, Ce qu'il faut bien comprendre, c'est qu'en ajustant les réglages de contrast et de brightness, on peut sans problème moduler l'affichage du BTB ou du WTW qu'on soit en (1) ou en (2) . Je l'ai déjà dit plusieurs fois par le passé, notamment pour détromper les personnes qui pensaient que le BTB est impossible à afficher en mode overlay.
Reste que jusqu'à maintenant, j'étais bloqué car je n'avais aucun moyen pour savoir s'il y avait ou pas des infos ds les zones BTB et WTW (ça varie selon les DVD) afin de pouvoir ajuster correctement le niveau de contrast et de brightness pour chaque DVD. Désormais cet outil existe grâce à KMP et à ffdshow.
Si pendant la lecture d'un DVD dans KMP (ds mon cas avec un décodeur externe), vous sélectionnez Video(Basic)/Rare Filters/Histogram, vous avez alors l'histogramme de la luminance du flux vidéo.
On peut également faire des captures de ce qui est *affiché* sur l'écran avec KMP grâce à l'option Capture/What you see -> Copy frame to clipboard. Il semble donc que KMP soit capable d'intercepter le flux vidéo généré par ffdshow AVANT l'étape de rendering. C'est très fort car cela marche même si on utilise l'overlay. Comme c'est mon cas, c'est comme cela que j'ai pu faire les snapshots qui suivent.
EDIT : le snapshot de KMP ne donne hélas pas la copie conforme de ce qui est affiché dans l'overlay lorsqu'il est attaqué en RGB : les dégradés de couleurs sont altérées ds les tons sombres et les noirs sont plus bouchés ds le snapshot que ds l'overlay
Personnellement, comme je m'en suis expliqué il y a déjà quelques temps, j'utilise l'output RGB32 de ffdshow pour attaquer l'overlay directo en RGB (afin de shinter les traitements YUV de l'overlay qui ont le mauvais goût de dégrader l'image). Ceci me permet d'avoir un renderer vidéo totalement neutre sans le flou du VMR9 qui m'énerve. Comme La conversion YUV -> RGB32 de FFDSHOW est un mapping 16-235 -> 0-255, mes captures avec KMP me donnent EXACTEMENT l'échelle de luminance affichée par l'overlay (puisque l'overlay ne modifie pas l'échelle de luminance en mode RGB).
EDIT : il convient de remplacer ds la phase précédente EXACTEMENT par APPROXIMATIVEMENT
![:wink:](https://www.homecinema-fr.com/forum/images/smilies/icon_wink.gif)
Par exemple, voici ce que donne la mire THX avec le réglage par défaut de l'overlay (ne pas regarder les effets de bords en tout genre : j'ai dû mettre quelques options pas terribles pour le décodage afin de ne pas avoir un PC qui plante toutes les 30 sec. à cause des manip que je lui faisait subir avant chaque capture)
On remarque sur l'image que le BTB n'est pas affiché.
On remarque sur l'histogramme que le niveau de noir est à Y=16 (fond de l'image) et qu'il y a au bout une toute petite bosse à Y=235, vu qu'il y a très peu de pixel blanc ds l'image.
D'où 2 constatations :
- l'histogramme affiché ne correspond pas à l'image affichée !
l'histogramme affiche le contenu de la plage 16-235 AVANT mise à l'échelle de la luminance.
L'image capturée correspond à ce que j'obtiens APRES mise à l'échelle par la conv YUV->RGB32 qui mappe 16-235 sur 0-255.
- l'histogramme affiche la plage 16-235 mais ne semble pas afficher le contenu de la plage 0-15 car on **SAIT** que sur cette mire il y a du monde ds la zone 0-15 !!! too bad !
Bref, l'histogramme de KMP est MAL FICHU
![:(](https://www.homecinema-fr.com/forum/images/smilies/icon_frown.gif)