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.
Which version of VapourSynth are you using?

When I select the model CMNET2 is missing the widget Frames (memory frames)

[Image: attachment.php?aid=3737]

While this parameter is available (as should be) when I select ColorMNet


[Image: attachment.php?aid=3738]
 

Dan
I'm using R79. (I'll probably look into switching to R80 next week)
Hmm,.. I'll check that vsHAVCExModelFramesSpinBox is available for both CMNet and CMNet2
upated Hybrid_havc_test
(19.09.2026, 15:04)Selur Wrote: [ -> ]@Dan64: using:
Code:
clip = havc.HAVC_main(clip, DeepExMethod=3, ScFrameDir=None, DeepExModel=0, DeepExEncMode=0, DeepExBackbone="dinov3", DeepExMaxMemFrames=20)
I get:
Code:
2026-09-19 15:03:03.073 Failed to evaluate the script: Python exception: CopyFrameProps: argument prop_src is required Traceback (most recent call last): File "vapoursynth.pyx", line 3832, in vapoursynth._vpy_evaluate File "vapoursynth.pyx", line 3833, in vapoursynth._vpy_evaluate File "J:\tmp\tempPreviewVapoursynthFile15_02_58_577.vpy", line 39, in clip = havc.HAVC_main(clip, DeepExMethod=3, ScFrameDir=None, DeepExModel=0, DeepExEncMode=0, DeepExBackbone="dinov3", DeepExMaxMemFrames=20) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\hybrid\64bit\vapoursynth\Lib\site-packages\vshavc\__init__.py", line 325, in HAVC_main return HAVC_main_presets(clip, Preset, FrameInterp, ColorModel, CombMethod, VideoTune, ColorFix, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\hybrid\64bit\vapoursynth\Lib\site-packages\vshavc\__init__.py", line 512, in HAVC_main_presets clip_colored = HAVC_main_colorizer(clip, Preset, ColorModel, CombMethod, VideoTune, ColorFix, ColorTemp, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\hybrid\64bit\vapoursynth\Lib\site-packages\vshavc\__init__.py", line 874, in HAVC_main_colorizer clip_colored = HAVC_cmnet2(clip, clip_ref=None, method=DeepExMethod, render_speed=DeepExPreset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\hybrid\64bit\vapoursynth\Lib\site-packages\vshavc\__init__.py", line 2001, in HAVC_cmnet2 clip = CopySCDetect(clip, clip_ref) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "f:\hybrid\64bit\vapoursynth\Lib\site-packages\vshavc\vsslib\vsscdect.py", line 159, in CopySCDetect return clip.std.CopyFrameProps(prop_src=sc, props=['_SceneChangePrev', '_SceneChangeNext', ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "vapoursynth.pyx", line 3559, in vapoursynth.Function.__call__ vapoursynth.Error: CopyFrameProps: argument prop_src is required

Cu Selur

Ps.: updated Hybrid_havc_test

You are using  DeepExMethod=3 ( = "external RF same as video") in this case it is necessary to provide ScFrameDir with the name of reference frame folder. 
I noted that in HAVC_cmnet2() is missing a check for this kind of error. I will add it in the next RC2.

I tested Hybrid 2026.09.19.1 and it is working.

Dan
Hello Selur

     I attached the new RC2 to this post.
     The main changes are:

    1) new optional proximity-weighted memory matching (this feature is managed by the configuration file located in vsslib/models.json)
    2) new weights folder structure:
          dinov3-vitb16.zip                                        -> unzip to vshavc\colormnet2\weights
          DINOv3FeatureV6_LocalAtten_p372402.pth   -> download to  vshavc\colormnet2\weights

The new folder structure is the following (dinov3-vitb16 has moved from "colormnet\weights" to "colormnet2\weights")  
Code:
├── colormnet\weights\ │   └── DINOv2FeatureV6_LocalAtten_s2_154000.pth   ColorMNet (CMNET1), CMNET2 with backbone="dinov2" ├── colormnet2\weights\ │   ├── DINOv3FeatureV6_LocalAtten_p372402.pth     CMNET2 with backbone="dinov3" (default) │   └── dinov3-vitb16\ │       ├── config.json │       └── model.safetensors

If there are no other issues, I will release the official version this weekend.

Dan
did a small test, no couldn't find a direct issue. (processing does work fine; both require adjustment when using test.avi)
Aside from the default changing from dinov2 to dinov3 nothing changed that needs to be adjusted in Hybrid, right?

Quote:I will release the official version this weekend.
I'll package a new torch for Vapoursynth R79 then.

Cu Selur
I confirm that, apart from the new folder structure (the dinov3 weights are now stored in colormnet2/weights/), there are no other changes for Hybrid (respect to version 2026.09.19.1).
Given that the new feature optional proximity-weighted memory matching is still under test (it works fine for me, but I haven't tested it on many clips) currently is disabled, to enable it is necessary to change the configuration file vsslib/models.json as shown below

Code:
{   "cmnet2": {     "dinov3": {       "checkpoint": "DINOv3FeatureV6_LocalAtten_p372402.pth",       "weights_root": "colormnet2",       "weights_dir": "dinov3-vitb16",       "enable_proximity_bias": true,       "proximity_bias_alpha": 0.7     },     "dinov2": {       "checkpoint": "DINOv2FeatureV6_LocalAtten_s2_154000.pth"     }   } }


Thanks,
Dan
Updated Hybrid_havc_test to use the new dinov3 default.
Will look at vsslib/models.json in the next days.

Cu Selur
Hello Selur,

   I released HAVC v5.8.7

   This version requires the latest DINOv3 model weights: DINOv3FeatureV6_LocalAtten_p374099.pth

Danilo
Will package and upload a new torch add-on and a new dev in a few hours; need to fix and finish some stuff before uploading a new dev.

Cu Selur