Enhanced Edge Directed Interpolation 3
Project description
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. Iffield=1, the input is copied to the even lines of the output.fieldmust be set to either 0 or 1 when usingdh=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.
alphaandbetamust be in the range [0,1], and the sumalpha+betamust be in the range [0,1].alphais the weight given to connecting similar neighborhoods. The largeralphais the more lines/edges should be connected.betais the weight given to vertical difference created by the interpolation. The largerbetais 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,gammapenalizes changes in interpolation direction. The largergammais the smoother the interpolation field between two lines (range is [0,inf]. If lines aren't getting connected then increasealphaand maybe decreasebeta/gamma. Go the other way if you are getting unwanted artifacts. -
nrad/mdis:
nradsets the radius used for computing neighborhood similarity. Valid range is [0,3].mdissets the maximum connection radius. Valid range is [1,40]. Ifmdis=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). Largermdiswill allow connecting lines of smaller slope, but also increases the chance of artifacts. Largermdiswill be slower. Largernradwill 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vapoursynth_eedi3-9.0.tar.gz.
File metadata
- Download URL: vapoursynth_eedi3-9.0.tar.gz
- Upload date:
- Size: 280.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a4a8c9b1a6510bfabaae452cb3526d39c9c12f81ffc4ad579b7b1d09b4e2f7a
|
|
| MD5 |
a5cc40872119a9be0a50feb177ea6451
|
|
| BLAKE2b-256 |
8c9700b16b5e91019523a8caa21c1fcf79da039197492ce940b6ad75e6de7fc1
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0.tar.gz:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0.tar.gz -
Subject digest:
1a4a8c9b1a6510bfabaae452cb3526d39c9c12f81ffc4ad579b7b1d09b4e2f7a - Sigstore transparency entry: 1243634427
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-win_amd64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-win_amd64.whl
- Upload date:
- Size: 311.8 kB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84287699280abff84525ec2787404129279012db1d872d000aaa47eed6e30e85
|
|
| MD5 |
bde69fd51e89b0a600c5fa97516dd634
|
|
| BLAKE2b-256 |
eda757825ec71e9f34864e3bee60a2edad090502555d7b20cfe29046589b7c1f
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-win_amd64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-win_amd64.whl -
Subject digest:
84287699280abff84525ec2787404129279012db1d872d000aaa47eed6e30e85 - Sigstore transparency entry: 1243634462
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7666e60418a741030c2c8c5692e4d326e89dcfc5272f4b930c60b6785f6fd778
|
|
| MD5 |
01ba115e866c410b6629fa9f12aee3c8
|
|
| BLAKE2b-256 |
893f9dd748086022886e27e869501e6bc6f32a46a94c0bb3ae175270394e503e
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_x86_64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_x86_64.whl -
Subject digest:
7666e60418a741030c2c8c5692e4d326e89dcfc5272f4b930c60b6785f6fd778 - Sigstore transparency entry: 1243634492
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
612bcdb4b1fa782750fb32b86703f5bbca650ccf1e363b99a830ebe5a4d76b18
|
|
| MD5 |
d93ca3abfb19655787dc5262af4b2a54
|
|
| BLAKE2b-256 |
9829602eb6d3a2db138d2302e3b0b576527f97b5e832abd29b8a3966aa72c2cc
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_aarch64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-musllinux_1_2_aarch64.whl -
Subject digest:
612bcdb4b1fa782750fb32b86703f5bbca650ccf1e363b99a830ebe5a4d76b18 - Sigstore transparency entry: 1243634442
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 255.3 kB
- Tags: Python 3, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b15e6be90c0eebd34e7b89fa33a475a9a0d9dddbbfa0922876272b44654f20cb
|
|
| MD5 |
ac09e011108ee67c1c9d932bbefc1411
|
|
| BLAKE2b-256 |
407848af73757d11684e8f9565281c565a2cec6d570ddd206a7a302385e23710
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b15e6be90c0eebd34e7b89fa33a475a9a0d9dddbbfa0922876272b44654f20cb - Sigstore transparency entry: 1243634488
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 202.7 kB
- Tags: Python 3, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6106549fac4633e6597a34d340c3c8c962a310d60829375fb23722d96c2ab562
|
|
| MD5 |
8321ecfccf5e5e3f2ce7c668df773cef
|
|
| BLAKE2b-256 |
64b6ce80aa55ecf3141731ee4c8b619260205f75ad19f4fe274e3597bd5a98f4
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
6106549fac4633e6597a34d340c3c8c962a310d60829375fb23722d96c2ab562 - Sigstore transparency entry: 1243634479
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc4798b36f6efc0559a000fdb17bf8136c90899440307a185b066b3f2dbcdeed
|
|
| MD5 |
561cd365248088de4c59288a73150446
|
|
| BLAKE2b-256 |
28bd662fbb04e43d064264d4ff7ed3874a6fd61412da6e87c3ac1703e4e27c1d
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
dc4798b36f6efc0559a000fdb17bf8136c90899440307a185b066b3f2dbcdeed - Sigstore transparency entry: 1243634472
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vapoursynth_eedi3-9.0-py3-none-macosx_10_15_x86_64.whl.
File metadata
- Download URL: vapoursynth_eedi3-9.0-py3-none-macosx_10_15_x86_64.whl
- Upload date:
- Size: 88.9 kB
- Tags: Python 3, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4867c7485f84e76ee6e3458d440b94c9443321923f8f5eae9f5527f3f54de6e
|
|
| MD5 |
0f4172e7d6851d51e5b3161f929da3f4
|
|
| BLAKE2b-256 |
6df6f0f80272eb4d209eb3cdde1d3e23dc72bcfa72a062df1d71f74141c1e54b
|
Provenance
The following attestation bundles were made for vapoursynth_eedi3-9.0-py3-none-macosx_10_15_x86_64.whl:
Publisher:
build.yml on HomeOfVapourSynthEvolution/VapourSynth-EEDI3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vapoursynth_eedi3-9.0-py3-none-macosx_10_15_x86_64.whl -
Subject digest:
d4867c7485f84e76ee6e3458d440b94c9443321923f8f5eae9f5527f3f54de6e - Sigstore transparency entry: 1243634456
- Sigstore integration time:
-
Permalink:
HomeOfVapourSynthEvolution/VapourSynth-EEDI3@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Branch / Tag:
refs/tags/r9 - Owner: https://github.com/HomeOfVapourSynthEvolution
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@7a09dc3ff2fa15da7bd97ac38fd656fa6a9098e6 -
Trigger Event:
push
-
Statement type: