Skip to main content

Motion estimation and denoising filter for VapourSynth

Project description

Description

MVTools is a set of filters for motion estimation and compensation.

This is a port of version 2.5.11.20 of the Avisynth plugin.

Some changes from version 2.5.11.9 of the SVP fork have been incorporated as well (http://www.svp-team.com/wiki/Download).

The filter DepanEstimate was ported from the Avisynth plugin DepanEstimate, version 1.10.

The filters DepanCompensate and DepanStabilise were ported from the Avisynth plugin Depan, version 1.13.1.

Note that some functions such as MVShow are missing. Replacements for this functionality can be found in https://pypi.org/project/vapoursynth-manipmv/ and will therefore never be implemented in this plugin.

Differences

  • All:
    • Free multithreading, courtesy of VapourSynth.

    • Parameters are all lowercase now.

    • YUY2 is not supported.

    • Grayscale, 4:2:0, 4:2:2, 4:4:0, and 4:4:4 are supported, except for DepanCompensate and DepanStabilise, which don’t support 4:4:0.

    • Up to 16 bits per sample are supported.

    • The audio is definitely not killed.

    • No “planar” parameter.

    • “isse” parameter renamed to “opt”.

  • Analyse:
    • No “temporal” parameter, as it’s sort of incompatible with multithreading.

    • No “outfile” parameter.

    • No “sadx264” parameter. If opt is True, the best functions imported from x264 will be selected automatically. Otherwise, only C functions will be used.

    • New parameters “fields” and “tff”.

    • The optimised SAD, SATD, and SSD functions from x264 have been updated to the latest versions (as of September 2014).

    • Block sizes of 64x32, 64x64, 128x64, and 128x128 are supported.

    • The “dct” parameter can be 5..10 even with blocks larger than 16x16.

  • Recalculate:
    • Same as Analyse.

  • Compensate:
    • No “recursion” parameter. It was dodgy.

    • New parameter “tff”.

  • Flow
    • New parameter “tff”.

  • SCDetection:
    • No “ysc” parameter. The input frames are returned unchanged, with the _SceneChangePrev or _SceneChangeNext property attached.

    • No “isse” parameter. It wasn’t used.

  • DepanAnalyse:
    • Formerly “MDepan”.

    • New parameters “fields” and “tff”.

    • No “log”, “range”, “isse” parameters.

  • DepanEstimate:
    • New parameters “fields” and “tff”.

    • No “range”, “log”, “debug”, “extlog” parameters.

  • DepanCompensate:
    • Formerly “DePan”.

    • No “inputlog” parameter.

  • DepanStabilise:
    • Formerly “DePanStabilize”.

    • No “inputlog” parameter.

    • Methods -1 and 2 unavailable.

Usage

mv.Super(clip clip[, int hpad=16, int vpad=16, int pel=2, int levels=0, bint chroma=True, int sharp=2, int rfilter=2, clip pelclip=None, bint opt=True])

mv.Analyse(clip super[, int blksize=8, int blksizev=blksize, int levels=0, int search=4, int searchparam=2, int pelsearch=0, bint isb=False, int lambda, bint chroma=True, int delta=1, bint truemotion=True, int lsad, int plevel, int global, int pnew, int pzero=pnew, int pglobal=0, int overlap=0, int overlapv=overlap, bint divide=False, int badsad=10000, int badrange=24, bint opt=True, bint meander=True, bint trymany=False, bint fields=False, bint tff, int search_coarse=3, int dct=0])

mv.Recalculate(clip super, clip vectors[, int blksize=8, int blksizev=blksize, int search=4, int searchparam=2, int lambda, bint chroma=True, bint truemotion=True, int pnew, int overlap=0, int overlapv=overlap, bint divide=False, bint opt=True, bint meander=True, bint fields=False, bint tff, int dct=0])

mv.Compensate(clip clip, clip super, clip vectors[, int scbehavior=1, int thsad=10000, bint fields=False, float time=100.0, int thscd1=400, int thscd2=130, bint opt=True, bint tff])

mv.Degrain1(clip clip, clip super, clip mvbw, clip mvfw[, int thsad=400, int thsadc=thsad, int plane=4, int limit=255, int limitc=limit, int thscd1=400, int thscd2=130, bint opt=True])

mv.Degrain2(clip clip, clip super, clip mvbw, clip mvfw, clip mvbw2, clip mvfw2[, int thsad=400, int thsadc=thsad, int plane=4, int limit=255, int limitc=limit, int thscd1=400, int thscd2=130, bint opt=True])

mv.Degrain3(clip clip, clip super, clip mvbw, clip mvfw, clip mvbw2, clip mvfw2, clip mvbw3, clip mvfw3[, int thsad=400, int thsadc=thsad, int plane=4, int limit=255, int limitc=limit, int thscd1=400, int thscd2=130, bint opt=True])

mv.Mask(clip clip, clip vectors[, float ml=100.0, float gamma=1.0, int kind=0, float time=100.0, int ysc=0, int thscd1=400, int thscd2=130, bint opt=True])

mv.Finest(clip super[, bint opt=True])

mv.Flow(clip clip, clip super, clip vectors[, float time=100.0, int mode=0, bint fields=False, int thscd1=400, int thscd2=130, bint opt=True, bint tff])

mv.FlowBlur(clip clip, clip super, clip mvbw, clip mvfw[, float blur=50.0, int prec=1, int thscd1=400, int thscd2=130, bint opt=True])

mv.FlowInter(clip clip, clip super, clip mvbw, clip mvfw[, float time=50.0, float ml=100.0, bint blend=True, int thscd1=400, int thscd2=130, bint opt=True])

mv.FlowFPS(clip clip, clip super, clip mvbw, clip mvfw[, int num=25, int den=1, int mask=2, float ml=100.0, bint blend=True, int thscd1=400, int thscd2=130, bint opt=True])

mv.BlockFPS(clip clip, clip super, clip mvbw, clip mvfw[, int num=25, int den=1, int mode=3, float ml=100.0, bint blend=True, int thscd1=400, int thscd2=130, bint opt=True])

mv.SCDetection(clip clip, clip vectors[, int thscd1=400, int thscd2=130])

mv.DepanAnalyse(clip clip, clip vectors[, clip mask, bint zoom=True, bint rot=True, float pixaspect=1.0, float error=15.0, bint info=False, float wrong=10.0, float zerow=0.05, int thscd1=400, int thscd2=130, bint fields=False, bint tff])

mv.DepanEstimate(clip clip[, float trust=4.0, int winx=0, int winy=0, int wleft=-1, int wtop=-1, int dxmax=-1, int dymax=-1, float zoommax=1.0, float stab=1.0, float pixaspect=1.0, bint info=False, bint show=False, bint fields=False, bint tff])

mv.DepanCompensate(clip clip, clip data[, float offset=0.0, int subpixel=2, float pixaspect=1.0, bint matchfields=True, int mirror=0, int blur=0, bint info=False, bint fields=False, bint tff])

mv.DepanStabilise(clip clip, clip data[, float cutoff=1.0, float damping=0.9, float initzoom=1.0, bint addzoom=False, int prev=0, int next=0, int mirror=0, int blur=0, float dxmax=60.0, float dymax=30.0, float zoommax=1.05, float rotmax=1.0, int subpixel=2, float pixaspect=1.0, int fitlast=0, float tzoom=3.0, bint info=False, int method=0, bint fields=False])

If fields is True, it is assumed that the clip named clip first went through std.SeparateFields.

For information about the other parameters, consult the Avisynth plugins’ documentation at http://avisynth.org.ru/mvtools/mvtools2.html or http://www.avisynth.nl/users/fizick/depan/depan.html. This will not be necessary in the future.

Compilation

FFTW3 configured for 32 bit floats is required (“fftw3f”).

meson setup build
ninja -C build

License

GPL 2, like the Avisynth plugins.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vapoursynth_mvtools-28.tar.gz (288.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vapoursynth_mvtools-28-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

vapoursynth_mvtools-28-py3-none-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

vapoursynth_mvtools-28-py3-none-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

vapoursynth_mvtools-28-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vapoursynth_mvtools-28-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

vapoursynth_mvtools-28-py3-none-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_mvtools-28-py3-none-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded Python 3macOS 15.0+ ARM64

File details

Details for the file vapoursynth_mvtools-28.tar.gz.

File metadata

  • Download URL: vapoursynth_mvtools-28.tar.gz
  • Upload date:
  • Size: 288.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vapoursynth_mvtools-28.tar.gz
Algorithm Hash digest
SHA256 c1bc67998b31418f604fa969c2e71ced490704bce6a9018b85de400247ac51ff
MD5 dd2dde206408e63b66c70d6b97057127
BLAKE2b-256 4f59fbdd835dce6358c6f173b42d9fdbc2ab44ed2ae7f5801ef13074e17ce31f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28.tar.gz:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ade8081dae2a1611b329a46911577d0e23004a332261893387f6b0bef3f08b0c
MD5 b2c300fa808700389c1a8a420fffde40
BLAKE2b-256 1476b975640d3b57d5ba6243d8135a0ae0b03d490a145caf4da8851f4a09b68f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-win_amd64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 41e64d4f14b4c4d00d03c8f453373ee7f4299e110d8491840ab124bbf246a246
MD5 b2461587d61e4546e01d406d991552a6
BLAKE2b-256 6826822bace0f944b2ecc304f9d57642f94f256220b862e0bbc6ad7c40fbfe0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-musllinux_1_2_x86_64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f4278c6d61dc88db666c2707a3f2e92fed3f527a32ca316e5a8692d8fdadd043
MD5 36d07adcaa362509c180304adc47ab64
BLAKE2b-256 406b0387c660ed8c5155bcf639c08895429ee567e42682eea1db0ae7d2fe05d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-musllinux_1_2_aarch64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c47eb152443d98f8bd78953c5aef92681757b56713ff1620ac8a6b1963cc5ca8
MD5 8041a1dd151e8d35e9a9eb45665360d3
BLAKE2b-256 82be0bb8df3aa2191989fa874f3f9b00cb88102b7d8fb68808bf833d69fd4dea

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ba9c01f66a75986741054ad398c0ca47a4b354ca8922c93b352ffa799a1c5ec5
MD5 90c69e7ed93a9958253a07decd458ce8
BLAKE2b-256 b724a595b9dc3acc2d5af01864d634a04dbb9bc60179cf106fd631359ab3e3e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 3e880104a15e204aa7c4c1c20261d0fa997a126ad1f0623ffd8c1a3e8d663edd
MD5 cdb046ff8a7a87e6ac45a2c7f3bc51bc
BLAKE2b-256 e94f53f669927c55a79f1f9abd63f42a6345fbff1f910d5d1fbd6e68723bbd41

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-macosx_15_0_x86_64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_mvtools-28-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-28-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e26c1071cc622f2e5e527c4fb5d8ab54cfecea52e7a702975f9f04fb09efe9f4
MD5 c018d6455b8e6fd324738a032d95061b
BLAKE2b-256 4849bcf4cab92c31a6c8585e80b9a298e001df0a2c38d46a5fbf607564bb2add

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-28-py3-none-macosx_15_0_arm64.whl:

Publisher: build.yml on dubhatervapoursynth/vapoursynth-mvtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page