Skip to main content

nnedi3vk

NNEDI3 is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It has same rate and double rate modes. NNEDI3 is also very good for enlarging images by powers of 2.

Runs on the VapourSynth core's Vulkan device: frames go in and come out GPU resident (vnode:gpu), so chains of GPU filters never leave VRAM. Feeding a CPU clip automatically inserts an upload, and std.GPUDownload brings the result back when the chain ends. The device is selected core-wide with core.set_vulkan_device(index) (see core.vulkan_devices) before first use.

Requirement

VapourSynth R80 with GPU support (API 4.3), and a Vulkan 1.4 capable GPU and driver.

Usage

nnedi3vk.NNEDI3(vnode:gpu clip, int field[, bint dh=False, int[] planes=[0, 1, 2], int nsize=6, int nns=1, int qual=1, int etype=0, int pscrn=2])
  • clip: Clip to process. Any format with either 8-16 bit integer or 16/32 bit float is supported.

  • field: Controls the mode of operation (double vs same rate) and which field is kept.

    • 0 = same rate, keep bottom field
    • 1 = same rate, keep top field
    • 2 = double rate (alternates each frame), starts with bottom
    • 3 = double rate (alternates each frame), starts with top
  • dh: Doubles the height of the input. Each line of the input is copied to every other line of the output and the missing lines are interpolated. If field=0, the input is copied to the odd lines of the output. If field=1, the input is copied to the even lines of the output. field must be set to either 0 or 1 when using dh=True.

  • planes: Specifies which planes will be processed. Any unprocessed planes will be simply copied in dh=False, and zero filled in dh=True.

  • nsize: Specifies the size of the local neighborhood around each pixel that is used by the predictor neural network. For image enlargement it is recommended to use 0 or 4. Larger y_diameter settings will result in sharper output. For deinterlacing larger x_diameter settings will allow connecting lines of smaller slope. However, what setting to use really depends on the amount of aliasing (lost information) in the source. If the source was heavily low-pass filtered before interlacing then aliasing will be low and a large x_diameter setting won't be needed, and vice versa.

    • 0 = 8x6
    • 1 = 16x6
    • 2 = 32x6
    • 3 = 48x6
    • 4 = 8x4
    • 5 = 16x4
    • 6 = 32x4
  • nns: Specifies the number of neurons in the predictor neural network. 0 is fastest. 4 is slowest, but should give the best quality. This is a quality vs speed option; however, differences are usually small. The difference in speed will become larger as 'qual' is increased.

    • 0 = 16
    • 1 = 32
    • 2 = 64
    • 3 = 128
    • 4 = 256
  • qual: Controls the number of different neural network predictions that are blended together to compute the final output value. Each neural network was trained on a different set of training data. Blending the results of these different networks improves generalization to unseen data. Possible values are 1 or 2. Essentially this is a quality vs speed option. Larger values will result in more processing time, but should give better results. However, the difference is usually pretty small. I would recommend using qual>1 for things like single image enlargement.

  • etype: Controls which set of weights to use in the predictor nn.

    • 0 = weights trained to minimize absolute error
    • 1 = weights trained to minimize squared error
  • pscrn: Controls whether or not the prescreener neural network is used to decide which pixels should be processed by the predictor neural network and which can be handled by simple cubic interpolation. The prescreener is trained to know whether cubic interpolation will be sufficient for a pixel or whether it should be predicted by the predictor nn. The computational complexity of the prescreener nn is much less than that of the predictor nn. Since most pixels can be handled by cubic interpolation, using the prescreener generally results in much faster processing. The prescreener is pretty accurate, so the difference between using it and not using it is almost always unnoticeable. Higher levels for the new prescreener result in cubic interpolation being used on fewer pixels (so are slower, but incur less error). However, the difference is pretty much unnoticable. Level 2 is closest to the original prescreener in terms of incurred error, but is much faster.

    • 0 = no prescreening
    • 1 = original prescreener
    • 2 = new prescreener level 0
    • 3 = new prescreener level 1
    • 4 = new prescreener level 2

