EEDI2CUDA
From Avisynth wiki
(Difference between revisions)
(EEDI2CUDA) |
(update links and add download) |
||
Line 2: | Line 2: | ||
{{Filter3 | {{Filter3 | ||
|1=[https://github.com/misakikasumi misakikasumi], [https://github.com/WolframRhodium WolframRhodium] | |1=[https://github.com/misakikasumi misakikasumi], [https://github.com/WolframRhodium WolframRhodium] | ||
− | |2= | + | |2=M2u1test1 |
− | |3= | + | |3=[https://files.videohelp.com/u/223002/EEDI2CUDA.7z EEDI2CUDA.7z] /// [https://web.archive.org/web/20230130090527if_/https://files.videohelp.com/u/223002/EEDI2CUDA.7z Archived] |
− | + | ||
− | + | ||
|4=Denoisers | |4=Denoisers | ||
|5=[https://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | |5=[https://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | ||
Line 92: | Line 90: | ||
== Changelog == | == Changelog == | ||
Version Date Changes<br> | Version Date Changes<br> | ||
− | + | M2u1test1 2021/08/26 - Unified Multi-bindings. | |
− | + | M2p2 2021/08/11 - Fix #2 - add copy init for BridgePass. | |
+ | M2p1 2021/08/08 - This release contains workaround of #2. | ||
+ | Force num_streams=1, there is something wrong with multiple streams. | ||
<br> | <br> | ||
== External Links == | == External Links == | ||
− | *[https://github.com/ | + | *[https://github.com/ruihe774/VapourSynth-EEDI2CUDA GitHub] - Source code repository. |
<br> | <br> | ||
<br> | <br> | ||
----------------------------------------------- | ----------------------------------------------- | ||
'''Back to [[External_filters#Deinterlacing|External Filters]] ←''' | '''Back to [[External_filters#Deinterlacing|External Filters]] ←''' |
Latest revision as of 10:13, 30 January 2023
Abstract | |
---|---|
Author | misakikasumi, WolframRhodium |
Version | M2u1test1 |
Download | EEDI2CUDA.7z /// Archived |
Category | Denoisers |
License | GPLv2 |
Discussion |
Contents |
[edit] Description
EEDI2 filter using CUDA. EEDI2CUDA includes 3 functions:
EEDI2_CUDA
: deinterlaceEEDI2_CUDA_AA2
: anti-aliasingEEDI2_CUDA_Enlarge2
: upscale by 2
[edit] Requirements
- CUDA-enabled GPU(s) of compute capability 5.0 or higher (Maxwell+).
- GPU driver 450 or newer.
[edit] Syntax and Parameters
EEDI2_CUDA (clip, int field, int "mthresh", int "lthresh", int "vthresh", int "estr", int "dstr", int "maxd", int "field", int "map", int "nt", int "pp", int "num_streams", int "device_id")
EEDI2_CUDA_AA2 (clip, int "mthresh", int "lthresh", int "vthresh", int "estr", int "dstr", int "maxd", int "field", int "map", int "nt", int "pp", int "num_streams", int "device_id")
EEDI2_CUDA_Enlarge2 (clip, int "mthresh", int "lthresh", int "vthresh", int "estr", int "dstr", int "maxd", int "field", int "map", int "nt", int "pp", int "num_streams", int "device_id")
- clip =
- Input clip to process. It must be in 8..16-bit planar format with or without alpha.
- clip =
- int =
field
: Controls which field in the resized image the original image will be copied to.- 0 = bottom field
- 1 = top field
- 2 = alternates each frame, starts with bottom
- 3 = alternates each frame, starts with top
- int =
- int mthresh = 10
- int lthresh = 20
- int vthresh = 20
- These all control edge detection used for building the initial edge map.
- mthresh is the edge magnitude threshold... its range is from 0 to 255, lower values will detect weaker edges.
- lthresh is the laplacian threshold... its range is 0 to 510, lower values will detect weaker lines.
- vthresh is the variance threshold... its range is 0 to a large number, lower values will detect weaker edges.
- Use the "map" option to tweak these settings as needed.
- These all control edge detection used for building the initial edge map.
- int mthresh = 10
- int estr = 2
- int dstr = 4
- These are used for dilation and erosion of the edge map.
- estr sets the required number of edge pixels (<=) in a 3x3 area, in which the center pixel has been detected as an edge pixel, for the center pixel to be removed from the edge map.
- dstr sets the required number of edge pixels (>=) in a 3x3 area, in which the center pixel has not been detected as an edge pixel, for the center pixel to be added to the edge map.
- Use the "map" option to tweak these settings as needed.
- These are used for dilation and erosion of the edge map.
- int estr = 2
- int maxd = 24
- Sets the maximum pixel search distance for determining the interpolation direction.
- Larger values will be able to connect edges and lines of smaller slope but can lead to artifacts. Sometimes using a smaller maxd will give better results than a larger setting. The maximum possible value for maxd is 29.
- int maxd = 24
- int map = 0
- Allows one of three possible maps to be shown. Possible settings:
- 0 - no map
- 1 - edge map (edge pixels will be set to 255 and non-edge pixels will be set to 0.)
- 2 - original scale direction map
- 3 - 2x scale direction map
- Allows one of three possible maps to be shown. Possible settings:
- int map = 0
- int nt = 50
- Defines a noise threshold between pixels in the sliding vectors, this is used to set initial starting values.
- Lower values should reduce artifacts but sacrifice edge reconstruction... while higher values should improve edge reconstruction but lead to more artifacts. The possible range of values is 0 to 256.
- int nt = 50
- int pp = 1
- Only pp=1 is implemented.
- 1 - check for spatial consistency of final interpolation directions
- Only pp=1 is implemented.
- int pp = 1
- int num_streams = 1
- Specify the number of CUDA streams. A larger value increases the concurrency and also increases the GPU memory usage. The default value
num_streams=1
is already fast enough.
- Specify the number of CUDA streams. A larger value increases the concurrency and also increases the GPU memory usage. The default value
- int num_streams = 1
- int device_id = -1
- Set the GPU device ID to use. You must specify this argument for each call if you have multiple GPUs.
- int device_id = -1
[edit] Examples
[edit] Changelog
Version Date Changes
M2u1test1 2021/08/26 - Unified Multi-bindings. M2p2 2021/08/11 - Fix #2 - add copy init for BridgePass. M2p1 2021/08/08 - This release contains workaround of #2. Force num_streams=1, there is something wrong with multiple streams.
[edit] External Links
- GitHub - Source code repository.
Back to External Filters ←