Log in

View Full Version : FAQ: How to correct luminance levels


Pages : 1 2 3 4 5 [6]

ears1991
16th September 2009, 13:14
hmmm, does mpc fully support blu ray? last time i tried it didnt :S

mark0077
16th September 2009, 13:38
Nah, but 99% of my blu-rays play perfectly. There is one of my blu-rays that has the movie split into several files that mpc-hc can't support yet.

I think mpc-hc simply tries to open the largest .ts file on a blu-ray which is usually the movie and it plays perfectly.

ears1991
16th September 2009, 13:42
ahhh i see, i know that at least 2 of my blu rays are split in that same way so i guess its not an option =/ Thanks for the suggestion though :)
I cant believe it is so difficult to get correct black levels, im guessing this is ATI's fault as i am pretty sure this didnt happen with the very early 9.x drivers =/

mark0077
16th September 2009, 13:47
isn't there a new "pixel format" setting on ati's cards.... maybe that just controls the entire desktops output range, not video conversion from yv12 (or whatever) to RGB, which is what your really after. If media center was fixed by the 601 hack, then maybe it only works for certain video renderers.

I am guessing that that hack isn't implemented for whatever renderer powerdvd uses (does it use its own?). Maybe someone could confirm this. Any settings within powerdvd itself?

ears1991
16th September 2009, 14:01
I believe that setting is only for hdmi output, not dvi, however i think you are right in that it would control everything

Media center was fixed by the NominalRange hack, as the bt601 one does not appear to have any affect since the earlier ati 9.x drivers, and that NominalRange hack is specific to media center, so basically i guess i need something similar to that but for powerdvd?
Looked through powerdvd many times and the best i could do is simply lower the brightness for blu rays and then restore it for dvds... but still, i imagine this does not provide perfect blacks/whites =/

mark0077
16th September 2009, 14:23
Ya best not to be messing with brightness contrast. Its interesting you say you lower for blu-ray and restore for dvd's. Both should be using the same luminance so thats kinda strange to me.

I'm an Nvidia user so hopefully someone with an ATI card has a driver / registry hack to get you correct luminance. After years of messing with this stuff its amazing to see ATI and NVidia still struggling...... I always have to hack my nvidia drivers to get full range output to my Samsung TV..... shocking.

THX-UltraII
16th September 2009, 14:53
mark, could you take a look at my post from yesterday and share your thoughts? thanks

mark0077
16th September 2009, 16:40
guys, im back with some new questions involving output ranges etc.:

I had some changes in my config and don t know what to do now anymore for getting the right output ranges/luminance levels.

Here is my config:

1. Windows7

2. ATI HD4350 with the first question:
I can choose 4 options here. Is the last one still the best to pick nowdays?:
- ycbcr 4:4:4 pixel format
- ycbcr 4:2:2 pixel format
- rgb 4:4:4 pixel format studio (limited rgb)
- rbg 4:4:4 pixel format pc standard (full rgb)

3. Next the is a setting in MPC-HC which I didnt notice until yesterday:
when you right-click in mpc-hc and choose renderer settings you can select 2 different output ranges: 0-255 and 16-235. Which one do I need?

4. Coreavc:
I have 3 options @input levels and 3 @output levels:
- tv (16-235)
- pc (0-255)
- auto detect
Should I pick auto detect @ both in and output?

5. My JVC RS2 projector setting: leave it on enhanced?

For the info (and I think this was important): I use EVR Custom for output in MPC-HC

Thanks for all input

cheers

Hi THX, Ill try to answer your questions with my best guesses for each.

q2. I assume rbg 4:4:4 pixel format pc standard (full rgb) is correct.

q3. I think this setting is sent to the EVR / EVR-CP renderer to let it/your graphics card decide how best to convert yv12 (or whatever colorspace except for RGB) to your selection in q2. I am unsure the numbers are what the renderer / gfx card should assume as input or what to give as output.... not clear from GUI.

If your using ffdshow to convert to RGB32, this has no effect as your gfx card doesn't do the conversion anymore so it doesn't bother me as I use ffdshow to convert to RGB32.

q4. Well if your trying to send everything out as 0-255, you should pick this as output. For input, I suppose 99.9% of content will be 16-235 so that would be correct, but maybe auto does like ffdshow does, assume 16-235 unless specifically indicated otherwise by the file being played back. I am unsure what this setting is trying to do, never seen a luminance setting in a decoder before, be careful with this one as if you use it and ffdshow, both may be doing conversions. Maybe choosing the same setting as input and output will bypass coreavc's conversion? but you will need to ask a coreavc guru on this. If it was me I would be trying to bypass this in coreavc and let ffdshow be the only part in the chain to do my conversions.

q5. Enhanced sounds like assume 0-255 range as input, if so thats the way to go if you want everything in 0-255.

Hope this helps somewhat.

thewebchat
26th September 2009, 22:17
Throughout this thread, I see a lot of posts mentioning setting the output range of various renderers, but what difference can that make, since the output is always RGB which has neither PC nor TV ranges to begin with? Wouldn't the correct thing to change be the input range?

