Skip to main content

NLM-ISPC

A Non-Local Means (NLMeans) denoise filter for VapourSynth (API 4), implemented with ISPC for CPU-only execution.

Serves as a CPU-based drop-in replacement for NLMeansCL without requiring OpenCL or GPU runtime. Supports x86 (SSE2, AVX, AVX2, AVX-512) and ARM (NEON).

Installation

Python Wheel

pip install vapoursynth-nlm-ispc

API

nlm_ispc.NLMeans(
    clip: vs.VideoNode,
    d: int | None = 1,
    a: int | None = 2,
    s: int | None = 4,
    h: float | None = 1.2,
    channels: str | None = "AUTO",
    wmode: int | None = 0,
    wref: float | None = 1.0,
    rclip: vs.VideoNode | None = None,
) -> vs.VideoNode:

Parameters

  • clip: Input clip. Supports 8-16-bit integer and 32-bit float formats (Gray, YUV, RGB).
  • d: Temporal radius. 0 = spatial filtering only; > 0 = temporal radius ($2d + 1$ frames).
  • a: Search window radius. Search area is $(2a + 1) \times (2a + 1)$ pixels.
  • s: Similarity neighborhood patch radius. Patch size is $(2s + 1) \times (2s + 1)$ pixels.
  • h: Filtering strength. Higher values increase smoothing.
  • channels: Color channels to process ("Y", "UV", "YUV", "RGB", "AUTO").
    • "AUTO" processes "RGB" for RGB clips and "Y" (luma) for Gray/YUV clips.
    • "YUV" processes all 3 planes (requires YUV444).
  • wmode: Weight function:
    • 0: Welsch
    • 1: Modified Bisquare A
    • 2: Modified Bisquare B
    • 3: Modified Bisquare C
  • wref: Weight multiplier for the central pixel.
  • rclip: Reference clip used to calculate similarity weights. Must match clip format and frame count.

Compilation

Requirements

  • CMake >= 3.20
  • C++20 compliant compiler
  • ISPC

Build

uv build --wheel

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vapoursynth_nlm_ispc-4.0.tar.gz (42.5 kB view details)

Uploaded Source

Built Distributions

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

vapoursynth_nlm_ispc-4.0-py3-none-win_amd64.whl (503.4 kB view details)

Uploaded Python 3Windows x86-64

vapoursynth_nlm_ispc-4.0-py3-none-manylinux_2_34_x86_64.whl (485.3 kB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

vapoursynth_nlm_ispc-4.0-py3-none-manylinux_2_34_aarch64.whl (119.6 kB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

vapoursynth_nlm_ispc-4.0-py3-none-macosx_26_0_x86_64.whl (480.7 kB view details)

Uploaded Python 3macOS 26.0+ x86-64

vapoursynth_nlm_ispc-4.0-py3-none-macosx_26_0_arm64.whl (120.9 kB view details)

Uploaded Python 3macOS 26.0+ ARM64

File details

Details for the file vapoursynth_nlm_ispc-4.0.tar.gz.

File metadata

  • Download URL: vapoursynth_nlm_ispc-4.0.tar.gz
  • Upload date:
  • Size: 42.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vapoursynth_nlm_ispc-4.0.tar.gz
Algorithm Hash digest
SHA256 ff327ae9455383caf4500ac949e1fbf3b0446c19895f88e18a041486223c9537
MD5 eb7a6a1227497b6da080d22b534bd4c8
BLAKE2b-256 e62b2c5847edc35ce03d5db969880ff55736995e7d981226c9d425f65b925924

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_nlm_ispc-4.0.tar.gz:

Publisher: ci.yml on Ichunjo/vapoursynth-nlm-ispc

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_nlm_ispc-4.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_nlm_ispc-4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2ac91bc7855acb64ae91204eb563960463005fb9fbb7f3f686d3c4ee3f8e3b4d
MD5 84a78a38aa7076a7e0a68dc36fbd199f
BLAKE2b-256 dd55563c07a2005b09772c33a81c27bc08bbe2ccba9e74491ebbbb5295e2c5b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_nlm_ispc-4.0-py3-none-win_amd64.whl:

Publisher: ci.yml on Ichunjo/vapoursynth-nlm-ispc

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_nlm_ispc-4.0-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_nlm_ispc-4.0-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 90071a50cf59ed51e86de73a7b5e78e22359bb54053b7b5f4879bb4a17a4d7f2
MD5 c4bf44eeaa4b28528fac435e3c136c3a
BLAKE2b-256 0aa3f9f5607235942698f421241707dcbca8afd975104b9eec65e35ac5abd680

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_nlm_ispc-4.0-py3-none-manylinux_2_34_x86_64.whl:

Publisher: ci.yml on Ichunjo/vapoursynth-nlm-ispc

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_nlm_ispc-4.0-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_nlm_ispc-4.0-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 57b37683ab77d0df637c670f39697ecdefb1a01905f69a2deee473f0e114ba0b
MD5 d821af9df94c891c3ca38b6564be46b8
BLAKE2b-256 e6548967c3a7178df9941931716579d8361c8f5eb68ba482405a5098b48c0a36

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_nlm_ispc-4.0-py3-none-manylinux_2_34_aarch64.whl:

Publisher: ci.yml on Ichunjo/vapoursynth-nlm-ispc

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_nlm_ispc-4.0-py3-none-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_nlm_ispc-4.0-py3-none-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 149b4bdc229c423d196d3dc3a613f5f9be23fc13b87fc325f66b84d65275caff
MD5 7ae2304b269f3e971770e3012c434e3b
BLAKE2b-256 ddaf7ac159bdc32193557cba98ffca354fb79b138b14ca5c988974311ed57bc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_nlm_ispc-4.0-py3-none-macosx_26_0_x86_64.whl:

Publisher: ci.yml on Ichunjo/vapoursynth-nlm-ispc

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_nlm_ispc-4.0-py3-none-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_nlm_ispc-4.0-py3-none-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 bbd2bb06146f80bc164f08256c1cdd43aa3439346bb9a2afc9cc7b29c5d1cc75
MD5 da0699ab0df51ce11c646da1fda4664c
BLAKE2b-256 f9bd8a6463071950f0f0842b4635bc8388b63d34f8460d50f854e56bf81bc3cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_nlm_ispc-4.0-py3-none-macosx_26_0_arm64.whl:

Publisher: ci.yml on Ichunjo/vapoursynth-nlm-ispc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

4.0 This release

6 files

3

5 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