Skip to main content

EEDI3

EEDI3 works by finding the best non-decreasing (non-crossing) warping between two lines by minimizing a cost functional. The cost is based on neighborhood similarity (favor connecting regions that look similar), the vertical difference created by the interpolated values (favor small differences), the interpolation directions (favor short connections vs long), and the change in interpolation direction from pixel to pixel (favor small changes).

Ported from AviSynth plugin http://bengal.missouri.edu/~kes25c/ and http://ldesoras.free.fr/prod.html#src_eedi3.

Parameters

eedi3m.EEDI3(vnode clip, int field[, bint dh=False, int[] planes=[0, 1, 2], float alpha=0.2, float beta=0.25, float gamma=20.0, int nrad=2, int mdis=20, bint hp=False, bint ucubic=True, bint cost3=True, int vcheck=2, float vthresh0=32.0, float vthresh1=64.0, float vthresh2=4.0, vnode sclip=None, vnode mclip=None, int opt=0])
  • clip: Clip to process. Any format with either integer sample type of 8-16 bit depth or float sample type of 32 bit depth 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. Planes that are not processed will contain uninitialized memory.

  • alpha/beta/gamma: These trade off line/edge connection vs artifacts created. alpha and beta must be in the range [0,1], and the sum alpha+beta must be in the range [0,1]. alpha is the weight given to connecting similar neighborhoods. The larger alpha is the more lines/edges should be connected. beta is the weight given to vertical difference created by the interpolation. The larger beta is the less edges/lines will be connected (at 1.0 you get no edge directedness at all). The remaining weight (1.0-alpha-beta) is given to interpolation direction (large directions (away from vertical) cost more). So the more weight you have here the more shorter connections will be favored. Finally, gamma penalizes changes in interpolation direction. The larger gamma is the smoother the interpolation field between two lines (range is [0,inf]. If lines aren't getting connected then increase alpha and maybe decrease beta/gamma. Go the other way if you are getting unwanted artifacts.

  • nrad/mdis: nrad sets the radius used for computing neighborhood similarity. Valid range is [0,3]. mdis sets the maximum connection radius. Valid range is [1,40]. If mdis=20, then when interpolating pixel (50,10) (x,y), the farthest connections allowed would be between (30,9)/(70,11) and (70,9)/(30,11). Larger mdis will allow connecting lines of smaller slope, but also increases the chance of artifacts. Larger mdis will be slower. Larger nrad will be slower.

  • hp/ucubic/cost3: These are speed vs quality options. hp=True, use half pel steps, hp=False, use full pel steps. Currently only full pel is implemented and hence this parameter has no effect. ucubic=True, use cubic 4 point interpolation, ucubic=False, use 2 point linear interpolation. cost3=True, use 3 neighborhood cost function to define similarity, cost3=False, use 1 neighborhood cost function.

  • vcheck/vthresh0/vthresh1/vthresh2/sclip:

  vcheck settings:

      0 - no reliability check
      1 - weak reliability check
      2 - med reliability check
      3 - strong reliability check

  If vcheck is greater than 0, then the resulting interpolation is checked for reliability/consistency. Assume
  we interpolated pixel 'fh' below using dir=4 (i.e. averaging pixels bl and cd).

       aa ab ac ad ae af ag ah ai aj ak al am an ao ap
                            eh          el
       ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp
                fd          fh          fl
       ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp
                gd          gh
       da db dc dd de df dg dh di dj dk dl dm dn do dp

  When checking pixel 'fh' the following is computed:

        d0 = abs((el+fd)/2 - bh)
        d1 = abs((fl+gd)/2 - ch)

        q2 = abs(bh-fh)+abs(ch-fh)
        q3 = abs(el-bl)+abs(fl-bl)
        q4 = abs(fd-cd)+abs(gd-cd)

        d2 = abs(q2-q3)
        d3 = abs(q2-q4)

        mdiff0 = vcheck == 1 ? min(d0,d1) : vcheck == 2 ? ((d0+d1+1)>>1) : max(d0,d1)
        mdiff1 = vcheck == 1 ? min(d2,d3) : vcheck == 2 ? ((d2+d3+1)>>1) : max(d2,d3)

        a0 = mdiff0/vthresh0;
        a1 = mdiff1/vthresh1;
        a2 = max((vthresh2-abs(dir))/vthresh2,0.0f)

        a = min(max(max(a0,a1),a2),1.0f)

        final_value = (1.0-a)*fh + a*cint


    ** If sclip is supplied, cint is the corresponding value from sclip. If sclip isn't supplied,
       then vertical cubic interpolation is used to create it.
  • mclip: A mask to use edge-directed interpolation only on specified pixels. Pixels where the mask is 0 are generated using cubic linear or bicubic interpolation. The main goal of the mask is to save calculations.

  • opt: Specifies which cpu optimizations to use.

    • 0 = auto detect
    • 1 = use c
    • 2 = use sse4.1
    • 3 = use avx2

Installation

pip install -U vapoursynth-eedi3

Metadata

Release files for vapoursynth-eedi3 10.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-eedi3 10.0
File Size Uploaded
vapoursynth_eedi3-10.0.tar.gz 280.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for vapoursynth-eedi3 10.0
File
vapoursynth_eedi3-10.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
vapoursynth_eedi3-10.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
vapoursynth_eedi3-10.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
vapoursynth_eedi3-10.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
vapoursynth_eedi3-10.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
vapoursynth_eedi3-10.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
vapoursynth_eedi3-10.0-py3-none-macosx_10_15_x86_64.whl Python 3 none macOS 10.15+ x86-64 Details

Total release size: 3.2 MB

Release files / vapoursynth_eedi3-10.0.tar.gz

Download URL vapoursynth_eedi3-10.0.tar.gz
Size 280.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0023fa2360340a156b7fa036585904a5de0784f803a82a5f042cdaca196698c1
BLAKE2b-256 checksum
How to use checksums
985dd497fef0bb613aca741ca15b3dce2a9fc743f44e9be400eb51411d7a7092
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-win_amd64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-win_amd64.whl
Size 186.8 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
b509f489badb3b5f10d95c9a8754a35b502a9de82b47f3521bfb6a1a3b2f6eb7
BLAKE2b-256 checksum
How to use checksums
6a9de4c27079e97008953fc79fccaccb2ca348edf9b158bee43aed9c5493ab5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-musllinux_1_2_x86_64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
9a6dedc4c34bd707407925e97d81e814409492a40210c0415185f1c11671a8c0
BLAKE2b-256 checksum
How to use checksums
e849a76e56e117bbf5fb10da3039f2478b6c48f0f64f73450f25278aae69ce4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-musllinux_1_2_aarch64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
ce692f32b1df46f6ef6c0f873f6953125e9668d0e58ee17e01dd545e1d48a80f
BLAKE2b-256 checksum
How to use checksums
dcd69ddaf38944463c4dc32ab3b39f6324e7ed8110bf618279cdee452c9282f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 255.4 kB
Tags Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a1f2e0a5fb7ae58ed88857835952259dd72fbf975eb03f9ce2407381e7e0426a
BLAKE2b-256 checksum
How to use checksums
e47a4e24efe01a8c828e13258284ff2f8928c80882806ec5e72ac111a1665ac8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 202.8 kB
Tags Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
f446137944538395a7b1bf292ec64aaaea658f44abbac64adf2516d4454347b7
BLAKE2b-256 checksum
How to use checksums
2a2235db73a6a57375b8127b4594b4321a02fa84aca484dab3902c284ff988ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-macosx_11_0_arm64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-macosx_11_0_arm64.whl
Size 43.3 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8c2f3ba76e312ccc434c443a7ea1147effc78cbd4762ec3edd86c58c7da50896
BLAKE2b-256 checksum
How to use checksums
ec7a5f7ad99d9086d835d1f81aa7db9dd0eabb761484069d329f8c6060dcb6b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / vapoursynth_eedi3-10.0-py3-none-macosx_10_15_x86_64.whl

Download URL vapoursynth_eedi3-10.0-py3-none-macosx_10_15_x86_64.whl
Size 89.4 kB
Tags Python 3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
5a4086aa40184b4abe85080b0b1e74f30d626721c3d8fbed5679abc973a924ef
BLAKE2b-256 checksum
How to use checksums
d81ea2c39fd4f3618baf5c683b4a2b58eed6dbc06cd7541757e7fd59216fefbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

10.0 This release

8 release files

9.1

8 release files

9.0

8 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