On another note, what should be done when trying to play video that uses full YUV range (0-255 source) in EVR/CP? If I use a clamping filter to restrict the YUV range to 16-235, that removes 14.2% of the detail that was in the source. However, if I pass fullrange YUV to EVR, it converts it to RGB incorrectly. Is the only solution to use software YUV/RGB conversion?

mark0077
27th September 2009, 11:23
Well rgb can still use limited or full range. So when using full range input you can use ffdshow rgb conversion and as input option chooose full range instead of auto which assumes limited range unless range is given in file type (rare)

Keiyakusha
27th September 2009, 16:24
thewebchat
AFAIK input range is something that can be changed only by reencoding and output is the range after decoding, which can be TV or PC depending on circumstances. So all is right here.

EDIT:
For example when using CoreAVC and video is h264 with any range and properly set --fullrange flag (if needed), then it's shouldn't be necessary to change anything regardless of input content. But in other cases if you have fullrange yuv as input - you should correct levels. I believe MPC-HC with EVR-CP renderer allows correcting levels in renderer (not using shader). And Haali's renderer too.

thewebchat
27th September 2009, 16:47
I don't understand what you are trying to say. EVR/CP will only convert using TV->PC range expansion. I don't even know what the option in MPC-HC to change the "output range" does, as it produces no difference and the output is RGB (converted with TV-PC of course) anyway. It is true that CoreAVC, on detecting the full range flag, will clamp the output levels to 16-235 when passing the decoded stream to the renderer. However, like I said, this removes 14.2% of the detail in the stream. Is there a way to force EVR-CP to use PC->PC for RGB conversion.

Keiyakusha
27th September 2009, 16:55
Ahh I see what do you mean. Well I not sure what output range in EVR-CP does, but I thought its something like:
0-255 -> convert to PC
16-235 -> do not convert anything

Jackie
5th October 2009, 18:05
Hi,

just for my understanding: I have an ATI HD 4850 and a Samsung LCD TV that can be set to limited and full range.

I can use both 0-255 and 16-235 setups correctly, the question is which one is the very best. To my understanding, most studio material is produced using YCbCR 4:2:2 with 16-235, ist that right? So isn't that the best setting to chose if your components all support it?

mark0077
5th October 2009, 18:12
Will you use your PC for anything else, like webpages, desktop work etc. If so, full range is the way to go for your tv setting, desktop set to output full range. ATI drivers should do 16-235 -> 0-255 for you automatically, if not some ATI users will surely be able to help with that.

If all you use is 16-235 then you can set everything to limited range, but I don't see any advantage, your TV is going to have to do a conversion from 16-235 to 0-255 internally anyways. At the end of the day your LCD will be outputting 0-255, so its a matter of whether you want your TV doing the 16-235 conversion, or your PC. I trust my Pc much more than my own Samsung TV, even for things like de-interlacing. Series 9 does a horrible job compared to software de-interlacers like yadif, and much much worse again than hardware de-interlacers.

Personally I would set your TV to full range, and output 0-255 from PC, just verify your ATI drivers are doing 16-235 conversion for you when watching movies. (I use ffdshow for this rather than my graphics card, both should do a great job)

Jackie
5th October 2009, 18:29
Will you use your PC for anything else, like webpages, desktop work etc. If so, full range is the way to go for your tv setting, desktop set to output full range. ATI drivers should do 16-235 -> 0-255 for you automatically, if not some ATI users will surely be able to help with that.

If all you use is 16-235 then you can set everything to limited range, but I don't see any advantage, your TV is going to have to do a conversion from 16-235 to 0-255 internally anyways. At the end of the day your LCD will be outputting 0-255, so its a matter of whether you want your TV doing the 16-235 conversion, or your PC. I trust my Pc much more than my own Samsung TV, even for things like de-interlacing. Series 9 does a horrible job compared to software de-interlacers like yadif, and much much worse again than hardware de-interlacers.

Personally I would set your TV to full range, and output 0-255 from PC, just verify your ATI drivers are doing 16-235 conversion for you when watching movies. (I use ffdshow for this rather than my graphics card, both should do a great job)


<zhanThanks alot, I understand your arguments, so I have set my ATI to FULL RGB 0-255, but my Samsung TV will display any colors below 16 from the test File BLACK_LEVEL_TEST_CLIP_HD.mp4 (see first page of this thread, I hace downloaded it there) as black. To my understanding, all black levels from 1-16 should also be seperately visible is that right?

This only happens when I set my Samsung TV (A LE40F86) to xvyCC "on", then everything looks right, but when xvyCC is off, these black levels are cut. To my understanding, this is not the purpose of xvyCC, so what's wrong here?

mark0077
5th October 2009, 18:32
Well if your watching content thats 16-235 (which is like 99% of material out there), you shouldn't be able to see the detail below 16 or above 235. Your graphics drivers should scale 16-235 to 0-255 removing those details.

If it doesn't you'll need to figure out what setting in your drivers does this, or you can use ffdshow and set it to output RGB32, and it will then instead do this conversion for you. Your graphics card in this case won't do any conversions as its getting RGB32. This is what I use and get excellent conversions. There are various threads about the settings to use here but enabling "dithering" and "high quality yv12 to rgb conversion" enabled in the Output options in ffdshow should almost do the trick.

