Log in

View Full Version : Where is my BLACK gone ?


BlackSharkfr
22nd October 2007, 21:58
Hello,
I'm really puzzled, since when i changed my monitor, i noticed that almost all my videos have brightness problems : they are too bright : black isn't black but some sort of dark grey.
So i've done some tests : i created a pure black sample video, rendered it and compressed it with Lagarith : brightness was right so i had my reference sample video.

Then i tried to compress this reference video in x264 and Xvid using both Virtualdub and Megui and it systematically pitches the brightness up a bit, except when i recompress to Lagarith...

At the beginning I suspected my videocard drivers to change video colours because of nvidia's Purevideo settings that change video brightness/contrast/saturation/gamma/deblock etc... and for some bizzare reason, they don't work on Lagarith videos...
But they aren't faulty, because i do have one (only one) sample which has true black in a format which is influenced by purevideo settings...

So it's something else... something within the encoding process and i can't find it.
All preview windows are perfect (virtualdub and Megui's avisynth filter preview) i don't understand why are the final encodes bright like that.
I don't use any filters in Vdub and my avisynth scripts are just someting like :
DirectShowSource( "file" )
ConvertToYV12()

Please help ! I want my black back !
Here's an example of what most videos look like, on sides is true black added by mediaplayerclassic when expanding the window out of aspect ratio. (contrast of the picture is raised to show that colours are different)
http://blacksharkfr.free.fr/noir-pas-noir.jpg

microcosmos
22nd October 2007, 22:13
Looks like tv levels 16-235 instead of pc levels 0-255
try overlay as output in media player classic, that can correct it for pc viewing

BlackSharkfr
22nd October 2007, 22:34
try overlay as output in media player classic, that can correct it for pc viewing

Doesn't work.
My reference sample (black Lagarith) plays well and i have already ruled out any decoding reason because i do have one sample which has the right colours.
Unfortunately i haven't been able to reproduce that one.


I am convinced it is an encoding issue.

foxyshadis
23rd October 2007, 04:28
Try decoding to RGB, in that case. Normally, using overlay will get it to use the correct translation, but it looks like not in this case.

ffdshow has new options for RGB decoding, but the default will still properly do the levels translation. Most video drivers won't correctly handle it in VMR/EVR modes, though most will expand in overlay. It's unnecessarily confusing, but video card makers really don't care very much about video quality, no matter what they advertise. =\

Lagarith can decode to RGB, which may be how it works? Or possibly it's storing RGB data. I don't know.

With your simple script it doesn't appear to be an encoding issue, unless you have a problem in your directshow decoding chain leading into directshowsource - it is possible that it's being translated to TV levels twice somehow, but unlikely.

BlackSharkfr
23rd October 2007, 12:09
I tried and i just can't believe it... it works.
So it is the hardware yuv->rgb conversion. what a shame...

I was storing Lagarith in YV12 format, apparently lagarith codec does the YV12->RGB conversion internally, which is why this format wasn't affected.

Thank you foxyshadis, and sorry microcosmos for not believing you.

I'm going to write a little complaint to nvidia... so many things still not working with my 8800gtx.