AVS Forum banner
  • Everything You Wanted to Know About HDMI Cables. Ep. 7 of the AVSForum Podcast is now live. Click here for details.

21 - 40 of 45 Posts
Discussion starter · #22 ·
Here's a good post I came across related to the PS3 from someone who knows what they are talking about. It's incredible the amount of mis-information passed around by many in gaming forums. :(

I'm just going to copy and paste my own comments from one of the other times this came up.

The RGB full/limited settings are poorly described. It should be labeled as PC levels (0 to 255) and video levels (16 to 235)

The PS3 simply remaps the values depending on the setting (for gaming, the RGB setting is completely ignored for movies)

A calibrated tv expecting video levels and receiving video levels from a PS3 will look the same as a calibrated tv expecting PC levels and receiving PC levels from the PS3.

If you are using a tv though even if it accepts PC levels you would be better off using limited and calibrating accordingly. Otherwise if you use your display for movies or tv your display will be calibrated for PC levels and everything would be off unless you kept a separate set of settings and constantly switched between them.

If you mix and match your settings you will end up with crushed blacks and other color inaccuracies. Your settings should be limited, superwhite on, and under BD / DVD Video Output Format (HDMI) you should take it out of auto and set it manually to Y Pb / Cb Pr / Cr.

The manual setting in conjunction with superwhite on is the only way to get it to pass WTW and BTB due to a bug that I'm not sure if it was ever fixed. Blu-ray is natively YCC anyway and this is the reason for movies the PS3 ignores any limited or full settings so there is no reason not to manually be set to YCC in the first place.


So in short. RGB is meaningless when it comes to blu-ray movies as it is completely ignored by the PS3.

For gaming you can achieve results in both PC output and video output however if you calibrate for PC levels you will have to make sure you have a separate setting for movies and tv viewing on your display (if you use your display for that)

Lastly all of this is a moot point if you are using some out of the box setting like standard or vivid (torch mode) because you have inaccuracies all over the place anyway.
 
If you can use YCrCb 4:4:4 (or 4:2:2 / 4:2:0), that will avoid the RGB full vs limited vs other terminology confusion. That seems worthwhile all by itself. :D
Also most video formats (ie, DVD, BluRay, streams) use it, so most HT displays expect and do best with that display format as well.

Computer games and computer displays work best with RGB full aka 0-255 levels.
You will certainly get more contrast from that than from using the RGB limited settings.

However, when you play video content, you have to be aware of the difference and have the player and display match up, or maybe pray that the "auto" setting works reliably.
 
Discussion starter · #24 ·
If you can use YCrCb 4:4:4 (or 4:2:2 / 4:2:0), that will avoid the RGB full vs limited vs other terminology confusion. That seems worthwhile all by itself. :D
Also most video formats (ie, DVD, BluRay, streams) use it, so most HT displays expect and do best with that display format as well.

Computer games and computer displays work best with RGB full aka 0-255 levels.
You will certainly get more contrast from that than from using the RGB limited settings.

However, when you play video content, you have to be aware of the difference and have the player and display match up, or maybe pray that the "auto" setting works reliably.
Don't disagree. My TV (like most) only supports 4:4:4 on the game and graphics (PC) picture modes... which offer no motion compensation so that display mode is not ideal for movie content for a couple of reasons.

The ideal solution I have found is to setup one input on the TV for video levels and another for full RGB. I use the Cinema Pro mode on my Sony XBR on limited for 24p content and Game mode at full for PS4 gaming (which also offers minimum input lag).
 
Discussion starter · #25 ·
Further to this thread and video level optimization with Kodi, I've discovered that by default, the Kodi GPU is not running in Full mode. It's set to Automatic, which actually defaults to Limited 16-235, resulting in undesirable output.

I'd like to hear from others on this...

If you're using Kodi on OpenELEC (or Linux I guess), you need to set it up to force full RGB on boot by adding an autostart.sh file.

You can determine what mode it's running in as follows:
- Make sure SSH is enabled in OE
- ssh root@IP.address
- password: openelec
- type: xrandr --verbose (to see the GPU settings)
- look for the HDMI input with a display attached - note the Broadcast RGB setting

To over-ride the GPU setting, create an autostart.sh file as follows:

cd /storage/.config
rm autostart.sh
vi autostart.sh
(to insert)
copy and paste (don't try to type this)...

Code:
#!/bin/sh
OUTPUT=`xrandr -q | sed '/ connected/!d;s/ .*//;q'`
xrandr --output $OUTPUT --set "Broadcast RGB" "Full"
Hit ESC
type :wq
chmod +x autostart.sh
reboot
 
-edit-

Okay, I got this to work. I still could not figure out how to copy the code into the Window, but strangely right clicking the mouse put most of the text there. I just typed in the rest.

Also, I didn't realize I had left out the : before the "wq" and that was clearly important.

Thanks!

B.
 
Discussion starter · #27 ·
Would like to try this, but when I "cd /storage/.config" ....it says I don't have a storage directory. (I do see .config when I do a directory listing.)

Also, there is no autostart.sh file...

Something else I need to do?

B.

I didn't have an auto start either. Just cd to .config then and create it there. I'll double check the path later... Maybe I'm missing a dot or something.
 
If you can use YCrCb 4:4:4 (or 4:2:2 / 4:2:0), that will avoid the RGB full vs limited vs other terminology confusion. That seems worthwhile all by itself. :D
Also most video formats (ie, DVD, BluRay, streams) use it, so most HT displays expect and do best with that display format as well.
It is not so easy. With windows OS if you set YCbCr as the output the flow with films will be:

YCbCr 4:2:0 -> YCbCr 4:2:2 -> YCbCr 4:4:4 -> RGB 16-235 -> RGB 0-255 -> RGB 16-235 -> YCbCr 4:4:4 (-> YCbCr 4:2:2)

If you set RGB 0-255 as output in the GPU and the renderer in RGB 16-235 the flow will be:

YCbCr 4:2:0 -> YCbCr 4:2:2 -> YCbCr 4:4:4 -> RGB 16-235

I don't know if this is true with linux.

sawfish has explained perfectly all the RGB levels - TV black levels configuration.
 
It is not so easy. With windows OS if you set YCbCr as the output the flow with films will be:

YCbCr 4:2:0 -> YCbCr 4:2:2 -> YCbCr 4:4:4 -> RGB 16-235 -> RGB 0-255 -> RGB 16-235 -> YCbCr 4:4:4 (-> YCbCr 4:2:2)

If you set RGB 0-255 as output in the GPU and the renderer in RGB 16-235 the flow will be:

YCbCr 4:2:0 -> YCbCr 4:2:2 -> YCbCr 4:4:4 -> RGB 16-235

I don't know if this is true with linux.

sawfish has explained perfectly all the RGB levels - TV black levels configuration.
Hmm. The conversion chains you've suggested would be highly suboptimal due to the lossy steps, but such steps shouldn't be required unless you're choosing poorly with your filter stages?

If you're running in windowed mode, then video might be converted from YCbCr 4:2:0 directly to RGB 0-255 via video hardware (ie, see nppiYCbCr420ToRGB_8u_P3C3R from the nVidia CUDA docs, or similar for ATI), or it might be chroma upsampled from YCbCr 4:2:0 to YCbCr 4:4:4 via madVR or whichever. If your output is set to RGB limited, then yes, you'll get the lossy RGB 0-255 -> RGB 16-235 compression; but otherwise you'd be sending either RGB 0-255 or YCbCr 4:4:4 to the display depending on which output format you set.

If you're running in fullscreen exclusive mode, then you shouldn't have to convert YCbCr 4:2:0 to RGB unless you set your output format to RGB. I'm trying to find signs of whether YCbCr 4:2:0 direct passthrough to a display set for YCbCr 4:4:4 is possible, but I'm getting too many matches with questions and not enough with answers. :)

Still found some useful links like:

https://forum.doom9.org/showthread.php?t=171787 # madVR rendering options and diagram
 
If you're running in fullscreen exclusive mode, then you shouldn't have to convert YCbCr 4:2:0 to RGB unless you set your output format to RGB. I'm trying to find signs of whether YCbCr 4:2:0 direct passthrough to a display set for YCbCr 4:4:4 is possible, but I'm getting too many matches with questions and not enough with answers. :)
Per madshi:

