Skip to content

pinterf/mvtools

Repository files navigation

mvtools

Motion estimation and compensation plugin for Avisynth+ and Avisynth v2.6 family.
Supporting YUY2, 4:2:0, 4:2:2, 4:4:4 at native 8, 10, 12, 14 and 16 bit depths, 32bit float in selected filters.
Still supporting Windows XP. x86 and x64 versions From December 20, 2020: Linux port

File: mvtools2.dll

Credits:

  • Manao, Fizick, Tsp, TSchniede, SEt, Vit, Firesledge, cretindesalpes

Links

For more information see also documents folder.

Note: For a more experimental feature set (new parameters, use hw devices for motion estimation, but Windows only) have a look at DTL's fork: https://github.com/DTL2020/mvtools

External dependencies:

Others Modification base:

Source code:

Build Instructions

Note:

Windows MSVC builds are using external assembler source - if there exists.

Other builds are using internal SIMD code, governed by defines in def.h

Windows MSVC

  • Prerequisite: for asm compilation use nasm https://www.nasm.us/ Visual Studio integration: https://github.com/ShiftMediaProject/VSNASM/releases

    Compiler nasm.exe can appear in e.g. C:\Program Files\Microsoft Visual Studio\18\Community\VC\

    You can check the files nasm.targets, nasm.props and nasm.xml in e.g. C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Microsoft\VC\v170\BuildCustomizations\

    For XP compatible (v141_xp) build, copy them to the v150 BuildCustomizations folder as well: C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Microsoft\VC\v150\BuildCustomizations\

    Important for VS2026 + v141_xp: The VSNASM files released for VS2026 use task parameters (TrackFileAccess on GetOutOfDateItems, and AcceptableNonZeroExitCodes, StdOutEncoding, StdErrEncoding, UseMsbuildResourceManager on ParallelCustomBuild/CustomBuild) that are not supported by the older Microsoft.Build.CppTasks.Common.dll (v15.0) shipped with the v150 toolset folder. The v170 copy is fine as-is. In the v150 copy only, remove those attributes from nasm.targets:

    • In both <GetOutOfDateItems> calls: remove TrackFileAccess="$(TrackFileAccess)"
    • In <ParallelCustomBuild>: remove AcceptableNonZeroExitCodes, StdOutEncoding, StdErrEncoding, UseMsbuildResourceManager
    • In <CustomBuild>: remove AcceptableNonZeroExitCodes, StdOutEncoding, StdErrEncoding

    Some nasm versions (e.g. the one valid around 2022.Dec.) will throw a lot of warnings on x265 assembler files. Temporarily they are silenced with -w-macro-params-legacy parameter.

  • build from IDE

Windows Visual Studio + Intel C++ Compiler ICX and ICL

  • Prerequisite: Intel C++ compilers + Visual Studio integration
  • build from IDE

Windows GCC

(mingw installed by msys2) From the 'build' folder under project root:

del ..\CMakeCache.txt
cmake .. -G "MinGW Makefiles" -DENABLE_INTEL_SIMD:bool=on
@rem test: cmake .. -G "MinGW Makefiles" -DENABLE_INTEL_SIMD:bool=off
cmake --build . --config Release  

Linux build instructions

  • Clone repo

      git clone https://github.com/pinterf/mvtools
      cd mvtools
      cmake -B build -S .
      cmake --build build
    

    Useful hints:
    build after clean:

    cmake --build build --clean-first
    

    delete CMake cache

    rm build/CMakeCache.txt
    
  • Find binaries at

      build/mvtools/libmvtools2.so
      build/depan/libdepan.so
      build/depanestimate/libdepanestimate.so
    
  • Install binaries

      cd build
      sudo make install
    

About

mvtools plugin for avisynth

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors