OpenVINO-based inference plugin for VapourSynth
Project description
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)
- Dependencies:
OpenVINOSDK (including OpenVINO Runtime & TBB)ONNXProtobuf
- CMake Options:
WIN32_SHARED_OPENVINO(defaults toON): Build for Windows with a shared OpenVINO dynamic library. If enabled, copies OpenVINO Runtime and dependency DLLs (tbb12.dll, etc.) to the installation folder.
Compilation
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 builtin = 0, string builtindir="models", 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. Theoverlapargument 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 builtin: whether to load the model from the VS plugins directory, see alsobuiltindir.string builtindir: the model directory under VS plugins directory for builtin models, default "models".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 dictionarydict. The dictionary must use stringstrfor its key andint,floatorstrfor its values. Supported parameters: CPU, GPU (the prefixKEY_has to be removed). Example:config = lambda: dict(CPU_THROUGHPUT_STREAMS=2)bint path_is_serialization: whether thenetwork_pathargument specifies an onnx serialization of typebytes.
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:
- left out
overlap,tilesizeat all and just process the input frame in one tile, or - set all three so that the frame is processed in
tilesize[0]xtilesize[1]tiles, and adjacent tiles will have an overlap ofoverlap[0]xoverlap[1]pixels on each direction. The overlapped region will be throw out so that only internal output pixels are used.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vapoursynth_mlrt_ov-15.16.tar.gz.
File metadata
- Download URL: vapoursynth_mlrt_ov-15.16.tar.gz
- Upload date:
- Size: 674.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69f4ec70c43a931db0b6480cc907cb4cd19b4d9d137c8900ef24577b351a05f9
|
|
| MD5 |
cef3f6eb517930b1d6e3d963c6ace6e4
|
|
| BLAKE2b-256 |
bf7654365086ac45da69f9b82355fef79a68b48229505d6a32b2192e0b419c87
|
Provenance
The following attestation bundles were made for vapoursynth_mlrt_ov-15.16.tar.gz:
Publisher:
cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_mlrt_ov-15.16.tar.gz -
Subject digest:
69f4ec70c43a931db0b6480cc907cb4cd19b4d9d137c8900ef24577b351a05f9 - Sigstore transparency entry: 1733773921
- Sigstore integration time:
-
Permalink:
Jaded-Encoding-Thaumaturgy/vs-wheels@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Jaded-Encoding-Thaumaturgy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-publish.yml@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vapoursynth_mlrt_ov-15.16-py3-none-win_amd64.whl.
File metadata
- Download URL: vapoursynth_mlrt_ov-15.16-py3-none-win_amd64.whl
- Upload date:
- Size: 69.9 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
776d9a3f635cd605abe528039074e86809e8f4a596b46b926540d0ebb8eae68e
|
|
| MD5 |
bd55f104e78e027d8efb89c93d271919
|
|
| BLAKE2b-256 |
f9bd00526ab245d844d8c8371d35b04fb8d668c495d086776be258432857d078
|
Provenance
The following attestation bundles were made for vapoursynth_mlrt_ov-15.16-py3-none-win_amd64.whl:
Publisher:
cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_mlrt_ov-15.16-py3-none-win_amd64.whl -
Subject digest:
776d9a3f635cd605abe528039074e86809e8f4a596b46b926540d0ebb8eae68e - Sigstore transparency entry: 1733774610
- Sigstore integration time:
-
Permalink:
Jaded-Encoding-Thaumaturgy/vs-wheels@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Jaded-Encoding-Thaumaturgy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-publish.yml@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl.
File metadata
- Download URL: vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl
- Upload date:
- Size: 21.2 MB
- Tags: Python 3, manylinux: glibc 2.35+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
691e78cb434b89c9a263283143e0d7c06a36fa047d8b58c772a3c9700f2a9b22
|
|
| MD5 |
18d27ac4ec793d353e7a5d745bb8a168
|
|
| BLAKE2b-256 |
bd281633c5f7cb00d59ee74778af96c8019ff5dcb4b378119ee5421c4ad4c575
|
Provenance
The following attestation bundles were made for vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl:
Publisher:
cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl -
Subject digest:
691e78cb434b89c9a263283143e0d7c06a36fa047d8b58c772a3c9700f2a9b22 - Sigstore transparency entry: 1733774349
- Sigstore integration time:
-
Permalink:
Jaded-Encoding-Thaumaturgy/vs-wheels@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Jaded-Encoding-Thaumaturgy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-publish.yml@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 50.1 MB
- Tags: Python 3, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f185ca996befc1676e7904347915406b21645f557ccf0633dec513701305bd61
|
|
| MD5 |
3a7baa0273e2963692de7f622e0accfb
|
|
| BLAKE2b-256 |
dea63fef0fe5c36d804195d5a59d6bf6a8d95efcd42c0097ab1c29770ab4cdde
|
Provenance
The following attestation bundles were made for vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
f185ca996befc1676e7904347915406b21645f557ccf0633dec513701305bd61 - Sigstore transparency entry: 1733774749
- Sigstore integration time:
-
Permalink:
Jaded-Encoding-Thaumaturgy/vs-wheels@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Jaded-Encoding-Thaumaturgy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-publish.yml@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vapoursynth_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl.
File metadata
- Download URL: vapoursynth_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl
- Upload date:
- Size: 30.5 MB
- Tags: Python 3, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
779cad31d0c641c40873c1544269212f09b1edd4b11aaecde9c2a65cf60c770c
|
|
| MD5 |
38f141362291c481a50f46b8f34ea9b4
|
|
| BLAKE2b-256 |
dcd77a8eb2b11c0641e263b0a4cd837b70ca322bad0801af3112992a64780223
|
Provenance
The following attestation bundles were made for vapoursynth_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl:
Publisher:
cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl -
Subject digest:
779cad31d0c641c40873c1544269212f09b1edd4b11aaecde9c2a65cf60c770c - Sigstore transparency entry: 1733774080
- Sigstore integration time:
-
Permalink:
Jaded-Encoding-Thaumaturgy/vs-wheels@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Jaded-Encoding-Thaumaturgy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-publish.yml@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vapoursynth_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl.
File metadata
- Download URL: vapoursynth_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl
- Upload date:
- Size: 23.1 MB
- Tags: Python 3, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c79f9e3b428c0fe79eeccf5525b1f6e252fa5c79909fb3b20c7027f4f8b55ac
|
|
| MD5 |
67706fc4ec7419a9555252b81850580c
|
|
| BLAKE2b-256 |
73c17821dfc1f20545a2752b7869adf1d720985bf7ad4615db9c3b90dc921849
|
Provenance
The following attestation bundles were made for vapoursynth_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl:
Publisher:
cd-publish.yml on Jaded-Encoding-Thaumaturgy/vs-wheels
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl -
Subject digest:
9c79f9e3b428c0fe79eeccf5525b1f6e252fa5c79909fb3b20c7027f4f8b55ac - Sigstore transparency entry: 1733774475
- Sigstore integration time:
-
Permalink:
Jaded-Encoding-Thaumaturgy/vs-wheels@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/Jaded-Encoding-Thaumaturgy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-publish.yml@fab64f5a64e773acb2821f0d92c6e6a70b83afa7 -
Trigger Event:
workflow_dispatch
-
Statement type: