github pinterf/mvtools 2.7.48
Mvtools2 2.7.48 with DePans

2 hours ago

MvTools2 2.7.48 (20261029) - ARM64, new formats, AVX2, many fixes

(probably the last update)

Motion estimation and compensation for AviSynth+ and AviSynth 2.6, with DePan and DePanEstimate. New in this release: Windows on ARM64 and Linux aarch64 builds, and all AviSynth+ V13 formats.

MvTools2 2.7.48, DePan 2.16, DePanEstimate 2.13 (20261029) - pinterf

Highlights

  • ARM64: Windows on ARM64 and Linux aarch64 builds, with NEON code for the hot paths (SAD, SATD, DCT, MSuper, overlaps, MDegrain), bit-identical to the C path.
  • New formats: the AviSynth+ V13 formats YUV(A) 4:1:0, 4:1:1, 4:4:0 and Y with alpha (YA), all bit depths. Clips with alpha (YUVA, YA, planar RGBA) are accepted; the alpha is copied from the source.
  • DePan alpha borders: DePan, DePanInterleave and DePanStabilize mark the new empty borders in the alpha plane (#67, #43); alphainvert swaps the values.
  • New parameters: MAnalyse search_coarse (from the SVP fork, #68) and trymanyall.
  • Block sizes: every block size works with subsampled chroma when it is a multiple of the subsampling (e.g. 16x12 in 4:2:0, 4x4 in 4:1:1); 39 missing chroma block functions were added. Unsuitable sizes give a clear error instead of a crash or a missing function.
  • Faster on x86: AVX2 for MSuper sharp=1/2 interpolation (up to 1.5x) and the 10-16 bit SATD of dct=5..10 (MAnalyse about 1.3x).
  • SSE2 is enough: the ClangCL, MSVC_XP, GCC and Linux builds need only SSE2; SSE4.1, AVX and AVX2 are chosen at runtime.

Fixes

  • 32 bit float: garbage (black) output with overlap in MDegrain1-6, MDegrainN, MCompensate, MBlockFps (#69, #51), regression since 2.7.45; MDegrain1-6 limitC had no effect.
  • Chroma shift (#59): motion compensated chroma of 4:2:0, 4:2:2, 4:1:1 clips was shifted up/left.
  • Overlap level error: the overlap window weights summed to 2047..2049 instead of 2048, so with overlap 8 or more a flat area was off by up to 1/2048 (16 bit: 30000 became 29985..30015): a faint static grid on bright, smooth 12-16 bit areas (MDegrain, MCompensate, MBlockFps).
  • Crashes: blksize 6x24 and 12x3 (MAnalyse); MDegrain1-6 out16=true with block width 12; YUY2 planar=true with limit; the C path vector upsizer of the MFlow family; MShow, MDepan text at 10-16 bits.
  • Wrong results: MCompensate ignored cclip; MFlowBlur chroma padding with hpad != vpad; greyscale (Y) MDegrain overwrote part of the luma; MSuper with odd chroma size used uninitialized memory; 8 bit SAD of block widths 6, 12 and 24 in the GCC/Linux builds; 16 bit MSuper rfilter=0 on CPUs without SSE4.1; several C path differences from SIMD (DCT, SATD, luma sums).
  • DePan / DePanEstimate: DePanStabilize on YUY2 (garbage), addzoom=true (no stabilization), unfilled borders with prev/next; DePanScenes marked only part of the planes; bicubic shift weights (level error from 10 bits); inputlog without a data clip; DePanEstimate frame 0 trust, zoommax window past the frame edge.

Changes to note

  • Chroma output (and vectors with chroma=true) of subsampled clips changes slightly (#59 fix); vectors of clips with an odd chroma width or height change.
  • MDegrain1-6: the experimental out32 parameter is removed (scripts passing it get an error).
  • MAnalyse, MRecalculate dct=5..10 (SATD) need a block width and height divisible by 4 (the SATD part was silently 0 for other sizes).
  • lsb=true is an error for clips with alpha and for YUY2; DePan, DePanEstimate reject 32 bit float.
  • YUY2 is converted to YV16 internally, the super clip of a YUY2 source is YV16.

Full change list: CHANGELOG.md, DePan/DePanEstimate: README_depans.txt. Documentation is in the archive.

Download

mvtools-2.7.48-with-depans20261029.7z: mvtools2.dll, DePan.dll, DePanEstimate.dll for each build.

Folder For Build
x64\ClangCL, Win32\ClangCL Windows x64 / x86 LLVM clang-cl, Visual Studio 2026
x64\MSVC_XP, Win32\MSVC_XP Windows x64 / x86, also Windows XP Visual C++ v141_xp
ARM64\llvm-mingw Windows on ARM64 llvm-mingw, NEON

When in doubt, use ClangCL. On Windows XP use MSVC_XP.

Installation

  • AviSynth+: copy the three DLLs of your build into the plugins folder of the matching bitness, or load them with LoadPlugin.
  • AviSynth 2.6: load them with LoadPlugin.

Requirements

  • The Visual Studio builds (ClangCL, MSVC_XP) need the Microsoft Visual C++ Redistributable; the ARM64 build has the C++ runtime linked statically.
  • The DCT modes (dct=1..4) and DePanEstimate need the fftw3 single precision library: libfftw3f-3.dll (or fftw3.dll); ARM64 needs an ARM64 build of it.
  • The MSVC_XP build contains the AVX2 code too, Windows XP itself does not allow AVX: there it runs the SSE2..SSE4.1 code.

Developed with AI assistance: most of the work was done with Claude.

Don't miss a new mvtools release

NewReleases is sending notifications on new releases.