Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|||||||
![]() |
|
|
Thread Tools | Search this Thread | Display Modes |
|
|
#1 | Link |
|
Registered User
Join Date: May 2002
Location: Los Angeles
Posts: 88
|
Color variations between source and x264 output in QuickTime Player and others
![]() Image on the left is uncompressed 8-bit 4:2:2 and on the right is the output of x264. While the encoding quality is excellent, notice that it is somewhat paler than the source, especially visible in the tan colors of the table. The same video encoded with Apple's Compressor has colors looking exactly like the original. VLC also plays back the file with pale colors. On the Windows side of things, QT and VLC behave the same, with only the CoreAVC decoder playing back the brighter more vibrant colors. I thought at first it was an x264 issue, but CoreAVC's correct behavior makes me wonder... Thanks in advance! |
|
|
|
|
|
#4 | Link |
|
Derek Prestegard IRL
![]() Join Date: Nov 2003
Location: Los Angeles
Posts: 5,980
|
Also, do you see the horribly upsampled chroma on the uncompressed version (badly aliased red on the flower/stem edge)?
~MiSfit
__________________
These are all my personal statements, not those of my employer :) |
|
|
|
|
|
#5 | Link | |
|
Software Developer
![]() Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,246
|
Quote:
Especially VMR7, VMR9 and EVR are known to have problems. Haali's renderer has options to set the desired levels. No idea about QuickTime's renderer...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 1st December 2008 at 20:22. |
|
|
|
|
|
|
#6 | Link | |
|
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 4,926
|
Quote:
__________________
all my compares are riddles so please try to decipher them yourselves :) It is about Time Join the Revolution NOW before it is to Late ! http://forum.doom9.org/showthread.php?t=168004 Last edited by CruNcher; 1st December 2008 at 20:10. |
|
|
|
|
|
|
#7 | Link |
|
Registered User
Join Date: Feb 2005
Posts: 140
|
QT obeys the colorspace atoms ('colr') in the mov/mp4 file if they're present, but will otherwise make one up that results in different YUV conversion than other players.
I'm not sure if the official H264 decoder respects h264 color signalling, but it might. |
|
|
|
|
|
#8 | Link |
|
Mr. Sandman
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
|
craptime(tm) does it in his own (wrong) way... always.
drop it.
__________________
MPEG-4 ASP Custom Matrices: EQM V1(old), EQM AutoGK Sharpmatrix (aka EQM V2), EQM V3HR (updated 01/10/2004), EQM V3LR, EQM V3ULR (updated 04/02/2005), EQM V3UHR (updated 17/12/2004) and EQM V3EHR (updated 05/10/2004) Info about my ASP matrices. MPEG-4 AVC Custom Matrices: EQM AVC-HR Info about my AVC matrices My x264 builds. Mooo!!! |
|
|
|
|
|
#9 | Link |
|
Registered User
Join Date: May 2002
Location: Los Angeles
Posts: 88
|
Thanks for all the replies, guys. I suspected this had something to do with PC vs TV luma ranges. The question is, should I correct these prior to encoding (by using ColorYUV in AviSynth for example)?
As far as 601 vs 709 differences, how would I be able to tell? My source is a DigiBeta ingested over SDI directly into 2vuy/UYVY. I realize many have their gripes with QuickTime, but my encodes are to be played back in software that uses QT for rendering, so I do not have a choice. Plus, QT is not the only one with these inconsistencies, VLC is the same. I guess the real question is, which is the "correct" way to display this image.. The one on the left or the right? Would I be able to tell by using something standarized, such as SMPTE colorbars? As far as the QT colorspace atoms, how would I be able to edit those or even find out their value? I tried various VUI settings in x264, but they seemed to have no effect. Does QT only obey the 'colr' atoms and not the VUIs? |
|
|
|
|
|
#12 | Link |
|
Derek Prestegard IRL
![]() Join Date: Nov 2003
Location: Los Angeles
Posts: 5,980
|
Exactly.
I find that QuickTime expects PC range luma (full). So, I convert it to that before encoding anything targeted at QuickTime. Not sure about the matrix, I have a hard time deciding which one is correct in most cases. ~MiSfit
__________________
These are all my personal statements, not those of my employer :) |
|
|
|
|
|
#13 | Link |
|
Registered User
Join Date: Dec 2005
Posts: 133
|
Check in your video driver settings what the hardware YUV->RGB conversion setting is. For me it always defaults to 16-235 (limited range) everytime i restart the computer (nvidia control center issue)
Which means no matter what the decoder did, when the gpu grabs the image in YUV form it always converts it to the 16-235 range. I have two solutions on my side : Solution 1 : switch the range to 0-255 (full range) in your display driver settings (check in the video colour settings) If you have an nvidia gpu, this setting is in the control center under Video & TV / video colour settings in the advanced tab (rough translation from my localized driver) I don't have an Ati gpu so I can't say where this option is located in the Catalyst control center. EDIT : i made a clean driver reinstallation and no longer have the following bug problem on my side : it switches back to limited range everytime i restart my computer, i can't figure out why. Solution 2 : check in your player and codec settings and make sure they all do the YUV->RGB conversion internally. some players let you change this (VLC), others don't (MPC) In this case you have to make sure your codecs internally output to RGB instead of one of the YUV outputs (YV12, YUY2, etc...), FFDshow allows you to do this and CoreAVC as well. And i don't know about quicktime, i don't use it. Last edited by BlackSharkfr; 8th December 2008 at 00:55. |
|
|
|
|
|
#15 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 5,279
|
In the output options, uncheckmark YV12, YUY2, YVYU, UYUV, etc...
Checkmark "high quality YV12 to RBG conversion" if you don't want that bad sampling (looks like checkers in reds, similar to the left hand picture in the 1st post) - this take more CPU usage, so if you have a slow PC, maybe not a good idea In the RGB conversion subheading, select your YCbCr specification (e.g. BT.601 vs BT.709), and contrast (e.g. full range vs standard) Don't forget to turn it "off" and reset it if you are doing encoding using ffdshow to decode the source, or you might get unwanted filtering and several colorspace conversions (quality loss) Last edited by poisondeathray; 5th December 2008 at 22:35. |
|
|
|
|
|
#16 | Link |
|
Derek Prestegard IRL
![]() Join Date: Nov 2003
Location: Los Angeles
Posts: 5,980
|
Or use Haali renderer and have full control of these options at that level. I find it much easier to do this instead of digging through ffdshow.
Note that QuickTime does _not_ let you change these things. Yet another reason it sucks on Windows ![]() ~MiSfit
__________________
These are all my personal statements, not those of my employer :) |
|
|
|
|
|
#19 | Link | |
|
Registered User
Join Date: Apr 2008
Posts: 56
|
Quote:
|
|
|
|
|
|
|
#20 | Link | |
|
Registered User
Join Date: May 2002
Location: Los Angeles
Posts: 88
|
Quote:
|
|
|
|
|
![]() |
|
|