github pinterf/mvtools 2.7.49
Mvtools2 2.7.49 with DePans

27 minutes ago

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.

Don't miss a new mvtools release

NewReleases is sending notifications on new releases.