(2016-10-22, 12:35)wrxtasy Wrote: (2016-10-22, 10:06)noggin Wrote: (2016-10-21, 18:59)wrxtasy Wrote: I suspect something is up with the Chromebox sending out a RGB signal and altering the colorspace output. All the blacks and greys should appear duller and washed out when switching from YCbCr to RGB without picture setting adjustments on a TV.
Eh? What makes you say that?
RGB and YCbCr level space can be the same. No reason to change levels between RGB 16-235 (i.e. Limited) and YCbCr 16-235 on most displays. I have sources outputting both RGB (Raspberry Pis) and YCbCr (ODroids, Blu-ray player, PS3, PS4 etc.) routed via my AVR in pass-through mode (it outputs what it receives) and have no need to change my TV levels no my HDMI input as I switch between RGB and YCbCr sources.
The Android and LibreELEC AMLogic S905 guys found an issue with specific models of (approx 7 year) Philips and Sony TV's. HDMI Handshaking has some sort of problem with these TV and they default to RGB even when fed a YCbCr colorspace. It not only AML devices having issues with these TV's, I've also seen a lot of reports with Apple Hardware and others as well.
Consequently the problem had to have a workaround implemented. We now have this in LibreELEC Kodi for S905's and also MINIX and Wetek has an Android RGB Toggle option setting implemented.
If I toggle YCbCr to RGB switching manually I can clearly see washed out Blacks and Grey shades on my unadjusted 4K TV. I am not changing HDMI inputs or toggling between others and then back to the AML S905 one either.
Are you toggling between YCbCr Limited and RGB Limited, or YCbCr Limited and RGB Full? And what is the HDMI Infoframe you are sending saying? (Infoframes can carry levelspace information - but aren't mandatory, and many earlier TVs ignore them. My Sony Full HD set from 2007 ignores them, but my Sony UHD set from 2014 follows them - so I obviously can get different visual results with the same device on two diferent displays depending on the Infoframe support on source and display)
If you send RGB Limited but the HDMI Infoframe says it is full - then any modern TV will interpret it as Full, automatically switch to Full mode, but because you are sending Limited video you will get set-up blacks (as black level on the display is 0, but in the video source is 16 - and washed out colours) This would be because you're saying one thing and sending another and you will get the wrong result.
If you send RGB Limited video, and your TV is expecting RGB Limited (either because it is configured as Limited and/or because the HDMI Infoframe flags it as Limited) - then no problem. If you are sending RGB Full and your TV is expecting RGB full (either because it is configured for RGB Full and/or because the HDMI Infoframe flags it as Full), again no problem. That said I don't think YCbCr Full is a proper standard (YCbCr is almost universally Limited range)
Quote:I bet if I plug a RGB video output capable RPi into another HDMI port on the TV and switch to that HDMI input I would see the same results as you.
The Pi has config options for both RGB Full and RGB Limited, as well as YCbCr Limited in its config.txt ISTR - and I'm pretty certain it sends the right info frames (or doesn't send any).
Pi config
Quote:hdmi_pixel_encoding=0 default (limited for CEA, full for DMT)
hdmi_pixel_encoding=1 RGB limited (16-235)
hdmi_pixel_encoding=2 RGB full ( 0-255)
hdmi_pixel_encoding=3 YCbCr limited (16-235)
hdmi_pixel_encoding=4 YCbCr full ( 0-255)
The CEA vs DMT thing is how Intel drivers behave as a default too. If you select a CEA mode (i.e. a consumer electronics association 'video' mode - 480/576/720/1080) you get Limited, if you select a DMT (i.e. a PC monitor resolution like 1024x768, 800x600, 1280x1024 etc.) there is an expectation you are probably connected to a DVI-type display which will want 'PC' levels which are Full.
The key thing with RGB is to make sure you are in the right level space - Limited or Full AND that you are flagging it correctly OR have your TV manually configured correctly. If you have an older TV that ignores HDMI info frames, you should always make sure that multiple sources routed to a single input are in the same RGB/YCbCr levelspace - and for sanity's sake I'd suggest all Limited as a default position (as lots of CE devices are Limited only)