Convolution3D

From Avisynth wiki
Jump to: navigation, search
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


Syntax and Parameters

Convolution3D (clip, int "matrix", int "ythresh", int "cthresh", int "t_ythresh", int "t_cthresh", float "influence", int "debug")


clip   =
Input clip.


int  matrix = 0
Matrix:
  • 0 : Original matrix; useful for normal video (not anime) because it keep more details.

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  t_ythresh = 3
int  t_cthresh = 4
Temporal treshold for luma and chroma.


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:
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.


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




Back to External Filters

Personal tools