Hello Selur,
please find attached the new RC2 of the new version of HAVC 5.8.5:
The main changes are:
1) All clip formats are supported (*) no need of RGB24 conversion before calling the script.
In case of high big depth formats they are converted in YUV444PS before the RGB24 conversion to preserve the high bit depth on luma.
2) The filter misc.SCDetect () is not more required, if is not available it will be replaced by a SCDetect() implemented using PlaneStats.
3) New API:
HAVC_cmnet2dit()
The new API will allow the colorization using the
DiT Server discussed in this post:
#23
My suggestion is to add a new Exemplar Models Method called "
external DiT Server", in the case it is selected this method should be disabled the same widgets that are disabled when are selected the others "external ..." methods, with the only exception that also "Ref Dir/File" must be disabled.
When is selected "external DiT Server", Hybrid should call directly the function havc.HAVC_cmnet2dit() instead of havc.HAVC_main() (*)
The prototype of the new call is the following
Code:
clip = havc.HAVC_cmnet2dit(clip = clip,
render_speed = DeepExPreset, # default = 'auto'
render_vivid = DeepExVivid, # default = False
sc_thresh = ScThreshold, # default = 0.035
sc_tht_ssim = ScThtSSIM, # default = 0.80
sc_min_int = ScMinInt, # default = 25
sc_tht_offset = ScThtOffset # default = 2
sc_min_freq = ScMinFreq, # default = 0
encode_mode = DeepExEncMode # default = 0 -> DeepExModel=0 (CMNET2) not exposed
max_memory_frames = DeepExMaxMemFrames, # default = 20
dit_engine_params = NEW, # default = {"host": "127.0.0.1", "port": 8765, "model_precision": "fp4"}
retry_threshold = NEW # default = 0.0
retry_model = NEW # default = 1
)
as you can see there are 3 new fields:
dit_engine_params: this field is necessary to specify: host, port and model_precision (these fields should be exposed in the GUI)
retry_threshold: threshold used to identify frames that may benefit from an additional reference frame (can slowdown the encoding by about 50%)
retry_model: If retry_threshold > 0, model used to colorize missing reference frames (default: 1). Allowed values are:
0 = HAVC (DeOldify + DDColor), 1 = DiT fp4, 2 = DiT int4.
I attached a pdf with a detailed explanation of
HAVC_cmnet2dit()
I hope that you can add this new requirement in Hybrid
Thanks,
Dan
(*) I could add the management of this call directly in HAVC_main() but in this case I need to add in HAVC_main() additional fields that are currently missing, let me know what are you preferences