VerticalCleaner: Difference between revisions
m link |
m minor formatting |
||
| Line 1: | Line 1: | ||
{{ | {{FilterCat4|External_filters|Plugins|Denoisers|Spatial_denoisers}} | ||
{{Filter3 | {{Filter3 | ||
| {{Author/kassandro}} | | {{Author/kassandro}} | ||
| Line 9: | Line 9: | ||
<br> | <br> | ||
== Description == | == Description == | ||
A fast vertical median plugin which comes in 4 versions: | |||
:{| class="wikitable" border="1"; width="700px" | |||
|- | |- | ||
!!width="200px"| Name | !!width="200px"| Name | ||
| Line 31: | Line 31: | ||
<br> | <br> | ||
== Requirements | == Requirements == | ||
* AviSynth 2.5.8 or later | |||
* [[FAQ_different_types_content#How_do_I_recognize_progressive.2C_interlaced.2C_telecined.2C_hybrid_and_blended_content.3F|Progressive]] input only | |||
* Supported color formats: [[YUY2]], [[YV12]] | |||
* MSVCR80.DLL | |||
<br> | <br> | ||
== Syntax and Parameters == | == [[Script variables|Syntax and Parameters]] == | ||
:{{Template:FuncDef| VerticalCleaner (''clip'', ''int'' "mode", ''bool'' "planar")}} | :{{Template:FuncDef| VerticalCleaner (''clip'', ''int'' "mode", ''bool'' "planar")}} | ||
<br> | |||
::{{Par2| |clip| }} | |||
:::Input clip. | |||
<br> | <br> | ||
::{{Par2|mode|int|2}} | ::{{Par2|mode|int|2}} | ||
| Line 48: | Line 51: | ||
::::* 2 : relaxed vertical median (preserves more detail)<br> | ::::* 2 : relaxed vertical median (preserves more detail)<br> | ||
<br> | <br> | ||
::{{Par2|planar|bool|false}} | ::{{Par2|planar|bool|false}} | ||
:::See SSETools Interleaved2Planar. | :::See SSETools Interleaved2Planar. | ||
<br> | |||
== Description of Modes== | |||
Written by [http://videoprocessing.fr.yuku.com/sreply/649/Can-use-quantile-like-vertical-median-filter#.VB9N5Rb9M-U Kassandro]<br> | |||
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.<br> | |||
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> | <br> | ||
== Examples == | == Examples == | ||
| Line 73: | Line 74: | ||
*[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/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. | *[http://videoprocessing.fr.yuku.com/sreply/649/Can-use-quantile-like-vertical-median-filter VideoProcessing Forum] - Mode 2 explanation by Kassandro. | ||
<br> | <br> | ||
<br> | <br> | ||
----------------------------------------------- | ----------------------------------------------- | ||
'''Back to [[External_filters#Spatial_Denoisers|External Filters]] ←''' | '''Back to [[External_filters#Spatial_Denoisers|External Filters]] ←''' | ||
Revision as of 00:20, 22 September 2014
| Abstract | |
|---|---|
| Author | Kassandro |
| Version | v0.1 |
| Download | VericalCleaner.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. VerticalCleanerSSE2.dll Dynamically linked SSE3 version. [NOT RECOMMENDED] *VerticalCleanerSSE2.dll is highly recommended as it's considered to be the most compatible and stable.
Requirements
- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YUY2, YV12
- MSVCR80.DLL
- VerticalCleaner (clip, int "mode", bool "planar")
- clip =
- Input clip.
- clip =
- int mode = 2
- Modes:
- 0 : copy input
- 1 : vertical median
- 2 : relaxed vertical median (preserves more detail)
- Modes:
- int mode = 2
- bool planar = false
- See SSETools Interleaved2Planar.
- bool planar = false
Description of Modes
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
Links
- VideoProcessing Forum - Parameter description by Kassandro.
- VideoProcessing Forum - Mode 2 explanation by Kassandro.
Back to External Filters ←