Yet another 16-235 thread...
#1
Hi all,
excellent work as usual with the new EDEN version.

Regarding the ColorSpace and ColorRange, there is one thing that I don't understand:

Movies in HD are coded in limited range, that means that the range is 16-235: black is 16, white is 235. Everything outside these rangs are BTB (blacker than black) and WTW (whiter than white);

XBMC outputs always at RGB full range, that means 0-255 levels.

The question is: in an HD movie, XBMC will output the black level at 0 or 16? I mean, will it expand the levels to 256, mapping level 16 to level 0? Or will it map level 16 to level 16 and fill levels 0-15 with black and 236-255 with white?

thanks

==
Using Eden beta 1 on Ubuntu 11.04 server (32 bit) with nVidia GT430 graphics card.
Reply
#2
To my knowledge the levels are expanded to 0-255.
Reply
#3
a11599 Wrote:To my knowledge the levels are expanded to 0-255.

Are you sure?

I mean if that is the case, then it would be impossible to calibrate a hdtv screen, because you will lose the possibility to compare the black reference level with the BTB levels.

thanks
Reply
#4
on windows this is controlled by the video card. I have a gt 430 and set the range to 16-235 and it appropriately outputs that range to my tv. confirmed via dvd essentials and various ramp images.
Reply
#5
kedda Wrote:on windows this is controlled by the video card. I have a gt 430 and set the range to 16-235 and it appropriately outputs that range to my tv. confirmed via dvd essentials and various ramp images.

Sorry, but that is NOT the question.

The question is related to how XBMC treats the video range.

So let's go again: in an HD movie, XBMC will output the black level at 0 or 16? I mean, will it expand the levels to 256, mapping level 16 to level 0? Or will it map level 16 to level 16 and fill levels 0-15 with black and 236-255 with white?

thanks
Reply
#6
By default, XBMC outputs RGB in 0..255 using the YUV2RGB scalers (i.e. luminance 16 on a standard (i.e. not full range) YUV pixel will be mapped to RGB 0,0,0). This may be altered using the contrast + brightness controls. What your video card does with it from there is up to it (eg it might convert it prior to sending it down the pipe to the telly - the telly may then go and mess around with it as well).

There's different paths taken using DXVA by the looks, so I can't guarantee what's happening there.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#7
jmarshall Wrote:By default, XBMC outputs RGB in 0..255 using the YUV2RGB scalers (i.e. luminance 16 on a standard (i.e. not full range) YUV pixel will be mapped to RGB 0,0,0). This may be altered using the contrast + brightness controls. What your video card does with it from there is up to it (eg it might convert it prior to sending it down the pipe to the telly - the telly may then go and mess around with it as well).

There's different paths taken using DXVA by the looks, so I can't guarantee what's happening there.

Hi jmarshall,
thanks a lot for the explanation.
But still need some help to understand...

Let's assume that I have a pattern in HD with a gradient of 256 levels of luminance from BTB to WTW, where 0-15 is BTB (blacker than black), 16 is black, 235 is White and 236-254 is WTW (whiter that white).

If I reproduce it in my chain I get the following two cases according to the "VDPAU Video Levels" option being set or not:

(Using Ubuntu 11.04, Eden Beta 1, nVidia GT430@1920x1080@24,50,60Hz)

Code:
Case 1:
Level            0    16    235    254
Original Pattern    BTB    Black    White    WTW
RGB (XBMC)        Black            White
nVidia YCbCr444        ?    Black    White    ?
TV            ?     Black    White    ?

Code:
Case 2:
Level            0    16    32    203    235    254
Original Pattern    BTB    Black            White    WTW
XBMC-VDPAU video levels    BTB    Black            White    WTW
nVidia YCbCr444        ?    BTB    Black    White    WTW    ?
TV            ?    BTB    Black    White    WTW    ?

Code:
Case 3:
Level            0    16    235    254
Original Pattern    BTB    Black    White    WTW
RGB (XBMC)        Black            White
nVidia RGB (Full)    Black            White
TV            Black            White

Now the questions:
1) So I understand that in CASE 1, when XBMC is expanding the levels, it's doing two things: a) clip the levels outside the 16-235 range AND b) creating new levels (it creates 32 more levels) to accomodate the 16-235 range in the new 0-255 range. Is this correct?

2) In CASE 1, what would be the content of levels 0-15 and 235-254? I mean if they have been cut-off, what will they be when the range is limited again?

3) In CASE 2, using "VDPAU Video Levels", XBMC does not expand the levels but leaves them as in the original. Right?
Or does it perform two serial conversions, Limited->Full->Limited?

4) In CASE 2, setting the nVidia Card to output YCbCr444 (limited range), will I get an even more reduced range?
I mean will the nVidia driver shift the 16 level to 32?

5) In CASE 3, I will never be able to see the BTB and WTW levels, right?

EDIT:Added a new case.
Reply

Logout Mark Read Team Forum Stats Members Help
Yet another 16-235 thread...0