Skip to main content

VapourSynth-BilateralGPU

Copyright© 2021 WolframRhodium

Bilateral filter in CUDA for VapourSynth.

Description

Bilateral filter is a non-linear, edge-preserving and noise-reducing smoothing filter for images.

The intensity value at each pixel in an image is replaced by a weighted average of intensity values from nearby pixels. This weight can be based on a Gaussian distribution.

Special thanks to Kice for doing most of the work in previous implementation.

Requirements

  • CPU with AVX2 support.

  • CUDA-enabled GPU(s) of compute capability 5.0 or higher (Maxwell+).

  • GPU driver >= v452.39 for GeForce or bilateral_rtc users or >= v496.13 in general.

The plugin can run on older generation of GPUs or CPU without AVX2 support by manual compilation.

The _rtc version requires compute capability 3.5 or higher, GPU driver 465 or newer and has dependencies on nvrtc64_112_0.dll/libnvrtc.so.11.2 and nvrtc-builtins64_114.dll/libnvrtc-builtins.so.11.4.50.

Supported Formats

sample type: 8-16 bit integer or 32 bit float Gray/YUV/RGB input

Usage

core.{bilateralgpu, bilateralgpu_rtc}.Bilateral(clip clip, float[] sigma_spatial=3.0, float[] sigma_color=0.02, int[] radius=0, int device_id=0, int num_streams=4, bool use_shared_memory=True)
  • clip: The input clip.

  • sigma_spatial: (Default: 3.0) Filter sigma in the coordinate space. Use an array to assign it for each plane. If "sigma_spatial" for the second plane is not specified, it will be set according to the sigma_spatial of first plane and sub-sampling.

  • sigma_color: (Default: 0.02) Filter sigma in the color space. Use an array to assign it for each plane, otherwise the same sigma_color is used for all the planes. It will be normalized internally, so that for clips with different bit depths, the same values get similar results.

  • radius: (Default: 0) Kernel window size. 0 = automatic calculatation based on "sigma_spatial".

  • device_id: (Default: 0) CUDA device ID.

  • num_streams: (Default: 4) Number of CUDA streams, enables concurrent kernel execution and data transfer.

  • use_shared_memory: (Default: True) Use on-chip memory to reduce bandwidth requirements on memory operations.

  • The _rtc version has two experimental parameters:

    • block_x, block_y: (Default: 16, 8) Block size of launch configuration of the kernel. Don't modify it unless you know what you are doing.

Compilation

cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D CMAKE_CUDA_FLAGS="--threads 0 --use_fast_math -Wno-deprecated-gpu-targets" -D CMAKE_CUDA_ARCHITECTURES="50;61-real;75-real;86"

cmake --build build --config Release

Release files for vapoursynth-bilateralgpu 15

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

Built distributions (wheels)

Table of built distributions (wheels) for vapoursynth-bilateralgpu 15
File Interpreter ABI Platform
vapoursynth_bilateralgpu-15-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
vapoursynth_bilateralgpu-15-py3-none-manylinux_2_39_x86_64.whl Python 3 none Linux glibc 2.39+ x86-64 Details

Total release size: 96.2 MB

Release files / vapoursynth_bilateralgpu-15-py3-none-win_amd64.whl

Download URL vapoursynth_bilateralgpu-15-py3-none-win_amd64.whl
Size 47.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0111e106eefe6e5f9a8c72534c7c1557458877d10624639361955542c283ca96
BLAKE2b-256 checksum
How to use checksums
b67a755db9ba20ad3b7348264daf39d158fc6707856fad6b622b3e20d02f6bee
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 26, 2026.

Transparency log

Release files / vapoursynth_bilateralgpu-15-py3-none-manylinux_2_39_x86_64.whl

Download URL vapoursynth_bilateralgpu-15-py3-none-manylinux_2_39_x86_64.whl
Size 49.1 MB
Tags Linux glibc 2.39+ x86-64 Python 3
SHA-256 checksum
How to use checksums
83bddb659e19fc972636c9d77b4ffda2c6ea6ac214fdf212f8c68ab7229c4ac6
BLAKE2b-256 checksum
How to use checksums
4c6897d8b495b677ecb4838a30815f8c303bfad9369d59a41c9df3f3c50e8340
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 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

15 This release

2 release files

14

2 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