# VerticalCleaner

Abstract | |
---|---|

Author | Kassandro |

Version | v0.1 |

Download | VerticalCleaner.rar |

Category | Spatial Denoisers |

License | GPLv2 |

Discussion | |

## Contents |

## [edit] 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.**

## [edit] Requirements

- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YUY2, YV12

- MSVCR80.DLL

## [edit] Syntax and Parameters

- 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)

- Modes:

*bool*planar =*false*

- See SSETools Interleaved2Planar.

## [edit] 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.

## [edit] Examples

VerticalCleaner with default values:

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

## [edit] Changelog

2008-02-28 : - Initial release

## [edit] Archived Downloads

Version | Download | Mirror |
---|---|---|

v0.1 | VerticalCleaner.rar |

## [edit] External Links

- VideoProcessing Forum - Parameter description by Kassandro.

- VideoProcessing Forum - Mode 2 explanation by Kassandro.

**Back to External Filters ←**