http://madshi.net/htpc/page4.html
However, YCbCr output makes sense only if it's a "pure" output, without a multitude of conversions in between. If the graphics card first converts the YCbCr source to RGB, then converts it back to YCbCr for output this is actually a negative thing. Ideally the graphics card should just take the YCbCr source and output it as it is. To my best knowledge no graphics card on the market can do this today.
 
I didn't have an auto start either. Just cd to .config then and create it there. I'll double check the path later... Maybe I'm missing a dot or something.
Any help you can provide would be great. Is a ctrl function or is it actually a ?

How do I paste in putty? When I tried ctrl-V it didn't work right.

Hitting ESC did not seem to exit out of anything. Is it supposed to?

I must not be doing something right...

B.
 
Hmm. The conversion chains you've suggested would be highly suboptimal due to the lossy steps, but such steps shouldn't be required unless you're choosing poorly with your filter stages?

If you're running in windowed mode, then video might be converted from YCbCr 4:2:0 directly to RGB 0-255 via video hardware (ie, see nppiYCbCr420ToRGB_8u_P3C3R from the nVidia CUDA docs, or similar for ATI), or it might be chroma upsampled from YCbCr 4:2:0 to YCbCr 4:4:4 via madVR or whichever. If your output is set to RGB limited, then yes, you'll get the lossy RGB 0-255 -> RGB 16-235 compression; but otherwise you'd be sending either RGB 0-255 or YCbCr 4:4:4 to the display depending on which output format you set.
So you say the same i said. If you set GPU output to YCbCr there will be with films double color space conversion, YCbCr -> RGB (with chroma upsampling) and then RGB -> YCbCr, and double levels range conversion, 16-235 -> 0-255 and then 0-255 -> 16-235.
 
