01.02.2025, 16:58
(01.02.2025, 14:53)Selur Wrote: Back at home,...
Reading that post, I'm really thinking about dropping support for HAVC in total.
Quote:I think that is time to rename the filter DeOldify in HAVC as shown in the following pictureI'll rename it to 'DeOldify/HAVC'. Not starting to really rename the filter since then I would also have to rename all the existing (~60) parameters for consistency.
Wouldn't it make more sense to add something like:
inside HAVC itself?havc_refclip = core.bs.VideoSource(source="PATH_TO_FILE")
if clipRef.num_frames != clip.num_frames:
raise vs.Error('HAVC: Reference clip and source clip frame count differ!')
if havc_refclip.format.id != vs.RGB24:
refframe = havc_refclip.get_frame(0)
if frame.props.get('_ColorRange', None) != vs.RANGE_FULL :
clipRef = core.resize.Bicubic(clipRef, range_in_s="limited", range_s="full")
if frame.props.get('_Matrix', None) != vs.MATRIX_BT709 :
clipRef = core.resize.Bicubic(clipRef, matrix_in_s="470bg", matrix_s="709")
havc_refclip = core.resize.Bicubic(clip=havc_refclip, width=clip.width, height= clip.height, format=vs.RGB24, matrix_i_s="709", range_s="full")
clipRef = core.std.AssumeFPS(clip=clipRef, fpsnum=clip.fps_num, fpsden=clip.fps_den)
Ok in not renaming vsDeoldify I was not aware that to change the name it would be necessary so many changes (for the same reasons I don't have changed the name of the project in GitHub).
Regarding the possibility to add an external video, it is not clear your proposal.
If necessary I can add some code (but I prefer to don't use bs.VideoSource is still too slow), but I cannot implement all the transformations that you usually add when a clip is loaded in Hybrid.
In this case in the string sc_framedir need to be passed the path to the external movie.
Could you clarify better ?
Thanks,
Dan
(01.02.2025, 16:39)Selur Wrote: I do not understand ref_freq.
I interpret this as that:ref_freq: int = None,
...
:param ref_freq: If (ref_merge > 0 or method == 5). If > 0 will be generated at least a reference frame
every "ref_freq" frames. range [0-1500]. If is not set, is assigned automatically a
value depending on ref_merge value and method.
1. it should only be used if ref_merge > 0 or method == 5.
2. If it is set to 'None' depending on ref_merge value and method some automatic value is assigned.
3. If set to a value > 0 at least a reference frame every "ref_freq" frames will be generated (1-1500).
If set to 0 ???
Is there a difference between None and 0?
If there is no difference, then 'None' should not be used at all.
If there is a difference, please explain it.
Cu Selur
Ps.: updated Hybrid_deoldify to include 'Deep-Remaster' as ex_method. (did not add ref_freq since I don't get it)
In effect in the GUI there is already the field "SC min freq" and "SC thresh" which are currently used by HAVC_ddeoldify. Now these 2 parameters can to be passed also to HAVC_deepex.
ref_thresh = "SC thresh"
ref_freq = "SC min freq"
When I introduced the "Ref merge" you added also the field "Threshold", but this field is not really necessary because you can use "SC thresh". It is possible to do that because when "Ref merge" is set "SC min freq" is set equal to 1 and all the remaining scene detection parameters will be ignored by HAVC_dddeoldify, so that you can use "SC min freq" and "SC thresh" for the "Ref merge", so that the parameter "Threshold" could be removed because is redundant. But I don't know your code so is up to you to decide what to implement.
Dan