Why are the colors in vlc different to MPC-HC? They look unnatural in MPC-HC. I want to use MPC-HC Enhanced Video Renderer (custom presenter) and achieve the same colors that vlc gives me, what do I need to change in the MPC-HC settings?
A comparison in the attachment between the two players using the same source test card video - clearly a difference in the Cyan and Green.
These are the filters currently loaded in MPC-HC:
- Default DirectSound Device
- Enhanced Video Renderer (custom presenter)
- Audio Switcher
- LAV Video Decoder (internal)
- LAV Audio Decoder
- LAV Splitter Source (internal)
Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or try DVDFab and copy, convert or make Blu-rays and DVDs! :)
+ Reply to Thread
Results 1 to 8 of 8
You should provide more details about quantization range and used colorspace when YCbCr is converted to RGB
upload the sample file, so I can test too
rec.601 vs. rec.709. You have a rec.709 video that is being correctly displayed with a rec.709 matrix by VLC, but incorrectly with a rec.601 matrix by MPCHC. Probably because it's standard definition and the matrix isn't flagged.
Last edited by jagabo; 24th Jul 2018 at 14:21.
Could be a problem with the combination of Enhanced Video Renderer (custom presenter) and your GPU driver/OS. Workarounds:
- use different renderer (e.g. madvr)
- let LAV Video do the YUV->RGB conversion by unticking all output formats except "RGB32"+"RGB24".
Letting LAV Video do it will use the CPU, I recommend the madvr workaround.
As expected, the source is rec.709 and not flagged. VLC is displaying it with the correct colors, MPC is displaying it as rec.601 (on your computer), delivering the wrong colors.
On my computer VLC displays it wrong unless I use the OpenGL renderer. MPCBE displays it correctly with EVR Custom Presenter (though this may depend on the driver settings).
In general, when making videos you should use rec.601 for SD video, rec.709 for HD video, and always flag the matrix when you encode. That doesn't guarantee the correct colors at playback (some players/renderers will ignore the flag and the rule) but any player that obeys the flags will give the right colors, and any player that guesses based on resolution will get the right colors.