View Full Version : x264 MKV's Look Horrible on New TV
diogen
8th February 2012, 00:28
I am wondering how the hell are you supposed to know what to use (RBG low/high, 4:2:2, 4:4:4) for which source/display?Consumer digital video is always 4:2:0, 16-235 (DVD, BD, satellite, cable, etc.).
Computer graphics is 4:4:4, 0-255.
If conversion is needed make sure the most competent device does it.
Diogen.
hello_hello
8th February 2012, 09:05
So I tried setting the Boxee Box to output YUV 4:2:2 (I assume it's the same as the Bluray player YCbCr?). Guess what? The original 720p file that looked really bad to me know looked way better... almost transparent and definitely acceptable. The 1080p's still looked better, but I could probably live with the 720p. Does this make sense?
Yes.
Now, with the Panasonic, it looks like I need 4:2:2. I tried 4:4:4 but couldn't tell an immediate difference. With the difference so big between RGB and 4:2:2 on the Panasonic, I am wondering how the hell are you supposed to know what to use (RBG low/high, 4:2:2, 4:4:4) for which source/display?
I don't think there should be any difference between YCbCr 4:2:2 and 4:4:4 (my video card only outputs the latter) so it really comes down to RGB vs YCbCr and/or TV levels vs PC levels.
I can't speak for every device but a PC natively outputs PC levels (0-255) and RGB so that's what I'm sticking with.
When using a PC as the playback device (RGB output), if you want everything else in Windows to display correctly (images, browser, etc) then I'm fairly certain the HDMI black level needs to be set to normal (on my TV the choices are low or normal, but it might be low or high etc). Using the low setting seems to get the TV to expand everything, not just video.
So for a PC outputting RGB, I think you'd always want to set the video card to expand the video levels to full (0-255). Using a VGA input there should be nothing else to worry about, using HDMI the TVs black level should be set to "normal" (or high).
I think if the renderer is already expanding the video to PC levels, the video card's RGB output levels should make no difference. At least that seems to be how it works for me but I've only tested it using the Haali renderer and XP and only while connected via VGA.
When any device outputs YCbCr (either 4:2:2 or 4:4:4) I'm pretty sure the TV will then always expect limited levels (16-235). The TV probably won't give you an option to change the HDMI black level anymore and if it's a PC, the video output should also be set to (16-235).
I know nothing about the Boxee Box but from what you describe it makes sense. Getting it to output YCbCr it'd probably be outputting TV levels (16-235), the TV would be expecting TV levels and everything would be fine. As it was previously outputting limited RGB (16-235) I'd guess changing the TV's HDMI black level to "low" would be correct, or leaving the black level on normal (or high) while changing the Boxee's output to RGB 0-255.
hello_hello
8th February 2012, 09:09
Unbelievable!!
I just discovered the source of my problem with TV vs PC levels. I was almost certain I'd changed the video card's output to RGB 0-255 when I first connected it to the TV via VGA, but when I checked recently and discovered it was set to 16-235, I assumed I'd just imagined doing so. Now I discovered my video card, in it's infinite wisdom, is ignoring my RGB setting for the TV and defaulting to "use the video player settings" every time I reboot, which for me effectively means it's resetting back to 16-235. And I thought I was going mad....
I'm not sure why.... It happens whether the TV is connected via VGA or HDMI, so it must be a "secondary monitor" issue. Hopefully when I update the drivers for the video card later, that problem with go away....
QBhd
8th February 2012, 13:01
ATI/AMD or Nvidia?
QB
hello_hello
8th February 2012, 14:03
Nvidia (8600GT).
I've updated the drivers but still have the same problem. If I only ever enable a single monitor the setting seems to survive a reboot, but once I've enabled two....
I've got a spare card lying around so I'll probably use it to run the TV and hopefully a separate card for each monitor will fix the problem. The way the video card is setup the DVI out and therefore the TV is the primary monitor, while the VGA out and therefore my CRT is the secondary monitor. At least until Windows loads and swaps them around. Two video cards will fix at least that annoyance.
diogen
8th February 2012, 16:32
I thought to post the link to this (really interesting, I believe) thread started by Stacey Spears and related to the 4:2:0 vs. 4:2:2 issues
http://www.avsforum.com/avs-vb/showthread.php?t=1011359
As has been mentioned by the encoding pros numerous times, encoding 4:2:2 video would probably
end up in same size files despite the original being larger: mainly because of dithering not needed.
As a side note: 4:2:2 video is easy to notice.
For a few years around 2005 some NA satellite providers were hacked and computers could be used as a satellite receiver.
If you knew where to look, you could tune into an 4:2:2 NBC feed for their affiliates (the ad spots were empty).
None of the satellite receivers could play them (they support only 4:2:0), but the PCs with the right satellite cards were able to show them.
The difference was immediately noticeable!
Diogen.
EDIT:
The dithering tool Stacey talks about was used in the production of Ratatouille (http://www.imdb.com/title/tt0382932/) (2007).
That animated feature won the Oscar that year.
shanndogg
8th February 2012, 20:57
So it appears that my TV likes to receive YCbCr (YUV) instead of RGB, but I am still somewhat confused regarding black level. Here is my understanding of the output setting of the Boxee Box (and in general): YCbCr (YUV) 4:2:2 and 4:4:4 are 16-235, RGB Low is also 16-235. RGB High is 0-255. When using RGB High, the picture becomes darker whereas all of the other settings seem to maintain the same level of "lighter" darkness.
Shouldn't this effect be reversed according to this article (http://www.audioholics.com/tweaks/calibrate-your-system/hdmi-black-levels-xvycc-rgb): "If you mismatch and play back with RGB (0-255) settings, you'll clip off the black and white levels and black will look "dark gray"?
Asmodian
8th February 2012, 21:15
That is the expected behavior.
Using RGB Low 16=Black and using RGB High 0=Black. If your TV is already black at 16 than everything 16 and below is also black. If you expand 16-235 content to 0-255 and then display it on your TV which is expecting 16-235 the video looks darker. The clipping and streaching of the whites is much less obvious than clipping and streaching of the blacks in most real life video content.
Edit: If you recalibrate your TV to 0=Black and 255=White and output RGB High than the video should look about the same (as it would with the TV calibrated to 16=Black and outputing RGB low). Any BtB or WtW would be clipped but you shouldn't be able to see them in limited range video anyway. If you have computer or video game video sources they will look bad with black and white clipped. This can get odd if you have a full range video that your player thinks is limited range; if it is set to output RGB Low it will probably clip any out of range values and if set to output full range it will still clip but also expand the ranges messing up the video a lot.
If you send YCbCr to the TV you just pass this issue on to the TV and let it deal with it however it will. The key is a smart player that expands limited range videos but doesn't expand full range sources and always sending full range RGB to the TV. This way you at least know what is happening to the video, the TV doesn't mess with it, and you can use one calibration of the TV for all video sources.
I explained this wrong in my previous post, I have edited it too. I hate the Low/High names. :o
diogen
9th February 2012, 00:13
Chroma subsampling (http://en.wikipedia.org/wiki/Chroma_subsampling) (4:2:0, 4:4:4, etc.), black levels (0-255, 16-235) and
colorspace (http://en.wikipedia.org/wiki/Color_space) (RGB, YCbCr, YPbPr, etc.) are different characteristics of a video stream and very loosely connected.
Diogen.
Asmodian
9th February 2012, 00:43
Chroma subsampling (http://en.wikipedia.org/wiki/Chroma_subsampling) (4:2:0, 4:4:4, etc.), black levels (0-255, 16-235) and
colorspace (http://en.wikipedia.org/wiki/Color_space) (RGB, YCbCr, YPbPr, etc.) are different characteristics of a video stream and very loosely connected.
Yes, and what are you trying to point out?
hello_hello
9th February 2012, 01:04
So it appears that my TV likes to receive YCbCr (YUV) instead of RGB, but I am still somewhat confused regarding black level. Here is my understanding of the output setting of the Boxee Box (and in general): YCbCr (YUV) 4:2:2 and 4:4:4 are 16-235, RGB Low is also 16-235. RGB High is 0-255. When using RGB High, the picture becomes darker whereas all of the other settings seem to maintain the same level of "lighter" darkness.
It sounds correct, although I assume when outputting RGB the TV is defaulting to RGB low, which is why it looks the same as YCbCr. I wish manufacturers would drop the "normal", "high" or "low" labels and use something a bit more initiative such a "full" or "limited".
Shouldn't this effect be reversed according to this article (http://www.audioholics.com/tweaks/calibrate-your-system/hdmi-black-levels-xvycc-rgb): "If you mismatch and play back with RGB (0-255) settings, you'll clip off the black and white levels and black will look "dark gray"?
What they're saying there is correct and you should be able to duplicate it using your TV, but the description "clip off the black and white levels" is probably counter-intuitive.
If your TV is set to expect 0-255 (as a computer monitor would be) and you feed it 16-235 levels.... 16 is supposed to be black but the TV expects 0 to be black, so 16 appears a dark grey instead, therefore the black level could be said to have been "clipped".
Doing it the other way around, where the TV expects black to be 16 but you feed it video where black is 0, black will still be black so it hasn't been "clipped", but anything between 0 and 16 will also display as black.
To work out what's "correct" try to find a video which contains black bars as they can be used to determine what's "black". Feed the TV RGB 16-235 and make a note of how "black" the black bars are. Change the output to 0-255. If the black bars get blacker then the TV expects 0-255. If the black bars were already black but the video itself gets darker, then the TV expects 16-235.
Going by my TV alone.... when receiving YCbCr the TV will always expect 16-235 and not give you an option to change the black level. I don't know if the Boxee Box lets you change the levels when the output is YCbCr. If it doesn't I think it'd be safe to assume 16-235 also, but anything's possible.
shanndogg
9th February 2012, 03:01
Got it, I had a feeling I was misinterpreting the article somewhat. So now I found two solutions to my initial problem: 1) Use YCbCr instead of RGB as output and 2) If outputing RGB, I have to use a much high encode setting (1080p CRF 18 instead of 720p CRF 20).
But how can this be? A lot of you experienced the same problems I did when testing the files, and everyone can't have the same setup as me (TV needing YCbCr, etc). Why does YCbCr hide the exaggerated blocking, pixel, and banding artifacts on the 720p making it look near the original, whereas RGB shows it. With RGB, why does a larger encode remove the problems?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.