Jackie
5th October 2009, 18:53
Thanks alot mark, I think I have figured out how it works now: I have set Full RGB as Pixel Format, and my Samsung TVs HDMI settings to "normal" instead of "low", I think now the results are correct. Can anybody tell me in detail what "HDMI setting" normal/low on Samsung LCD does, since it is not really clear from the manual.

mark0077
5th October 2009, 19:02
The normal / low from using my own TV is

Normal - Assume input is 0-255, basically just outputs what its given to screen
Low - Assume input is 16-235, therefore converts internally to 0-255 to give correct contrast

iSeries
12th October 2009, 13:54
Hi,

I'm having trouble getting Full RGB from my ATI 4550 to my LCD TV. In the ATI settings, it was set to output Full RGB (0-255) by default. However playback of a calibration file shows that nothing below 16 is being displayed (no matter how high I set Brightness), and nothing above 235 is being displayed (no matter how low I set the contrast). Also I had to set the brightness on my TV to a ludicrous level (something like 75) just to get 17-25 to flash. I've tried 'forcing' Full RGB through ffdshow as per the advice here but no luck. The only way I can get my TV to display 0-255 is by setting ffdshow to 16-235 and setting YCbCr 4:4:4 in the ATI control utility.

Is sending YCbCr 4:4:4 and letting my TV do the RGB conversion just as good as sending RGB?

ACrowley
17th October 2009, 18:39
anybody use Windows 7 ? Looks like W7 outputs correct liminacne Levels by default. I dont have to adjust it manually ,for all codecs/formats. All Streams are displayed as 0-255, from all Decoders with EVR
I use a ATI HD4870.

madshi
17th October 2009, 19:15
anybody use Windows 7 ? Looks like W7 outputs correct liminacne Levels by default. I dont have to adjust it manually ,for all codecs/formats. All Streams are displayed as 0-255, from all Decoders with EVR
I use a ATI HD4870.
<sigh> 0-255 is neither correct nor incorrect. It's correct for some displays and incorrect for other displays.

ACrowley
18th October 2009, 09:19
<sigh> 0-255 is neither correct nor incorrect. It's correct for some displays and incorrect for other displays.

ofcourse..but its usually correct for TFT PC Displays /PC Playback

madshi
18th October 2009, 09:24
ofcourse..but its usually correct for TFT PC Displays /PC Playback
Yes, and usually incorrect for home cinema projectors, plasma displays etc.

Mercury_22
18th October 2009, 17:48
Hi,

I'm having trouble getting Full RGB from my ATI 4550 to my LCD TV. In the ATI settings, it was set to output Full RGB (0-255) by default. However playback of a calibration file shows that nothing below 16 is being displayed (no matter how high I set Brightness), and nothing above 235 is being displayed (no matter how low I set the contrast). Also I had to set the brightness on my TV to a ludicrous level (something like 75) just to get 17-25 to flash. I've tried 'forcing' Full RGB through ffdshow as per the advice here but no luck. The only way I can get my TV to display 0-255 is by setting ffdshow to 16-235 and setting YCbCr 4:4:4 in the ATI control utility.

Is sending YCbCr 4:4:4 and letting my TV do the RGB conversion just as good as sending RGB?

Same problem here but I solved it by manually adjusting the settings in AVIVOS's "Basic Colors" : Brightness and Contrast !
I'm using full RGB and Brightness = 1 and Contrast = 98 And VERY IMPORTANT DISABLE DYNAMIC CONTRAST in "All Settings"

Delerue
9th December 2009, 02:57
I found a way to workaround the problem with Nvidia drivers after 180.42 version that bugs the black color with VMR 7 Windowed render. The problem seems to be with 'nvapi.dll' (or 'nvapi64.dll' if you use Windows x64). This DLL handles the interface of the Nvidia Control Panel, but not the driver itself. So, you can use a new driver with an old interface and everything works flawlessly. I'm sharing with you both x32 and x64 version of this DLL from ForceWare 180.42. Just find the '%windir%\system32' folder, make a backup of the current 'nvapi.dll' (or 'nvapi64.dll' if you use Windows x64) and finally copy the version below. I hope it'll help someone.

http://www.mediafire.com/?lnniezmnj1y

ears1991
17th December 2009, 22:34
HALLELUJAH 9.12 fixes the cruddy luminance levels at last!!!!
if im right in saying its been broken since 9.2, that makes it that it took ati 10 months to fix... nice

THX-UltraII
21st January 2010, 16:19
I just switched from my good old ATI 4350 to a new HD 5670 to finally have to possibility to bitstream HD audio.

However, what I already knew, the new 5xxx series has a bug. When you select 'Pixel Format PC Standard (Full RGB)' it is NOT sending this out actually. With the 4xxx series this was ok and I always had my projector set to 'Enhanced'. But now with the 5xxx series this doesn t work anymore. I already contacted ATI and they are aware of the problem and it will take a few drivers to fix it.

So I now set my projector back from 'Enhanced' to 'Normal', do I just have to choose Limited RGB now? Will the BTB and WTW be ok this way?