Selur's Little Message Board

Full Version: Deoldify Vapoursynth filter
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So when:
  • '+Custom' is used: Exemplar Models would need to be enabled. (and can't be disabled)
  • '+Restore' is used: Exemplar Models would need to be enabled and forced to specific settings. (and can't be disabled)
That seems unnecessary, since using 'light/medium/strong' + enabling 'Exemplar Models' is the same as 'light/medium/strong+Custom'.
And 'light/medium/strong+Restore' does not make any sense to me. (since it should be a preset for 'exemplar models')


Cu Selur

Ps.: send you a link to a test version via pm (which adds support for BlackWhiteMode, but does not change BlackWhiteTune)
In the test sample provided there are the 6 cases that Hybrid should be able to manage.
The proposed changes were the ones with minor changes both on your side and my side.

I will think about another way to manage these 6 cases.

The new GUI is Ok, the B&M mode "CLAHE + Simple(luma)" should be changed in "ScaleAbs + Simple(RGB)", I changed this in RC2.

Thanks,
Dan
Quote:the B&M mode "CLAHE + Simple(luma)" should be changed in "ScaleAbs + Simple(RGB)", I changed this in RC2.
I adjusted it, but you should rephrase:
Code:
:param BlackWhiteMode:      Method used by BlackWhiteTune to perform colors adjustments.
                                Allowed values are:
                                      0 : Apply Contrast Limited Adaptive Histogram Equalization on Luma
                                      1 : Apply Simple Histogram Equalization on all RGB channels
                                      2 : Apply CLAHE on all RGB channels
                                      3 : method=0 and method=1 are merged (default)
                                      4 : Automatic brightness and contrast optimization with ScaleAbs
                                      5 : Auto brigh and contrast optim. with saturation arithmetic
then, which is from RC2.

Cu Selur

Ps.: updated Hybrid_havc_test
In the previous link is still available the old version 2025.09.07.1.
I still have to complete the update of comments, only the comment for the function rgb_equalizer was updated (thanks for having reported this issue).

Dan

In the current dev version is provided the parameter "BlackWhitemode" instead of  "BlackWhiteMode".
I got the following error
Code:
Failed to evaluate the script:
Python exception: HAVC_main() got an unexpected keyword argument 'BlackWhitemode'


Dan
Fixed "BlackWhitemode" to "BlackWhiteMode".
updated Hybrid_havc_test (version info is the same)

Cu Selur
The new dev version is working.

Thanks,
Dan
Okay, then I can upload a new torch and public dev tomorrow or whenever you fixed the docs&co and made a new release. Smile

Cu Selur
Hello Selur,

   I have a problem with attached sample.

   In the sample there are 2 scripts.

   The main code of the script sample3_restore1a.vpy is

Code:
clip = core.resize.Bicubic(clip=clip, format=vs.RGB24, matrix_in_s="709", range_in_s="full", range_s="limited")
clip = havc.HAVC_bw_tune(clip, 'medium', 3)
clip = core.resize.Bicubic(clip=clip, format=vs.RGB24, matrix_in_s="709", range_in_s="limited", range_s="full")
 
   this script will produce a "flash" at frame 33

   The second script sample3_restore1b.vpy not using the conversion from "full" to "limited" is Ok, the main code is simply

Code:
clip = havc.HAVC_bw_tune(clip, 'medium', 3)
   

I got the same problem if I use std.Levels in this way

Code:
clip = core.std.Levels(clip=clip, min_in=0, max_in=255, min_out=16, max_out=235)
clip = havc.HAVC_bw_tune(clip, 'medium', 3)
clip = core.std.Levels(clip=clip, min_in=16, max_in=235, min_out=0, max_out=255)

What do you think, it is a Vapoursynth problem ?

Dan
Hmm,...
Code:
clip = core.resize.Bicubic(clip=clip, format=vs.RGB24, matrix_in_s="709", range_in_s="full", range_s="limited")
...
clip = core.resize.Bicubic(clip=clip, format=vs.RGB24, matrix_in_s="709", range_in_s="limited", range_s="full")
and
Code:
clip = core.std.Levels(clip=clip, min_in=0, max_in=255, min_out=16, max_out=235)
...
clip = core.std.Levels(clip=clip, min_in=16, max_in=235, min_out=0, max_out=255)
do totally different things to the histogram.

Quote: What do you think, it is a Vapoursynth problem ?
I doubt it.
I will remove the double conversion, it is not strictly necessary.

Dan