Skip to content

Version 5.8.0

Choose a tag to compare

@dan64 dan64 released this 09 May 12:07
· 5 commits to main since this release

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 Auto and Slower render presets for exemplar models. Auto (the new default) automatically picks the optimal render size based on the input clip; Slower favours color accuracy over speed.
  • 📝 README restructured — the per-image CIEDE2000 comparison tables have been moved to documentation/MODEL_COMPARISON.md to 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_resolution in HAVC_deepex(): when True, the inference runs at higher resolution (~2× slower, more accurate colors).
  • HAVC_cmnet2() accepts a new ref_mode parameter 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 on Preset for placebo / veryslow; now always routes through HAVC_main_presets().
  • DINOv2 weights (DINOv2FeatureV6_LocalAtten_s2_154000.pth) are no longer required to be duplicated for CMNET2 — the file in colormnet/weights is 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 to HAVC_cmnet1() (legacy ColorMNet).
  • DeepExModel=0 — was ColorMNet, is now CMNET2. Most users will be happy with the change; if you specifically need ColorMNet, use DeepExModel=3.
  • DeepExModel=3 — was the "Deep-CMnet merge" composite, no longer exists. Switch to DeepExModel=0 (CMNET2).
  • DeepExEncMode=2 — removed. Use DeepExEncMode=0.
  • HAVC_DeepRemaster(..., mode=...) — rename to ref_mode.
  • HAVC_restore_video(..., encode_first=...) — remove the argument.
  • Hard-coded DeepExMaxMemFrames values 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.whl

CMNET2 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.whl

Documentation