Doesn't really seems useful, since Vapoursynth itself doesn't use HSV.
Also, since the video usually isn't RGB, so not sure whether using the Display values is accurate:
When using the DisplayRGB values as base
https://github.com/Selur/vsViewer/blob/9....cpp#L1065
it would probably not hard to add, but I don't think adding another color space into the mix would just alienate more users,...
Instead of doing this it would be better to adjust vsDeoldify parameters to use RGB instead of HSV.
Code:
def ddeoldify_stabilizer(clip: vs.VideoNode, dark: bool = False, dark_p: list = [0.2, 0.8, "0:30,300:360"], smooth: bool = False, smooth_p: list = [0.3, 0.7, 0.9, 0.05, "none"], stab: bool = False, stab_p: list = [5, 'A', 1, 15, 0.2, 0.15, "300:360|0.5,0.0"], render_factor: int = 24) -> vs.VideoNode:
+
Code:
def ddeoldify(
clip: vs.VideoNode, method: int = 2, mweight: float = 0.5, deoldify_p: list = [0, 24, 1.0, 0.0], ddcolor_p: list = [1, 24, 1.0, 0.0, True], ddtweak: bool = False, ddtweak_p: list = [0.0, 1.0, 2.5, True, 0.2, 0.5, 1.5, 0.5, "300:360|0.3,0.2"], cmc_tresh: float = 0.2, lmm_p: list = [0.2, 0.8, 1.0], alm_p: list = [0.8, 1.0, 0.15], cmb_sw: bool = False, device_index: int = 0, torch_dir: str = model_dir) -> vs.VideoNode:
You are nearly using 50 parameters!
Instead of adding more stuff (nobody aside from you can/will use), better think about how to throw out stuff or at least define (tested) presets which allow to make the whole thing more approachable.
Cu Selur
Ps: I attached for you a modified vsViewer version.