So you say the same i said. If you set GPU output to YCbCr there will be with films double color space conversion, YCbCr -> RGB (with chroma upsampling) and then RGB -> YCbCr, and double levels range conversion, 16-235 -> 0-255 and then 0-255 -> 16-235.
Well, maybe so...? :eek: :rolleyes:

I had thought that one of the points of paying for the fancier BluRay PC software players (PowerDVD, Nero, etc) was to get an optimized set of codecs which could stream the video directly from the disk rather than needing to rip and re-encode the video. I had also thought that when such video players were running in full screen exclusive mode, they could passthrough YCbCr 4:2:0 with nothing more than maybe chroma/luma upsampling to 4:2:2 or 4:4:4 depending on what the display can do.

Evidently not. So I suppose there's still an argument to be made for blowing $80 for a decided external BluRay player....
 
Well, maybe so...? :eek: :rolleyes:

I had thought that one of the points of paying for the fancier BluRay PC software players (PowerDVD, Nero, etc) was to get an optimized set of codecs which could stream the video directly from the disk rather than needing to rip and re-encode the video. I had also thought that when such video players were running in full screen exclusive mode, they could passthrough YCbCr 4:2:0 with nothing more than maybe chroma/luma upsampling to 4:2:2 or 4:4:4 depending on what the display can do.
Ok, i understand.

Evidently not. So I suppose there's still an argument to be made for blowing $80 for a decided external BluRay player....
If someone watch only 1080p film in a 1080p screen and wants just one YCbCr -> RGB conversion and doesn't care about how it is done and is sure TV doesn't do multiple YCbCr-RGB conversions and doesn't care how all this is dithered to native bitdepth (or just like how his TV does all this) then i think maybe there is a valid argument when speaking only about PQ.

If someone doesn't care about RGB->YCbCr conversion because his TV does in a good way but cares about range level's conversion because WTW then a HTPC can properly configured send 16-235 without conversion. Plus more control on things like YCbCr->RGB conversion, dithering, deinterlacing, debanding if needed, etc.

If someone is a PQ maniac then a TV configured as a monitor and a HTPC give him full control in all the chain YCbCr->RGB conversion in 16 bits, customizable chroma upsampling, customizable deinterlacing, customizable dithering to the native bitdepth, color calibration, frame interpolation, etc.

And there are 4k displays so customizable image upscaling is a plus, some people like sharpening and you have customizable options (finesharp, lumasharpen, super xbr, etc.) ... well, you know.

And if you don't watch only 1080p films the list of PQ improvements go on.

What i mean is PQ speaking is not a valid argument in most cases. PlugandPlay is the argument, and may be price.
 
If someone doesn't care about RGB->YCbCr conversion because his TV does in a good way but cares about range level's conversion because WTW then a HTPC can properly configured send 16-235 without conversion. Plus more control on things like YCbCr->RGB conversion, dithering, deinterlacing, debanding if needed, etc.
I can't edit. YCbCr->RGB conversion should be deleted.
 
