Skip to main content

VapourSynth-MLRT-OV

This package contains the OpenVINO backend implementation of the vs-mlrt plugin.

Installation

pip install vapoursynth-mlrt-ov

Building from source

Requirements

  • C++ Compiler: C++20 compatible (e.g. MSVC 2019+, GCC, Clang)
  • Build Tools: uv, CMake, Ninja
  • Dependencies (must be built/installed before the plugin):
    • OpenVINO SDK (built from source in CI — includes OpenVINO Runtime, TBB, and plugins)
    • ONNX (built from source, version matched to OpenVINO's pinned submodule at openvino/thirdparty/onnx/onnx)
    • Protobuf (used by both ONNX and the plugin; CI uses OpenVINO's bundled Protobuf with use-external-protobuf: true)
  • CMake Options:
    • WIN32_SHARED_OPENVINO (defaults to ON in pyproject.toml): When enabled, copies OpenVINO Runtime and dependency DLLs (tbb12.dll, plugins, etc.) into the wheel.

Compilation

  1. Initialize the submodule:

    git submodule update --init --recursive vsmlrt/ov/vs-mlrt
    
  2. Build OpenVINO from source (or install a pre-built SDK), then build ONNX from source using the version pinned by OpenVINO (openvino/thirdparty/onnx/onnx). Both must be discoverable by CMake (via CMAKE_PREFIX_PATH or installed system-wide).

  3. Build the wheel:

    uv build --package vapoursynth-mlrt-ov
    

Detailed parameter information from the parent project follows.


VapourSynth OpenVINO

The vs-openvino plugin provides optimized pure CPU runtime for some popular AI filters.

Building and Installation

To build, you will need OpenVINO and its dependencies. Only Model Optimizer and Inference Engine are required.

You can download official Intel releases:

Or, you can use our prebuilt Windows binary releases from AmusementClub, our release has the benefit of static linking support.

Sample cmake commands to build:

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
	-D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
	-D InferenceEngine_DIR=openvino/runtime/cmake
	-D VAPOURSYNTH_INCLUDE_DIRECTORY="path/to/vapoursynth/include"
cmake --build build
cmake --install build --prefix install

You should find vsov.dll (or libvsov.so) under install/bin. You will also need Intel TBB (you can get tbb.dll from OpenVINO release). On windows, tbb.dll must be placed under vapoursynth/plugins/vsov/ directory for vsov.dll to find.

Usage

Prototype: core.ov.Model(clip[] clips, string network_path[, int[] overlap = None, int[] tilesize = None, string device = "CPU", bint fp16 = False, function config = None, bint path_is_serialization = False])

Arguments:

  • clip[] clips: the input clips, only 32-bit floating point RGB or GRAY clips are supported. For model specific input requirements, please consult our wiki.
  • string network_path: the path to the network in ONNX format.
  • int[] overlap: some networks (e.g. CNN) support arbitrary input shape where other networks might only support fixed input shape and the input clip must be processed in tiles. The overlap argument specifies the overlapping (horizontal and vertical, or both, in pixels) between adjacent tiles to minimize boundary issues. Please refer to network specific docs on the recommended overlapping size.
  • int[] tilesize: Even for CNN where arbitrary input sizes could be supported, sometimes the network does not work well for the entire range of input dimensions, and you have to limit the size of each tile. This parameter specify the tile size (horizontal and vertical, or both, including the overlapping). Please refer to network specific docs on the recommended tile size.
  • string device: Specifies the device to run the inference on. Currently "CPU" and "GPU" are supported. "GPU" requires Intel graphics (Broadwell+ processors with Gen8+ integrated GPUs or Xe discrete GPUs) with compatible graphics driver and compute runtime.
  • bint fp16: whether to quantize model to fp16 for faster and memory efficient computation.
  • function config: plugin configuration parameters. It must be a callable object (e.g. a function) with no positional arguments, and returns the configuration parameter in a dictionary dict. The dictionary must use string str for its key and int, float or str for its values. Supported parameters: CPU, GPU (the prefix KEY_ has to be removed). Example: config = lambda: dict(CPU_THROUGHPUT_STREAMS=2)
  • bint path_is_serialization: whether the network_path argument specifies an onnx serialization of type bytes.

When overlap and tilesize are not specified, the filter will internally try to resize the network to fit the input clips. This might not always work (for example, the network might require the width to be divisible by 8), and the filter will error out in this case.

The general rule is to either:

  1. left out overlap, tilesize at all and just process the input frame in one tile, or
  2. set all three so that the frame is processed in tilesize[0] x tilesize[1] tiles, and adjacent tiles will have an overlap of overlap[0] x overlap[1] pixels on each direction. The overlapped region will be throw out so that only internal output pixels are used.

Metadata

Release files for vapoursynth-mlrt-ov 17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vapoursynth-mlrt-ov 17.0
File Size Uploaded
vapoursynth_mlrt_ov-17.0.tar.gz 104.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for vapoursynth-mlrt-ov 17.0
File
vapoursynth_mlrt_ov-17.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
vapoursynth_mlrt_ov-17.0-py3-none-manylinux_2_35_aarch64.whl Python 3 none Linux glibc 2.35+ ARM64 Details
vapoursynth_mlrt_ov-17.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
vapoursynth_mlrt_ov-17.0-py3-none-macosx_15_0_x86_64.whl Python 3 none macOS 15.0+ x86-64 Details
vapoursynth_mlrt_ov-17.0-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details

Total release size: 195.1 MB

Release files / vapoursynth_mlrt_ov-17.0.tar.gz

Download URL vapoursynth_mlrt_ov-17.0.tar.gz
Size 104.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dd72247b80b42ad9fda3388b5e6b02f8c4f1c1f4fb40b3ffcdc901d5043ccf27
BLAKE2b-256 checksum
How to use checksums
105b5514245700002632b1c4ea8c23330518a6dc2426b1c63d3abd784a9273f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / vapoursynth_mlrt_ov-17.0-py3-none-win_amd64.whl

Download URL vapoursynth_mlrt_ov-17.0-py3-none-win_amd64.whl
Size 69.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
abd0efba5ce0febb1a7d3b20d5003876c5963792c59d1f1ac87619d8325ba58f
BLAKE2b-256 checksum
How to use checksums
3824475bdf5d03907ea35670fe538f695d0b343587d5516caee5702a9b23d6ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / vapoursynth_mlrt_ov-17.0-py3-none-manylinux_2_35_aarch64.whl

Download URL vapoursynth_mlrt_ov-17.0-py3-none-manylinux_2_35_aarch64.whl
Size 21.6 MB
Tags Linux glibc 2.35+ ARM64 Python 3
SHA-256 checksum
How to use checksums
aa04fb0d51ee279e5af8d429a3c4485f2f627f4dec41896161643d9acb204da1
BLAKE2b-256 checksum
How to use checksums
f124ae7c8252b08e7807ef3e4da6fcab722aa607174a30daddc2b79b16e9d350
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / vapoursynth_mlrt_ov-17.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL vapoursynth_mlrt_ov-17.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 49.1 MB
Tags Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
7b3041abd1de06aeed49d0ece7e1e688b9c3ef2df3667b58f76b150b3466561c
BLAKE2b-256 checksum
How to use checksums
380ca2666eaf78e10cf97d6a0707ba87e8d1a78044f3f31f88788836dfc6c87f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / vapoursynth_mlrt_ov-17.0-py3-none-macosx_15_0_x86_64.whl

Download URL vapoursynth_mlrt_ov-17.0-py3-none-macosx_15_0_x86_64.whl
Size 31.4 MB
Tags Python 3 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
a67bce279ad1491c48d8d433ca99cdcbda24790b1b4cd50a8a755535df255af6
BLAKE2b-256 checksum
How to use checksums
0d170a82f844db2c9ee5d7649e5be806b2f5f3fd9e4221be5f281a36452e02d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release files / vapoursynth_mlrt_ov-17.0-py3-none-macosx_14_0_arm64.whl

Download URL vapoursynth_mlrt_ov-17.0-py3-none-macosx_14_0_arm64.whl
Size 23.5 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
97443603b3b2621ef85432d05ffddd373c1642cd39f2f474538d269faf27ae63
BLAKE2b-256 checksum
How to use checksums
f8bde478f54bf725b4b645be787a59aa7b8a5541f2615ece1cfba5aecbd08af4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

17.0 This release

6 release files

16.1

6 release files

16.0

6 release files

15.16

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page