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

Tout ce qui ne rentrait pas dans les catégories ci dessus lors de la réorganisation ;)
Règles du forum
Avant de poster, merci de prendre connaissance des règles du forum : à lire avant de poster
Par ailleurs, il n'est pas possible de créer un nouveau sujet : merci de le faire dans un autre forum.

[mpc-hc shaders] BR BT601 smpte-c vers BT709/sRGB, how to ?

Message » 20 Déc 2011 11:55

Bonjour à tous,

Depuis pas mal de temps le me gratte la tête avec les couleurs restituées par les BD et autres mkv (américains pour la plupart) au travers de mon pchc (ATI 6870 driver à jour) et mpc-hc (la dernière stable, 3456). Les persos à l'écran on la tête bien orange qu'en même, on dirait qu'ils ont la jaunisse... Je précise que le diffuseur est un LG AF115 sxrd branché en dvi pour être en rgb444 full et colorimétré avec une spyder 3 elite et coloHCFR, deltaE <3 6500K 2.2 en sRGB/rec709, bref les bonnes couleurs pour le pc.

Comme on peut le lire un peu partout, ici y compris, les BDs ne suivent apparemment pas la norme requise pour de la HD au niveau des couleurs. Il seraient encore fait à 90% avec les couleurs du rec601 ntsc (aux les américains), si j'ai bien tout compris. Question: ont ils prévu un jour de vraiment suivre la norme ? Autre question: Si quelqu'un est capable de faire un point précis et simple concernant ce problème pour éclairer une bonne fois pour tous ceux qui en ont besoin (moi par exemple).

J'ai donc essayé le shader BT.601 -> BT.709 fourni de base dans mpc-hc et c'est encore pire, là pour le coup les acteurs ont vraiment l'air malade. En cherchant un peu je suis tombé sur ce shader fait par Chambolle en 2008 (posté apparemment en même temps que le BT.601 -> BT.709):

ici >> http://www.homecinema-fr.com/forum/viewtopic.php?f=1195&t=29814317&start=570

Code: Tout sélectionner

BT.709 -> BT.601

sampler s0 : register(s0);
float4 p0 : register(c0);

#define height (p0[1])

float4 main(float2 tex : TEXCOORD0) : COLOR {
   // original pixel
   float4 c0 = tex2D(s0,tex);

   // r=c0[0], g=c0[1], b=c0[2]
   // RGB [16,235] to YUV: 709 mode (128 is not added to Cb and Cr)
   float y=0.213*c0[0] + 0.715*c0[1] + 0.072*c0[2];
   //float y=0.2126*c0[0] + 0.7152*c0[1] + 0.0722*c0[2];
   float Cb=-0.117*c0[0] -0.394*c0[1] +0.511*c0[2];
   float Cr=0.511*c0[0] -0.464*c0[1] -0.047*c0[2];

   // YUV to RGB [16,235]: 601 mode (Cb and Cr are 128 less)
   float r=y+1.371*Cr;
   float g=y-0.698*Cr-0.336*Cb;
   float b=y+1.732*Cb;

   return float4(r,g,b,0);
}


J'ai lu sur un autre forum (je ne sais plus où) que BT.601 -> BT.709 devrait s'appeller plutôt BT.709 -> BT.601 par rapport à ce qu'il fait, ne ne sais pas si c'est vrai mais du coup ça ma donner envie de voir ce ue pouvait donner le shader ci-dessus (appelé BT.709 -> BT.601 par son auteur en 2008, l'inverse donc de celui dispo de base dans mpc).

Le test de ce shader à l'air plutôt concluant et les couleurs redeviennent tout à coup beaucoup plus naturels dans les tons rouges (tout simplement rouges aux lieu de orange, mais j'exagère un peu).
Du coup je suis perdu, les couleurs ont l'air d'être les bonnes mais le sont elles réellement ? Si un killer passe dans le coin et à 5min à perdre, ce serait vraiment sympa ;).
Dernière édition par maxxximatoze le 21 Déc 2011 15:59, édité 1 fois.
maxxximatoze
 
Messages: 28
Inscription Forum: 11 Juil 2006 14:00
  • offline

Message » 21 Déc 2011 10:08

Autant que je sache les BD utilisent le bt.709 après si on parle de vieux films là c'est pas impossible bien que ça m'étonnerais

Ce dont je suis certain c'est qu'il faut t'assurer de décoder la video en yuv puisque la conversion matricielle ce fait lors du passage yuv>rgb (ou inversement)
themaster1
 
Messages: 465
Inscription Forum: 18 Jan 2010 14:47
  • offline

Message » 21 Déc 2011 11:51

En théorie oui, tout comme les programmes télé HD. Mais dans les faits ce n'est à priori pas le cas, voir http://www.homecinema-fr.com/forum/viewtopic.php?p=172262705#p172262705, le gamut utilisé la plupart du temps ne suit pas la norme ! C'est qu'en même un comble. Du coup, ben, faut bricoler quoi, comme d'habitude et pour ça le shader dont je parle dans le premier post semble intéressant pour effectuer la correction et surtout semble donner les bonnes couleurs. D'où ma question, est-ce vraiment les bonnes couleurs ?!? Pour le décodage, c'est du dxva2 (qui sort je crois en nv12) donc pas de problème, ça marche de base normalement (j'utilise les options fullFP et 10bit in et out).
maxxximatoze
 
Messages: 28
Inscription Forum: 11 Juil 2006 14:00
  • offline

Message » 21 Déc 2011 13:54

Si tu maitriseS l'english tu auras des infos poussées ICI
themaster1
 
Messages: 465
Inscription Forum: 18 Jan 2010 14:47
  • offline

Message » 21 Déc 2011 15:56

Merci pour le lien, j'ai déjà lu ce thread sur doom9, très intéressant par ailleurs, et comme le dit macgyver ailleurs dans le forum hcfr, 90% des blurays fr sont eux aussi en gamut smpte-c... un comble. Et donc toujours la même question, est ce que le shader du premier post permet bien d'afficher les bonnes couleur d'un bluray (qui doit donc avoir un gamut smpte-c) sur mon projo en rec709/srgb, ce qui semble être le cas "à l'oeil" ???
maxxximatoze
 
Messages: 28
Inscription Forum: 11 Juil 2006 14:00
  • offline


Retourner vers Archives