Skip to main content

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:
    • OpenVINO SDK (including OpenVINO Runtime & TBB)
    • ONNX
    • Protobuf
  • CMake Options:
    • WIN32_SHARED_OPENVINO (defaults to ON): 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. 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 builtin: whether to load the model from the VS plugins directory, see also builtindir.
  • 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 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.

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_mlrt_ov-15.16.tar.gz (674.6 kB view details)

Uploaded Source

Built Distributions

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

vapoursynth_mlrt_ov-15.16-py3-none-win_amd64.whl (69.9 MB view details)

Uploaded Python 3Windows x86-64

vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl (21.2 MB view details)

Uploaded Python 3manylinux: glibc 2.35+ ARM64

vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (50.1 MB view details)

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

vapoursynth_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl (30.5 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl (23.1 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

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

Hashes for vapoursynth_mlrt_ov-15.16.tar.gz
Algorithm Hash digest
SHA256 69f4ec70c43a931db0b6480cc907cb4cd19b4d9d137c8900ef24577b351a05f9
MD5 cef3f6eb517930b1d6e3d963c6ace6e4
BLAKE2b-256 bf7654365086ac45da69f9b82355fef79a68b48229505d6a32b2192e0b419c87

See more details on using hashes here.

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

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_mlrt_ov-15.16-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ov-15.16-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 776d9a3f635cd605abe528039074e86809e8f4a596b46b926540d0ebb8eae68e
MD5 bd55f104e78e027d8efb89c93d271919
BLAKE2b-256 f9bd00526ab245d844d8c8371d35b04fb8d668c495d086776be258432857d078

See more details on using hashes here.

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

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_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 691e78cb434b89c9a263283143e0d7c06a36fa047d8b58c772a3c9700f2a9b22
MD5 18d27ac4ec793d353e7a5d745bb8a168
BLAKE2b-256 bd281633c5f7cb00d59ee74778af96c8019ff5dcb4b378119ee5421c4ad4c575

See more details on using hashes here.

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

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_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ov-15.16-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f185ca996befc1676e7904347915406b21645f557ccf0633dec513701305bd61
MD5 3a7baa0273e2963692de7f622e0accfb
BLAKE2b-256 dea63fef0fe5c36d804195d5a59d6bf6a8d95efcd42c0097ab1c29770ab4cdde

See more details on using hashes here.

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

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_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ov-15.16-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 779cad31d0c641c40873c1544269212f09b1edd4b11aaecde9c2a65cf60c770c
MD5 38f141362291c481a50f46b8f34ea9b4
BLAKE2b-256 dcd77a8eb2b11c0641e263b0a4cd837b70ca322bad0801af3112992a64780223

See more details on using hashes here.

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

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_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_mlrt_ov-15.16-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9c79f9e3b428c0fe79eeccf5525b1f6e252fa5c79909fb3b20c7027f4f8b55ac
MD5 67706fc4ec7419a9555252b81850580c
BLAKE2b-256 73c17821dfc1f20545a2752b7869adf1d720985bf7ad4615db9c3b90dc921849

See more details on using hashes here.

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

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