Selur's Little Message Board

Full Version: Esxi running macos For selur
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I still can't understand how redesigned Color Matrix works.
601-709 709-601 works well. As you can see "Original (601 to 709)" transformation 100% match between Davinci Resolve and Hybrid.

Transform to Rec2020 changes image but look strange and probably transformation goes in some incorrect way.
Changing gammas in Transfer don't change nothing. Is it transform Source video gamma to Selected gamma? I still can't understand the purpose of Transfer tool here.


- Original (601 to 709) -> transformed to Rec2020 in Davinci Resolve (visible saturation loss due very large Rec2020 color space)
[Image: Svrad7u.jpg][Image: oOZ8tOP.jpg]

- Original (601 to 709) -> transformed to Rec2020cl in in Hybrid:
[Image: ywrQbDR.jpg][Image: 5oEgHU2.jpg]

- Original (601 to 709) -> transformed to Rec2020ncl in in Hybrid:
[Image: ywrQbDR.jpg][Image: 2UZenif.jpg]
Are the calls correct Hybrid uses? (http://www.vapoursynth.com/doc/functions/resize.html)
If not: then it's a bug in Hybrid
If they are: it's something that has nothing to do in this thread and probably the only ones who can tell you what happens are the Vapoursynth developers.

Cu Selur
Yep, i can see changes in VS script code but i can't see changes in VS viewer and in rendered video. So probably it may be Vapoursynth bug or limitation.

Code:
# ColorMatrix: adjusting color matrix from 470bg to 2020ncl using transfer 709
clip = core.std.SetFrameProp(clip,prop="_Transfer",intval=1)
clip = core.resize.Bicubic(clip=clip, matrix_in_s="470bg", matrix_s="2020ncl", range_in=0, range=0)
Code:
# ColorMatrix: adjusting color matrix from 470bg to 2020ncl using transfer 2020_12
clip = core.std.SetFrameProp(clip,prop="_Transfer",intval=14)
clip = core.resize.Bicubic(clip=clip, matrix_in_s="470bg", matrix_s="2020ncl", range_in=0, range=0)

---

These don't generate # ColorMatrix: code line if input set to Rec 601
YCoCg https://en.wikipedia.org/wiki/YCoCg
ICtCp https://en.wikipedia.org/wiki/ICtCp
Chroma cl
Chroma ncl

But if input set to Rec709 or some other, they generate code line like this and use 470bg output tag
Code:
# ColorMatrix: adjusting color matrix from 709 to 470bg
clip = core.resize.Bicubic(clip=clip, matrix_in_s="709", matrix_s="470bg", range_in=0, range=0)

P.S. They are very specific color spaces (or color models?) and i don't have any practical background details about them.

---

SMPTE 240m produce tiny color change compare to Rec709, so i guess it works because match description "very similar, but not the same as Rec 709"
Quote: Probably Rec2020 transformation in old color matrix didn't work for same reason.
Usage of Rec. 2020 isn't as old as ColorMatrix. Wink
ColorMatrix in FFmpeg still doesn't support Rec.2020.

Quote:Yep, i can see changes in VS script code but i can't see changes in VS viewer and in rendered video.
Depending on the From&To it's really hard to spot difference unless you have specific scenes.
Also you need a properly calibrated monitor. Smile
Scenes with light halos are usually a good start also I configure Hybrid to show Original&Filtered interleaved.
I see changes in Vapoursynth Filter Preview for all combinations on Windows.

Cu Selur

Ps.: uploaded a new version
Small update:

These don't generate # ColorMatrix: code line if input set to Rec 601
YCoCg https://en.wikipedia.org/wiki/YCoCg
ICtCp https://en.wikipedia.org/wiki/ICtCp
Chroma cl
Chroma ncl

But if input set to Rec709 or some other, they generate code line like this and use 470bg output tag
Code:
# ColorMatrix: adjusting color matrix from 709 to 470bg
clip = core.resize.Bicubic(clip=clip, matrix_in_s="709", matrix_s="470bg", range_in=0, range=0)
should be fixed in the new version.

Cu Selur
ICtCp - VS opens empty preview window (similar when it was tag RGB)

YCoCg - VS preview ERROR
Code:
Failed to evaluate the script:
Python exception: Resize error: bad value: matrix_s

Traceback (most recent call last):
File "src/cython/vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
File "src/cython/vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
File "/Volumes/temp/Hybrid Temp/tempPreviewVapoursynthFile23_29_20_476.vpy", line 19, in <module>
clip = core.resize.Bicubic(clip=clip, matrix_in_s="470bg", matrix_s="ycocg", range_in=0, range=0)
File "src/cython/vapoursynth.pyx", line 2069, in vapoursynth.Function.__call__
vapoursynth.Error: Resize error: bad value: matrix_s
damn, must still have a typo somewhere,..
will look at it tomorrow

-> "ycocg should be ycgco" (YCgCo)

ICtCp gives:
Code:
invalid colorspace definition (1/1/2 => 14/1/2). May need to specify additional colorspace parameters.
No clue what's missing.
Yep, it was full working day...
I see you change naming in Transfer menu. Please don't hurry with other renaming. Those names still may need some rethinking. The idea was to unify tags names globally all across UI if it is possible. And also use some sort of similar to Matroska tags naming logic (combined code name + display name). This allow easy to read those tags for basic users as well as for advanced users, who can read code in x264 settings.
no happening unless everything else is fixed.

Basic users should not use Hybrid.