Discussion starter · #36 ·
Any help you can provide would be great. Is a ctrl function or is it actually a ?

How do I paste in putty? When I tried ctrl-V it didn't work right.

Hitting ESC did not seem to exit out of anything. Is it supposed to?

I must not be doing something right...

B.



Hey. I'm not likely going to be a lot of help, as I use a Mac and I'm hardly a guru at the command line. So Google is likely to be more helpful than I am. I don't use Putty as the Mac has its own terminal app.

However, when I say that means type the letter "i" on the keyboard... using VI, You need to type on the keyboard to activate insert mode, then paste the lines into the editor, then type to exit edit mode, write the file, and quit respectively.

Navigating around directories is a lot like on any other computer ... Use "cd .." to go up a level and "cd " to go into a directory.

Hope that helps. Google using VI in Linux if you're still struggling.
 
Discussion starter · #37 ·
It is not so easy. With windows OS if you set YCbCr as the output the flow with films will be:



YCbCr 4:2:0 -> YCbCr 4:2:2 -> YCbCr 4:4:4 -> RGB 16-235 -> RGB 0-255 -> RGB 16-235 -> YCbCr 4:4:4 (-> YCbCr 4:2:2)



If you set RGB 0-255 as output in the GPU and the renderer in RGB 16-235 the flow will be:



YCbCr 4:2:0 -> YCbCr 4:2:2 -> YCbCr 4:4:4 -> RGB 16-235



I don't know if this is true with linux.



sawfish has explained perfectly all the RGB levels - TV black levels configuration.

What a mess. I don't know what Linux is doing either, but I can't imagine it's any worse than this. Perhaps it's worth looking into? What advantage does Windows offer over something like OpenElec?
 
Discussion starter · #38 ·
Ok, i understand.







If someone watch only 1080p film in a 1080p screen and wants just one YCbCr -> RGB conversion and doesn't care about how it is done and is sure TV doesn't do multiple YCbCr-RGB conversions and doesn't care how all this is dithered to native bitdepth (or just like how his TV does all this) then i think maybe there is a valid argument when speaking only about PQ.



If someone doesn't care about RGB->YCbCr conversion because his TV does in a good way but cares about range level's conversion because WTW then a HTPC can properly configured send 16-235 without conversion. Plus more control on things like YCbCr->RGB conversion, dithering, deinterlacing, debanding if needed, etc.



If someone is a PQ maniac then a TV configured as a monitor and a HTPC give him full control in all the chain YCbCr->RGB conversion in 16 bits, customizable chroma upsampling, customizable deinterlacing, customizable dithering to the native bitdepth, color calibration, frame interpolation, etc.



And there are 4k displays so customizable image upscaling is a plus, some people like sharpening and you have customizable options (finesharp, lumasharpen, super xbr, etc.) ... well, you know.



And if you don't watch only 1080p films the list of PQ improvements go on.



What i mean is PQ speaking is not a valid argument in most cases. PlugandPlay is the argument, and may be price.

I suspect we all care. I certainly do, which is why I've wasted countless hours of my life just trying to get the f'n levels matched in my signal chain. It's another thing completely to know WTF you need to do, and how to do it. HTPCs are a total pain in the ass... They offer plenty of flexibility but no end of frustration and suck people's valuable time. But we're not here to debate the TCO of HTPCs. That's a lost cause. :)

Hopefully this thread is helping some folks like me make some progress in at least understanding the issues, if not addressing them.

So now that you've brought up the whole color space conversion thing, how about explaining the PQ downsides to not addressing it, the upsides to getting it right, and some guidance on how to optimize it? ;)
 
I suspect we all care. I certainly do, which is why I've wasted countless hours of my life just trying to get the f'n levels matched in my signal chain. It's another thing completely to know WTF you need to do, and how to do it. HTPCs are a total pain in the ass... They offer plenty of flexibility but no end of frustration and suck people's valuable time. But we're not here to debate the TCO of HTPCs. That's a lost cause. :)

Hopefully this thread is helping some folks like me make some progress in at least understanding the issues, if not addressing them.

So now that you've brought up the whole color space conversion thing, how about explaining the PQ downsides to not addressing it, the upsides to getting it right, and some guidance on how to optimize it? ;)
[URL="http://www.spearsandmunsil.com/portfolio/choosing-a-color-space-2/"Choosing a Color Space[/URL]
 
21 - 40 of 45 Posts