Skip to content

Mvtools2 2.7.49 with DePans

Latest

Choose a tag to compare

@pinterf pinterf released this 14 Nov 17:38

mvtools2 2.7.49 (20261114)

DePan 2.16 and DePanEstimate 2.13 are unchanged since 2.7.48, they are only recompiled and included in the archive.

Highlights

  • MSuper edgepad, edgepadV (#28): process the right / bottom pixels which are not covered by whole blocks. With an edge padding in the super clip MAnalyse and MRecalculate add one block column / row reaching beyond the frame edge; MDegrain1-6, MDegrainN, MCompensate, MBlockFps, MFlow, MFlowInter, MFlowFps, MFlowBlur, MMask, MSCDetection, MShow, MDepan and MScaleVect process these vectors. Without edgepad, and for frames covered by whole blocks, the results are unchanged.
  • MSuper: faster padding of the super planes.

Fixes

  • MAnalyse temporal=true did not work: on the finest level the temporal predictor was a zero vector (only a quarter of the previous frame's vector data was kept, since 2.6.0.5). Now the whole vector data is used. The vectors of the last 8 analysed frames are kept, so the predictor is found also when the frames are not requested in order (e.g. MDegrain6 with Prefetch).
  • MAnalyse mt=true (avstp): the output could differ from run to run (rarely, when many blocks are above badSAD). The bad block counter is now per slice.
  • MScaleVect crashed on vector clips made with divide>0 (modes 0 and 1); mode 2 stopped with "Internal error". Now it works and checks the level lengths and block counts before writing.
  • MShow: wrote outside the frame when the vector lines left it (scale>1 or vectors with larger padding than the super clip); number=(block count) read past the blocks, the number highlight had width and height swapped.
  • MDepan with a mask clip: the motion data could differ from run to run and depended on the frame request order; the neighbour check read outside the block arrays for the top and bottom block rows.
  • MFlowBlur: when the blocks do not cover the frame, the blur "halo" of a moving object was offset towards the bottom-right. The block grid is now extended by repeated edge vectors, as in MFlow, MFlowInter and MFlowFps.
  • MSuper: hpad, vpad not a multiple of the chroma subsampling (e.g. hpad=1 with 4:2:0) are rejected; the chroma padding was rounded down and a vector near the frame edge could read chroma outside the padded area.

Changes to note

  • The output of MAnalyse with temporal=true changes (the fix above).
  • Vector clips with different block counts are rejected in one filter ("block count is incorrect"), e.g. vectors from super clips with and without edgepad.
  • hpad, vpad of MSuper must be multiples of the chroma subsampling.

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

Download

mvtools-2.7.49-with-depans20261114.7z: mvtools2.dll, DePan.dll, DePanEstimate.dll for each 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)

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