Releases: dan64/vs-havc
Version 5.8.5
HAVC 5.8.5 — Release Notes
This release introduces HAVC_cmnet2dit(), a self-contained colorization filter that combines the CMNET2 propagation model with a DiT-based colorizer (Nunchaku/Qwen-IE quantized, accessed via RPC). Unlike HAVC_cmnet2(), this function does not require a pre-colored reference clip : scene-change frames are extracted from the B&W input itself, colorized by the DiT engine in pairs, and loaded into the CMNET2 permanent-memory window as colored anchors.
See the full documentation for details.
Version 5.8.1
Maintenance release.
CHANGES:
- Renamed package vsdeoldify to vshavc
Version 5.8.0
HAVC 5.8.0 — Release Notes
This release introduces CMNET2, a new exemplar-based video colorization model that becomes the default exemplar model in HAVC, plus a number of API cleanups and parameter changes.
Highlights
- 🚀 New CMNET2 model — exemplar-based video colorization with a three-tier memory architecture (perm/work/long), sliding permanent-memory window, adaptive VRAM management, GPU-accelerated LAB→RGB conversion and optional chroma transfer pipeline. Significantly improves color consistency and fidelity on long videos with many reference frames. CMNET2 is now the default exemplar model. See github.com/dan64/cmnet2 for the full technical documentation.
- 🆕 New
AutoandSlowerrender presets for exemplar models.Auto(the new default) automatically picks the optimal render size based on the input clip;Slowerfavours color accuracy over speed. - 📝 README restructured — the per-image CIEDE2000 comparison tables have been moved to
documentation/MODEL_COMPARISON.mdto keep the main README focused. Content is unchanged.
⚠️ Breaking Changes
Read this section carefully if you have existing VapourSynth scripts based on HAVC 5.6.x or earlier.
HAVC_cmnet2() now calls a different model
In HAVC 5.6.7 and earlier, HAVC_cmnet2() was a wrapper around the original ColorMNet model. Starting with 5.8.0, HAVC_cmnet2() calls the new CMNET2 model, which has a different architecture, different memory semantics and different output characteristics. The function signature has also changed: new parameters method, sc_framedir, ref_mode; clip_ref is now optional; the semantics of render_vivid is different (it now controls a +15% saturation boost instead of memory reset).
If you want to keep using the original ColorMNet behavior, use HAVC_cmnet1() (new in 5.8.0, see below).
DeepExModel values have been renumbered
| Value | 5.6.7 | 5.8.0 |
|---|---|---|
| 0 | ColorMNet (default) | CMNET2 (default) |
| 1 | Deep-Exemplar | Deep-Exemplar |
| 2 | Deep-Remaster | Deep-Remaster |
| 3 | Deep-CMnet (Deep-Exemplar + ColorMNet merge) | ColorMNet (was value 0 in 5.6.7) |
Default value when =0 changed accordingly (5000 instead of 10000 for EncMode=0; the new constant DEF_XRF_WINDOW_SIZE = 50 is used for CMNET2's sliding window).
Other Changes
- New parameter
high_resolutioninHAVC_deepex(): whenTrue, the inference runs at higher resolution (~2× slower, more accurate colors). HAVC_cmnet2()accepts a newref_modeparameter to choose between direct disk access to reference frames (0, fast) and VapourSynth clip access (1, slow). When direct disk access is used, ref-frame filters (colormap, dark, smooth) are skipped on the permanent-memory references.HAVC_main()simplified: removed the explicit dispatch onPresetforplacebo/veryslow; now always routes throughHAVC_main_presets().- DINOv2 weights (
DINOv2FeatureV6_LocalAtten_s2_154000.pth) are no longer required to be duplicated for CMNET2 — the file incolormnet/weightsis automatically reused. - Internal logging buffer (
colormnet*_logbuffer.py) added to capture diagnostic messages from the inference subprocess.
Migration Checklist
Before upgrading, audit your VapourSynth scripts for:
- Direct calls to
HAVC_cmnet2()— the model has changed; either accept the new behavior or migrate toHAVC_cmnet1()(legacy ColorMNet). -
DeepExModel=0— was ColorMNet, is now CMNET2. Most users will be happy with the change; if you specifically need ColorMNet, useDeepExModel=3. -
DeepExModel=3— was the "Deep-CMnet merge" composite, no longer exists. Switch toDeepExModel=0(CMNET2). -
DeepExEncMode=2— removed. UseDeepExEncMode=0. -
HAVC_DeepRemaster(..., mode=...)— rename toref_mode. -
HAVC_restore_video(..., encode_first=...)— remove the argument. - Hard-coded
DeepExMaxMemFramesvalues in the old (large) range — review against the new suggested ranges, especially if running on smaller GPUs.
Installation
Standard wheel install:
pip install vsdeoldify-5.8.0-py3-none-any.whlCMNET2 reuses the same DINOv2FeatureV6_LocalAtten_s2_154000.pth weights file as ColorMNet — no additional download required if ColorMNet is already set up. See the updated README for the full installation and models-download procedure.
This release includes a modified version of DDColor that includes the new DDColorEngine class for coloring individual images. This release can be installed with the command::
pip install vsddcolor-1.0.2-py3-none-any.whlDocumentation
- Main README: README.md
- Detailed model comparison and CIEDE2000 results: documentation/MODEL_COMPARISON.md
- HAVC User Guide: documentation/HAVC User Guide.pdf
- Standalone CMNET2 project: github.com/dan64/cmnet2
Version 5.6.7
Maintenance release.
CHANGES:
- Improved connection error handling in ColorMNet
- Improved extraction of reference images
- Added new API HAVC_SceneDetectEdges() with improved scene detection algorithm
- Extended API HAVC_extract_reference_frames() with 3 new algorithms:
1: Advanced detection on the edges (best for smooth transitions),
2: Scene detection using SCXvid plugin,
3: Scene detection using MVTools - Added management of new "_Range" property (ver. R74) since "_ColorRange" property was deprecated.
Version 5.6.5
Maintenance release.
CHANGES:
- DeOldify models "Artistic" and "Stable" are merged at 50% with model "Video", to stabilize them.
- Constrained-Chroma now will retain about 30% more of DDColor model colors, reduced the red-fix adjustment on luma < 0.2
- automatic loading of Akarin plugin when is needed
- HAVC_read_video() get 3 new parameters: width, height, return_rgb
- changed the render_factor assignment logic, the max RF assigned is 32 (512x512)
- added support to the model combination: "Artistic+Artistic"
- reworked the ScaleAbs_LUT implementation in B&W Tune
- added tiles management. Is supported the slicing in: 2 horizontal tiles, 2x2 overlapping tiles
- added new APIs: HAVC_clip_slice(), HAVC_clip_reconstruct(), HAVC_clip_overlay()
- preset "Placebo" implements HD coloring (** experimental **) by slicing the input frame in 2x2 overlapping tiles
- preset "VerySlow" implements special support for old video with wrong luminance (** experimental **)
- changed the behavior of FrameInterp, till 4 is used Deep-Exemplar for interpolation, above 4 is used ColorMNet
- Added new APIs supporting the new functionalities
- Updated the User Guide with the description of the new functionalities
BUG Fixed:
- HAVC_stabilizer() now is applied only when the clip is fully colored
- when a clip is resized internally, the scene-detection properties are properly propagated
Version 5.6.2
Maintenance release.
Fixed bug in HAVC_deepex() when method in (3, 4) and clip_ref is None
Version 5.6.1
Maintenance release.
- Fixed a bug that disabled DDColor tweaks under certain conditions
- Updated HAVC User Guide with a new chapter on Improving encoding speed for high-powered GPUs
Version 5.6.0
This release introduce significant improvements and new functionalities.
The main changes introduced are:
- Added automatic management of Retinex filter and LUTs
- Added new parameter in HAVC_main: ColorTemp, which allows to stabilize the output colors
- Added 2 new merging methods: Chroma-Retention, ChromaBound Adaptive
- Added new APIs supporting the new functionalities
- Updated the User Guide with the description of the new functionalities and more examples
Version 5.5.1
Maintenance release.
Added:
- new API function: HAVC_rgb_denoise
- updated HAVC to use this filter (see chapters 4.0.1, 6.16)
- updated the user guide
Version 5.5.0
This release introduce significant improvements and new functionalities.
The main changes introduced are:
- Added new post-process filter: B&W Tune, which can automatically correct most color allocation errors
- Added new parameter in HAVC_main: FrameInterp, which allows to speed-up the coloring process by about 15%-50%
- Added new APIs supporting the new functionalities
- Updated the User Guide with the description of the new functionalities and more examples