16.03.2024, 17:11 (This post was last modified: 16.03.2024, 17:14 by Selur.)
You should really overthing all those color space conversions in your code.
They are neither free (in speed) nor lossless, especially with limited range (and additionally changing bit depths, round errors sum up,...).
Loading MiscFilters.dll is no problem in Hybrid, like I wrote, for testing you can load it through a custom section.
If you share vsdeoldify version which when a specific parameter needs it I can add it.
I updated the filter with the color stabilizer.
There is a new list of parameters called "color_stabilizer"
color_stabilizer: list = [False, 21, 'left', False]
:param color_stabilizer: parameters for the temporal color stabilizer
[0] : colstab_enabled (bool), if true the filter is enabled
[1] : colstab_nframes, number of frames to be used in the stabilizer, range[3-31]
[2] : colstab_mode, type of average used by the stabilizer: range['left', 'center', 'right']
[3] : colstab_scenechange, if true the futures frames will not be used in case of scene change detection, range [True,False]
I don't know how Vapoursynth can use the future frames if they has not been colored yet.
To be conservative, as default I adopted the "left average".
I also changed the name of parameter "ddcolor_weight" in "merge_weight".
16.03.2024, 18:46 (This post was last modified: 16.03.2024, 18:47 by Selur.)
Quote: if true the futures frames will not be used in case of scene change detection
Where does this come from?
Normally for AverageFrames "scenechange can be set to avoid averaging frames over scene changes".
=> Okay, forget that I didn't read it properly.
In this case the image colored by "Lost in Time" is de-saturated respect to "DDelodify"
But not all the clip is de-saturated.
I think that they split the movie in small chunk, and for every chunk selected the most appropriate colorization.
Updated the download.
About the chroma stabilization.
Atm. the stabilization is applied after the merge.
Have you tested whether it would help to use stabilization before the merge on one/both of the clips and additionally after the merge?
I updated the filter, now it is possible to apply the "Chroma Stabilizer", after Deoldify, DDColor and Merge, for this I added 2 more boolean parameters.
color_stabilizer: list = [True, False, False, 11, 'center', True]
:param color_stabilizer: parameters for the temporal color stabilizer
[0] : colstab_merge_enabled (bool), if true the filter will be applied after the merge of Deoldify and DDColor
[1] : colstab_deoldify_enabled (bool), if true the filter will be applied after Deoldify
[2] : colstab_ddcolor_enabled (bool), if true the filter will be applied after DDColor
[3] : colstab_nframes, number of frames to be used in the stabilizer, range[3-31]
[4] : colstab_mode, type of average used by the stabilizer: range['left', 'center', 'right']
[5] : colstab_scenechange, if true the futures frames will not be used in case of scene change detection, range [True,False]
I also changed the meaning of parameter "Brightness" in the "Darkness" filter. I modified the code and now the Darkness effect is obtained by the reducing the "V" component in "HSV" color-space, so it is more appropriate call it "Darkness" , the range is not more [-1, 0] but [0, 1].
dark_darkness: list = [False, 0.2, 0.4, 0.8, 0.10]
:param dark_darkness: parameters for dark the portion of the clip with luma below a given threshold
[0] : darkness_enabled (bool), if true the filter is enabled
[1] : dark_threshold, luma threshold to select the dark area, range [0-1] (0.01=1%)
[2] : white_threshold, if > dark_threshold will be applied a gradient till white_threshold, range [0-1] (0.01=1%)
[3] : dark_sat: amount of desaturation to apply to the dark area, range [0-1]
[4] : dark_bright (float): darkness parameter it used to reduce the "V" component in "HSV" colorspace, range [0, 1]
you should change the name also in the GUI, "Brightness" -> "Darkness".
Thanks,
Dan
Just for fun, you can find the colorized movie of Around The World in 1896