View Single Post
Old 3rd May 2018, 23:19   #4  |  Link
tppytel
Registered User
 
Join Date: Feb 2017
Posts: 31
Quote:
Originally Posted by foxyshadis View Post
If you're creating it for a wider audience, then it's best to assume no player is sane, and use a colormatrix filter. Your workflow dictates this, but most open source workflows go through ffmpeg, avisynth, or vapoursynth, each of which has a method to colormatrix, and most GUIs directly include the option.
I'm using avisynth. And, if it matters, my digital playback usually happens via Plex on a Shield set to output 12-bit, YUV 4:2:2, Rec.2020 video. (There are some Shield-specific colorspace mapping issues there, but let's ignore those for the moment if we can. Pretend I'm setting the Shield to 8-bit YUV 4:2:0 Rec.709 video, which doesn't have mapping issues.)

What I'm not understanding is the difference between the Color Matrix and Color Primaries. As I read the specs and various forum posts, the matrix and transfer values are identical between BT.601/ SMPTE170m and BT.470B/G. But the primaries values are slightly different. But I confess I don't understand exactly what that means. The color matrix coefficients define a mathematical transformation between YUV and RGB, which is the same between NTSC and PAL. But I've read that this is not the same as defining an absolute color representation. I don't get that. It seems to me like if I've defined a function f that maps YUV to RGB, then I've got an absolute color space. What role does the primary specification play?

In any event, the color matrix coefficients are the same between NTSC SD and PAL SD. So avisynth's ColorMatrix function doesn't seem to do anything for me here.
tppytel is offline   Reply With Quote