10.09.2025, 20:50
I attached the new RC4
I changed the description and added a new parameter Strength
The stabilization is not related to the flickering effect, but to temporal instability of colors, for this reason I explained that the ReColor post-process should be used if the clip was colored using an AI automatic video colorizer like HAVC, which are affected by this problem. In this case the BlackWhiteTune will be applied after ColorMNet and this should be able to mitigate the washed color effect produced by ColorMNet .
Dan
I changed the description and added a new parameter Strength
def ColorPostProcessing(clip: vs.VideoNode, BlackWhiteTune: str = 'Medium', BlackWhiteMode: int = 2,
ReColor: bool = True, Strength: int = 1, ScThreshold: float = 0.10, ScNormalize: bool = True,
DeepExVivid: bool = True, ScMinFreq: int = 0) -> vs.VideoNode:
"""HAVC Color Post Processing function
:param clip: clip to process, only RGB24 format is supported.
:param BlackWhiteTune: This parameter allows to improve contrast and luminosity of frames colored with HAVC.
Allowed values are:
'Light',
'Medium', (default)
'Strong'
: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 (default)
3 : method=0 and method=1 are merged
4 : Automatic brightness and contrast optimization with ScaleAbs
5 : Automatic brightness and contrast optimization with saturation arithmetic
:param ReColor: If True the clip will re-colored with ColorMNet to enforce color temporal
stabilization. To be used if the clip was colored using an AI automatic video
colorizer like HAVC.
:param Strength: Color temporal stabilization strength, using high level the colors will be more stable but
will be also more washed.
Allowed values are:
1 = VeryLow (default)
2 = Low
3 = Med
4 = High
5 = VeryHigh
:param ScThreshold: Scene change threshold used to generate the reference frames to be used by
ColorMNet. It is a percentage of the luma change between the previous and the
current frame. range [0-1], default 0.10. If =0 are not generate reference frames.
default = 0.10
:param ScNormalize: If true the frames are normalized before using misc.SCDetect(), the normalization
will increase the sensitivity to smooth scene changes, range [True, False],
default: True
:param DeepExVivid: if enabled (True) the ColorMNet memory is reset at every reference frame update
range [True, False], default: True
:param ScMinFreq: if > 0 will be generated at least a reference frame every "ScMinFreq" frames.
range [0-1500], default: 0.
"""
The stabilization is not related to the flickering effect, but to temporal instability of colors, for this reason I explained that the ReColor post-process should be used if the clip was colored using an AI automatic video colorizer like HAVC, which are affected by this problem. In this case the BlackWhiteTune will be applied after ColorMNet and this should be able to mitigate the washed color effect produced by ColorMNet .
Dan