Posts: 785
Threads: 16
Joined: Mar 2020
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)
- Original (601 to 709) -> transformed to Rec2020cl in in Hybrid:
- Original (601 to 709) -> transformed to Rec2020ncl in in Hybrid:
Posts: 10.618
Threads: 57
Joined: May 2017
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
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 785
Threads: 16
Joined: Mar 2020
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.
# 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)
# 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
# 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"
Posts: 10.618
Threads: 57
Joined: May 2017
Quote: Probably Rec2020 transformation in old color matrix didn't work for same reason.
Usage of Rec. 2020 isn't as old as ColorMatrix.
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.
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
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 785
Threads: 16
Joined: Mar 2020
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
# 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)
Posts: 10.618
Threads: 57
Joined: May 2017
should be fixed in the new version.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 785
Threads: 16
Joined: Mar 2020
ICtCp - VS opens empty preview window (similar when it was tag RGB)
YCoCg - VS preview ERROR
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
Posts: 10.618
Threads: 57
Joined: May 2017
29.08.2020, 22:38
(This post was last modified: 29.08.2020, 22:50 by Selur.)
damn, must still have a typo somewhere,..
will look at it tomorrow
-> "ycocg should be ycgco" (YCgCo)
ICtCp gives:
invalid colorspace definition (1/1/2 => 14/1/2). May need to specify additional colorspace parameters.
No clue what's missing.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 785
Threads: 16
Joined: Mar 2020
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.
Posts: 10.618
Threads: 57
Joined: May 2017
29.08.2020, 23:03
(This post was last modified: 29.08.2020, 23:04 by Selur.)
no happening unless everything else is fixed.
Basic users should not use Hybrid.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
|