(2015-01-02, 02:55)Stereodude Wrote: That's not exactly correct. Consumer electronics gear uses YCbCr 16-235. If you send YCbCr it has to be 16-235. That's the format. CE devices don't use RGB 16-235. RGB is supposed to be 0-255. RGB 16-235 is like a redhead stepchild of video formats. It shouldn't be used, and certainly shouldn't be the default.
Not going to get into a big argument about this, but as a former Broadcast R&D engineer, 16-235 level RGB is also standard in broadcast use, and 4:4:4:4 video which can be RGBK or YCrCbK remains in the 16-235 space whether it is 8 or 10 bit in most broadcast configurations. (There are, of course, now alternative sampling schemes to allow Log capture etc.) You use 16-235 in both RGB and YCrCb to ensure you don't clip <16 and >235 content in your YCrCb (or RGB) source.
Annex 1 Part 2 of the ITU 601 spec (which is the SD broadcast video bible) confirms that 16-235 level space is to be used for RGB digital video, with black levels for both RGB and YCrCb at 8bit digital 16 :
http://www.itu.int/dms_pubrec/itu-r/rec/...!PDF-E.pdf
Part 6 of the ITU 709 spec (which is the HD broadcast video bible) confirms that the same levels are used in both RGB and YCrCb video, with black at 8 bit digital 16.
http://www.itu.int/dms_pubrec/itu-r/rec/...!PDF-E.pdf
HDMI for consumer video complies with ITU 601/709 levels, and as such, whether RGB or YCrCb is used 16-235 level space is what you would expect. Just as RGB over HD-SDI is 16-235 level space, so it is over HDMI.
As supplied every HDTV I've ever owned has expected RGB 4:4:4 to be 16-235 by default, as well as 4:2:2 and 4:4:4 YCrCb - for good reason. It's the standard used for video. If it is the default for HDTVs then it makes sense for it to be the default for HDTV resolutions output by Intel GPUs. Otherwise default usage cases would end up with clipped blacks and whites.
You don't use 0-255 in broadcast video (whether you are using YCrCb or RGB representation - and both are used internally in broadcast gear) as you lose sub-black and super-white to ensure that signals that originated in the analogue domain and which may have over/under-shoot on sharp transitions aren't clipped and lost in conversion. This is to avoid ringing, which can occur if you clip overshoot/undershoot content and then resample or filter (such as convert from 1280x720 to 1920x1080). Analogue connectivity is still used in lots of situations for HD production believe it or not, as one of the two dominant camera cabling systems (Triax) is used with analogue connectivity in most (though not all) use cases. It isn't just an issue with archive content (though that is also a very valid reason for not clipping <16 and >235 and is why re-scaling RGB to 0-255 is not routinely used for video)
0-255 RGB is a PC spec (effectively inherited from DVI), 16-235 RGB or YCrCb is the broadcast video spec, and it is the default HDMI level space on consumer gear.