#76 Automatic colorimetry conversion for YUV

open
nobody
None
7
2010-05-15
2010-05-15
Kigaruna
No

Hi.
lets say we have SD input which uses bt601 colorimetry, in ffdshow we applying resize filter to to make it HD (yes, upscale) and output colorspace we set to RGB. When all of this is done, we can see that conversion to RGB was done correctly, right coefficients was used, which means ffdshow probably checks if resize filter is present and how much actually we resizing. (Not sure about resize through avisynth filter, I'm talking only about buil-in one)
However if we set output colorspace to be the same as input, YV12 for example, no checks is done. (case when input is YUV, and output is YUV but different one is not tested). So in this case as output we have HD that uses bt601 colorimetry, which is not standard, and stupid renderers like EVR converting it wrong, bt701 colorimetry is used!
It will be nice to add option by enabling wich ffdshow will perform operation, equivalent to avisynth's ColorMatrix(mode="Rec.601->Rec.709") on SD video upscaled to HD, and ColorMatrix(mode="Rec.709->Rec.601") on HD video downscaled to SD when input and output colorspace are the same.
Yes, I know that it is possible touse Avisynth filter for that, but this way its too advanced for normal users and anyway this should be automatic. Applying shader in MPC-HC is not always an option (not everyone uses his player, and this is additional load on GPU), also there is no built it shader that suits for SD->HD case

Discussion

  • Kigaruna
    Kigaruna
    2010-05-15

    • priority: 5 --> 7
     
  • Kigaruna
    Kigaruna
    2010-05-15

    Oops I made a typo:
    "stupid renderers like EVR converting it wrong, ->bt709<- colorimetry is used!"