VerticalCleaner
From Avisynth wiki
(Difference between revisions)
m |
m |
||
Line 1: | Line 1: | ||
{{FilterCat|External_filters|Denoisers|Spatial Denoisers}} | {{FilterCat|External_filters|Denoisers|Spatial Denoisers}} | ||
− | {{ | + | {{Filter2 |
| {{Author/kassandro}} | | {{Author/kassandro}} | ||
− | | | + | | v0.1 |
− | | [http://home.arcor.de/kassandro/prerelease/VerticalCleaner.rar VericalCleaner] | + | | [http://home.arcor.de/kassandro/prerelease/VerticalCleaner.rar VericalCleaner.rar] |
| Spatial Denoisers | | Spatial Denoisers | ||
− | |||
− | |||
− | |||
| [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | | [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | ||
|}} | |}} | ||
Line 15: | Line 12: | ||
::There are 4 version of the plugin: | ::There are 4 version of the plugin: | ||
− | :::* VerticalCleaner.dll = dynamically linked SSE version | + | :::* VerticalCleaner.dll = dynamically linked [[SSE]] version |
− | :::* VerticalCleanerS.dll = statically linked SSE version | + | :::* VerticalCleanerS.dll = statically linked [[SSE]] version |
− | :::* VerticalCleanerSSE2.dll = dynamically linked SSE2 version | + | :::* VerticalCleanerSSE2.dll = dynamically linked [[SSE2]] version |
− | :::* VerticalCleanerSSE3.dll = dynamically linked | + | :::* VerticalCleanerSSE3.dll = dynamically linked [[SSE3]] version |
− | + | ||
− | + | ||
− | + | ||
<br> | <br> | ||
+ | == Requirements: == | ||
+ | :- AviSynth 2.5.8 or later | ||
+ | :- Supported color formats: [[YUY2]], [[YV12]] | ||
+ | :- MSVCR80.DLL | ||
+ | <br> | ||
== Syntax and Parameters == | == Syntax and Parameters == | ||
− | :{{Template:FuncDef| VerticalCleaner(clip | + | :{{Template:FuncDef| VerticalCleaner (''clip'', ''int'' "mode", ''bool'' "planar")}} |
<br> | <br> | ||
− | ::{{ | + | ::{{Par2|mode|int|2}} |
:::Modes: | :::Modes: | ||
− | ::::* 0 : copy | + | ::::* 0 : copy input |
::::* 1 : vertical median | ::::* 1 : vertical median | ||
::::* 2 : relaxed vertical median (preserves more detail)<br> | ::::* 2 : relaxed vertical median (preserves more detail)<br> | ||
Line 43: | Line 42: | ||
::::::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. | ::::::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. | ||
<br> | <br> | ||
− | ::{{ | + | ::{{Par2|planar|bool|false}} |
:::See SSETools Interleaved2Planar. | :::See SSETools Interleaved2Planar. | ||
<br> | <br> | ||
− | |||
== Examples == | == Examples == | ||
+ | VerticalCleaner with default values: | ||
[[AviSource]]("Blah.avi") | [[AviSource]]("Blah.avi") | ||
− | VerticalCleaner() | + | VerticalCleaner(mode=2, planar=false) |
<br> | <br> | ||
− | |||
== Changelog == | == Changelog == | ||
2008-02-28 : | 2008-02-28 : | ||
- Initial release | - Initial release | ||
<br> | <br> | ||
− | |||
== Links == | == Links == | ||
− | + | *[http://videoprocessing.fr.yuku.com/sreply/651/Can-use-quantile-like-vertical-median-filter VideoProcessing Forum] - Parameter description by Kassandro.<br> | |
− | + | *[http://videoprocessing.fr.yuku.com/sreply/649/Can-use-quantile-like-vertical-median-filter VideoProcessing Forum] - Mode 2 explanation by Kassandro. | |
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | ----------------------------------------------- | ||
+ | '''Back to [[External_filters#Spatial_Denoisers|External Filters]] ←''' |
Revision as of 15:02, 18 January 2014
Abstract | |
---|---|
Author | Kassandro |
Version | v0.1 |
Download | VericalCleaner.rar |
Category | Spatial Denoisers |
License | GPLv2 |
Contents |
Description
- A fast vertical median plugin.
Requirements:
- - MSVCR80.DLL
Syntax and Parameters
- VerticalCleaner (clip, int "mode", bool "planar")
- int mode = 2
- Modes:
- 0 : copy input
- 1 : vertical median
- 2 : relaxed vertical median (preserves more detail)
- Modes:
- int mode = 2
- Description of mode 2:
- 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.
- Description of mode 2:
- bool planar = false
- See SSETools Interleaved2Planar.
- bool planar = false
Examples
VerticalCleaner with default values:
AviSource("Blah.avi") VerticalCleaner(mode=2, planar=false)
Changelog
2008-02-28 : - Initial release
Links
- VideoProcessing Forum - Parameter description by Kassandro.
- VideoProcessing Forum - Mode 2 explanation by Kassandro.
Back to External Filters ←