Skip to content

Releases: dan64/vs-havc

Version 5.8.5

03 Jun 16:41

Choose a tag to compare

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

28 May 09:36

Choose a tag to compare

Maintenance release.

CHANGES:

  • Renamed package vsdeoldify to vshavc

Version 5.8.0

09 May 12:07

Choose a tag to compare

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

Version 5.6.7

06 Apr 14:09

Choose a tag to compare

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

28 Dec 08:56

Choose a tag to compare

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

11 Nov 21:46

Choose a tag to compare

Maintenance release.

Fixed bug in HAVC_deepex() when method in (3, 4) and clip_ref is None

Version 5.6.1

26 Oct 08:47

Choose a tag to compare

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

23 Oct 15:22

Choose a tag to compare

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

24 Sep 15:14

Choose a tag to compare

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

17 Sep 11:46

Choose a tag to compare

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