Removed relative to the standalone (pre-GPU-node) versions: device_index and list_device (device selection is core-wide now), coopvec (the core device enables no vendor extensions; the FP32 subgroup GEMV path is used on all hardware), and num_streams (the core's execution pool sizes the in-flight bound from its worker threads and budgets the pinned memory itself).

Installation

pip install -U vapoursynth-nnedi3vk-apimod

Metadata

Release files for vapoursynth-nnedi3vk-apimod 2.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-nnedi3vk-apimod 2.0
File Size Uploaded Provenance
vapoursynth_nnedi3vk_apimod-2.0.tar.gz 12.8 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for vapoursynth-nnedi3vk-apimod 2.0
File
vapoursynth_nnedi3vk_apimod-2.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
vapoursynth_nnedi3vk_apimod-2.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
vapoursynth_nnedi3vk_apimod-2.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
vapoursynth_nnedi3vk_apimod-2.0-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details
vapoursynth_nnedi3vk_apimod-2.0-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details
vapoursynth_nnedi3vk_apimod-2.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
vapoursynth_nnedi3vk_apimod-2.0-py3-none-macosx_10_15_x86_64.whl Python 3 none macOS 10.15+ x86-64 Details

Total release size: 104.4 MB

Release files / vapoursynth_nnedi3vk_apimod-2.0.tar.gz

Download URL vapoursynth_nnedi3vk_apimod-2.0.tar.gz
Size 12.8 MB
Tags Source
SHA-256 checksum
How to use checksums
bdcbb6bd34209f9840015c380589ad16aed3115499810713581dfffbb8c77a0d
BLAKE2b-256 checksum
How to use checksums
693d4613511168351f2227d7e51c2badf618d8433e241d81a784e403e9c547c4
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-win_amd64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-win_amd64.whl
Size 13.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
7f1dd9146f8ff195bc13a2336a1fc392141a534c4895bd55b66ca1106afe68dd
BLAKE2b-256 checksum
How to use checksums
0b6359c9e3aecc723fb132cbf0928a685bd9dce8e85aaaacdb1ecf89810d3745
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-musllinux_1_2_x86_64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-musllinux_1_2_x86_64.whl
Size 13.8 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5fafc8781b06dc98a28940fbc53f1a13d4f94f6c2ea9cba610ccf5d88478f4bd
BLAKE2b-256 checksum
How to use checksums
df12cb60aa327c93e32bbd5d2bf3ba3a55e797530520535e2da3ae387dd90d6a
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-musllinux_1_2_aarch64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-musllinux_1_2_aarch64.whl
Size 13.7 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
477b167d1b3ecabb24bf59540ab9529d8fd8cd5e11557dce9d7b11dfc15f8435
BLAKE2b-256 checksum
How to use checksums
3a849d381c748cab1180cc6cce4e52cfeefc54ad7aa19a248473e3ca8b3c4a40
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-manylinux_2_34_x86_64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-manylinux_2_34_x86_64.whl
Size 12.8 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
1f94bae24cf493402d134b1cc504879fdf658beb3c86188b1df9de953a2dd710
BLAKE2b-256 checksum
How to use checksums
253bd29f4c23db3e8ac50dd3f6eff7653d477eded71efc343d86afe7b22387dc
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-manylinux_2_34_aarch64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-manylinux_2_34_aarch64.whl
Size 12.8 MB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
d8d89fe583a07f813ec10f064e5f8b7d90a39daecf53ea8d347cdcf8e221dbb4
BLAKE2b-256 checksum
How to use checksums
061858d0e55683f69b60f62906557fae6ef3450629f21fb2d02868fcb5e1cd00
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-macosx_11_0_arm64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-macosx_11_0_arm64.whl
Size 12.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2f2cac6350a31b1f0ffa6ab07819b8305b1676793eb663c8562f96a825df815b
BLAKE2b-256 checksum
How to use checksums
36bc69c6a8b0894e79265fa0e63bb7f0569d0c616aab4a4d95f1e3987d3513be
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 18, 2026.

Transparency log

Release files / vapoursynth_nnedi3vk_apimod-2.0-py3-none-macosx_10_15_x86_64.whl

Download URL vapoursynth_nnedi3vk_apimod-2.0-py3-none-macosx_10_15_x86_64.whl
Size 12.8 MB
Tags Python 3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
4c3316395410cd36a7d5e563a3ce52ed255442c9c17def652aa947740cadc8bc
BLAKE2b-256 checksum
How to use checksums
8ec5544b0e8e00cc751c30a2229841d8606ea7ae0a7acf81781266a058e1990a
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 18, 2026.

Transparency log

Security for vapoursynth-nnedi3vk-apimod 2.0

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.

Full provenance

All 8 files in this release have been uploaded with provenance metadata.

Select from 8 files

Attestation for vapoursynth_nnedi3vk_apimod-2.0.tar.gz

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 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0 This release

8 release files Full provenance

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