Convolution3D
From Avisynth wiki
Abstract | |
---|---|
Author | vlad59, pinterf |
Version | v1.1 |
Download | Convolution3D_v1.1.7z |
Category | Spatial-Temporal Denoisers |
License | GPLv2 |
Discussion | Doom9 Forum |
Contents |
Description
Convolution3D is an AviSynth filter that will apply a 3D - temporal and/or spatial - convolution to a frame
Requirements
- [x86] AviSynth+ or AviSynth 2.6
- [x64] AviSynth+
- Supported color formats: Y8, YV12, YV16, YV24, YV411
Syntax and Parameters
- Convolution3D (clip, int "matrix", int "ythresh", int "cthresh", int "t_ythresh", int "t_cthresh", float "influence", int "debug")
- clip =
- Input clip.
- clip =
- int matrix = 0
- Matrix:
- 0 : Original matrix; useful for normal video (not anime) because it keep more details.
- Matrix:
- int matrix = 0
- 1 2 1 2 4 2 1 2 1
- 2 4 1 4 8 4 2 4 1
- 1 2 1 2 4 2 1 2 1
- 1 : Full 1 matrix; useful with anime or bad quality sources because it blurs a little more (so it removes more noise).
- 1 1 1 1 1 1 1 1 1
- 1 1 1 1 1 1 1 1 1
- 1 1 1 1 1 1 1 1 1
- int ythresh = 3
- int cthresh = 4
- Spatial treshold for luma and chroma.
- int ythresh = 3
- int t_ythresh = 3
- int t_cthresh = 4
- Temporal treshold for luma and chroma.
- int t_ythresh = 3
- float influence = 3.0
- This parameter is used especially to speed up a little this filter and to avoid using temporal information when not needed (scene change, fade, ...).
- First a limit is built = Temporal Luma Threshold * Temporal influence
- For each 2 pixel computed, this is checked:
- float influence = 3.0
if (Abs (Y0 - Y0[Previous frame]) + Abs (Y0 - Y0[Next frame]) + Abs (Y1 - Y1[Previous frame]) + Abs (Y1 - Y1[Next frame])) > limit then do Spacial work (only 3*3 matrix) Else do Spacial and Temporal work (3*3*3 matrix)
- The lower it is -> the faster the filter will be but compressibility should be lower
- The higher it is -> the slower the filter will be but compressibility should be higher
- If temporal influence is set to -1 then only spatial work is done (high speed).
- Written by Wilbert.
- int debug = 0
- Not documented.
- int debug = 0
Examples
Convolution3D with all default values:
AviSource("Blah.avi") Convolution3D (matrix=0, ythresh=3, cthresh=4, t_ythresh=3, t_cthresh=4, influence=3.0)
Changelog
Version Date Changes
v1.1 2021/03/11 - Migrate from VC6 to Visual Studio 2019, v142 toolset - Drop all (buggy beta) inline SSE assembler - Rewrite routines in SSE2 SIMD - Turn into Avisynth 2.6 interface - Preserve frame properties when Avisynth+ v8 interface - Add YV16, YV24 and YV411 format support besides YV12 - known bug: left and right side calculation can theoretically cause crash
Archived Downloads
Version | Download | Mirror |
---|---|---|
beta5 | con3d-yv12-beta5.zip |
External Links
- avisynth.nl - original documentation.
- Doom9 Forum - original 2003 discussion thread on Doom9.
- Doom9 Forum - original 2002 discussion thread on Doom9.
Back to External Filters ←