VerticalCleaner

From Avisynth wiki
Revision as of 19:40, 17 February 2020 by Reel.Deal (talk | contribs) (archived links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Abstract
Author Kassandro
Version v0.1
Download VerticalCleaner.rar
Category Spatial Denoisers
License GPLv2
Discussion VideoProcessing Forum

Description

A fast vertical median plugin which comes in 4 versions:

Name Comments
VerticalCleanerS.dll Statically linked SSE version.
VerticalCleaner.dll Dynamically linked SSE version.
VerticalCleanerSSE2.dll Dynamically linked SSE2 version.
VerticalCleanerSSE3.dll Dynamically linked SSE3 version. [NOT RECOMMENDED]
*VerticalCleanerSSE2.dll is highly recommended as it's considered to be the most compatible and stable.


Note: RgTools is recommended as a modern drop-in replacement for VerticalCleaner.

Requirements

  • MSVCR80.DLL


VerticalCleaner (clip, int "mode", bool "planar")


clip   =
Input clip.


int  mode = 2
Modes:
  • 0 : copy input
  • 1 : vertical median
  • 2 : relaxed vertical median (preserves more detail)


bool  planar = false
See SSETools Interleaved2Planar.


Mode Description

Written by Kassandro

Let b1, b2, c, t1, t2 be a vertical sequence of pixels. The center pixel c is to be modified in terms of the 4 neighbours. For simplicity let us assume that b2 <= t1. Then in mode 1, c is clipped with respect to b2 and t1, i.e. c is replaced by max(b2, min(c, t1)). In mode 2 the clipping intervall is widened, i.e. mode 2 is more conservative than mode 1. If b2 > b1 and t1 > t2, then c is replaced by max(b2, min(c, max(t1,d1) )), where d1 = min(b2 + (b2 - b1), t1 + (t1 - t2)). In other words, only if the gradient towards the center is positive on both clipping ends, then the upper clipping bound may be larger. If b2 < b1 and t1 < t2, then c is replaced by max(min(b2, d2), min(c, t1)), where d2 = max(b2 - (b1 - b2), t1 - (t2 - t1)). In other words, only if the gradient towards the center is negative on both clipping ends, then the lower clipping bound may be smaller.
In mode 1 the top and the bottom line are always left unchanged. In mode 2 the two first and the two last lines are always left unchanged.

Examples

VerticalCleaner with default values:

AviSource("Blah.avi")
VerticalCleaner(mode=2, planar=false)


Changelog

2008-02-28 :
 - Initial release


Archived Downloads

Version Download Mirror
v0.1 VericalCleaner.rar VerticalCleaner.rar





Back to External Filters ←