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-29.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-29-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

vapoursynth_mvtools-29-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-29-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-29-py3-none-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_mvtools-29-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-29.tar.gz.

File metadata

  • Download URL: vapoursynth_mvtools-29.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-29.tar.gz
Algorithm Hash digest
SHA256 e174ee9f07bcc4058c572559572de5c44e3a847b08dd658520a9130a272c587e
MD5 ffe1a7ab6fcf207c28844ee262d606bd
BLAKE2b-256 d0e19a83c0b7fe2fa764bd9f309dba5f08e8849ffb87c09cf6cbefd410725fc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29.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-29-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d64d6525d88ce52572f93e04598083c7cff2a92bf6bc269168130fd7a5227746
MD5 ff47c743e604a287811ae6a5af56ee06
BLAKE2b-256 28f51697a4c7238f442a24982a3e5b7b4cbc54d411b40bf3f83b955ab0ed3cc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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-29-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7f650243431bb6c0d23c97ff1baeac0afb8ab67dfbc0f9dce2142a71ac1fe1f2
MD5 f88f416cacb90ed87772256463edf5df
BLAKE2b-256 d9260578ce91e278ce276a1cffce70c3034726e5a16cee016d86f40d392ac85f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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-29-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c0b0afe8a1c506c6bd1e1f7d2a25e79e1dec4bd41df67885662cd8152813726d
MD5 9dee9a9a39dd7c37800fd0ad3cfb5298
BLAKE2b-256 e290e2a9b6bb0aee75b668c731a969d9909c2bf3da9c0b1c39a3e03fe7a7c9c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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-29-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ceee185fe4a6fd4058612823bfb93c4c64e981d661248108de99a6560553bc2a
MD5 e69e3be927d3c2d56e051925b1c482f5
BLAKE2b-256 a17bfe16b0dd4d032387e39f951e642baf2da4d37086fba4acaf87283a0a257a

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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-29-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 402b9c431def570bae755d6e6dbd07537b219175fe17040305d056af3cb23f76
MD5 a0d19f07d116337db62e41e49cb4baa3
BLAKE2b-256 fd533913b49baa697443dfaf622a27a6dde72c9cb1c06649c5f65dbcf70b08e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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-29-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 31556aaa6ba5e86e286ef7977e0359b547db9ea327143dc587dfc787fd1b9135
MD5 c217499a788bd55de26e491c4faaee43
BLAKE2b-256 b0dd50d1d1e6d831fe92f48fcc2d10794c57252408ace91077ee84d8d7ae4de9

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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-29-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_mvtools-29-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c081fb4b367ebd44f2b56cf38e43ff146dd5f31ec31dacbf6cd8bf6560aa2478
MD5 1a24f7b96a4498c7a91104f7ba790748
BLAKE2b-256 784a96b5d75b693c0129535246b1626888695e3d335804d8a00e21e285e8ff18

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_mvtools-29-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