Vinverse
From Avisynth wiki
(Difference between revisions)
m (→Description) |
m (Update the version) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{FilterCat6|External_filters|Plugins|Plugins_x64|Restoration_filters|Luma_Equalization|Deep_color_tools}} |
− | + | ||
{{Filter3 | {{Filter3 | ||
− | | {{Author/tp7}} | + | | {{Author/tp7}}, {{Author/Asd-g}} |
− | | v0.9 | + | | v0.9.4 |
− | |[ | + | |[https://github.com/Asd-g/vinverse/releases vinverse-0.9.4.7z] |
− | + | | Luma Equalization | |
− | | Luma Equalization | + | |
| [http://opensource.org/licenses/MIT MIT] but binaries are [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | | [http://opensource.org/licenses/MIT MIT] but binaries are [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | ||
|6=[http://forum.doom9.org/showthread.php?t=169832 Doom9 Thread]}} | |6=[http://forum.doom9.org/showthread.php?t=169832 Doom9 Thread]}} | ||
− | + | ||
== Description == | == Description == | ||
− | + | A modern rewrite of a simple but effective plugin to remove residual combing originally based on an [http://forum.doom9.org/showpost.php?p=841641&postcount=3 AviSynth script by Didée] and then [[Vinverse/2.5|written as a plugin by tritical]].<br> | |
− | + | This plugin also includes a fast implementation of the {{Template:FuncDef|<tt>Vinverse2</tt>}} function ([http://forum.doom9.org/showpost.php?p=1584186&postcount=62 yet another script written by Didée]). | |
+ | <br> | ||
<br> | <br> | ||
− | |||
== Requirements == | == Requirements == | ||
− | + | * [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or [[AviSynth+]] | |
− | + | * x64 version requires [[AviSynth+]] | |
− | + | * Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | |
+ | ** AviSynth+: All [[planar]] Y/YUV formats (8/10/12/14/16-bits) are supported. | ||
<br> | <br> | ||
− | + | * [https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 Microsoft VisualC++ Redistributable Package 2022 (x86 / x64)] | |
− | + | :<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>vinverse-x86</tt> | |
− | + | :<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>vinverse-x64</tt> | |
<br> | <br> | ||
Line 29: | Line 28: | ||
|- | |- | ||
|{{Template:FuncDef|vinverse}} | |{{Template:FuncDef|vinverse}} | ||
− | |{{Template:FuncDef| (clip, float "sstr" int "amnt", int "uv", float "scl")}} | + | |{{Template:FuncDef| (clip, float "sstr" int "amnt", int "uv", float "scl", int "opt", clip "clip2", int "thr")}} |
|- | |- | ||
|{{Template:FuncDef|vinverse2}} | |{{Template:FuncDef|vinverse2}} | ||
− | |{{Template:FuncDef| (clip, float "sstr" int "amnt", int "uv", float "scl")}} | + | |{{Template:FuncDef| (clip, float "sstr" int "amnt", int "uv", float "scl", int "opt")}} |
|} | |} | ||
<br> | <br> | ||
Line 39: | Line 38: | ||
<br> | <br> | ||
::{{Par2|sstr|float|2.7}} | ::{{Par2|sstr|float|2.7}} | ||
− | :::Strength of contra sharpening. | + | :::Strength of contra sharpening. |
<br> | <br> | ||
− | ::{{Par2|amnt|int| | + | ::{{Par2|amnt|int|}} |
:::Change no pixel by more than this. | :::Change no pixel by more than this. | ||
− | :::Valid range: 0 to 255 | + | :::Valid range: 0 to the maximum range the input clip's bitdepth. |
+ | :::Default: range_max ((2 ^ bit_depth) - 1). For example, for 8-bit is 255 and for 16-bit is 65535. | ||
<br> | <br> | ||
::{{Par2|uv|int|3}} | ::{{Par2|uv|int|3}} | ||
− | :::Chroma mode, as in [[MaskTools2]]: | + | :::Chroma mode, as in [[MaskTools2]]: |
− | + | :::*1 = trash chroma | |
− | + | :::*2 = pass chroma through (copy from input clip) | |
− | + | :::*3 = process chroma | |
<br> | <br> | ||
::{{Par2|scl|float|0.25}} | ::{{Par2|scl|float|0.25}} | ||
− | :::Scale factor for VshrpD*VblurD < 0 | + | :::Scale factor for <code>VshrpD*VblurD < 0</code> |
+ | <br> | ||
+ | ::{{Par2|opt|int|-1}} | ||
+ | :::Sets which cpu optimizations to use. | ||
+ | :::*-1: Auto-detect. | ||
+ | :::*0: Use C++ code. | ||
+ | :::*1: Use SSE2 code. | ||
+ | :::*2: Use AVX2 code. | ||
+ | :::*3: Use AVX512 code. | ||
+ | :::Default: -1. | ||
+ | <br> | ||
+ | ::{{Par2|clip2|clip|}} | ||
+ | :::Only applicable to vinverse. | ||
+ | :::External clip from which to take contra sharpening. | ||
+ | :::This clip must be the same length, width, height, and colorspace as the input clip. | ||
+ | <br> | ||
+ | ::{{Par2|thr|int|0}} | ||
+ | :::Threshold; only applicable to vinverse. | ||
+ | :::If the absolute difference between the source and the blurred pixel is below this threshold, the pixel is just copied otherwirse it's processed. | ||
+ | :::Must be between 0 and range_max. | ||
+ | :::Default: 0 (every pixel is processed). | ||
<br> | <br> | ||
− | == Examples == | + | == Examples == |
Vinverse with default settings: | Vinverse with default settings: | ||
[[AviSource]]("blah.avi") | [[AviSource]]("blah.avi") | ||
Line 62: | Line 82: | ||
== Changelog == | == Changelog == | ||
Version Date Changes<br> | Version Date Changes<br> | ||
− | v0.9 11/30/2013 - Initial release | + | v0.9.4 04/22/2022 - Fixed overflow when `clip2` is used. <br> |
+ | v0.9.3 04/03/2022 - Added parameter thr. (vinverse only) <br> | ||
+ | v0.9.2 03/19/2022 - Added parameter clip2. (vinverse only) <br> | ||
+ | v0.9.1 03/14/2022 - Changed MT mode from MT_NICE_FILTER to [[MT_MULTI_INSTANCE]]. | ||
+ | - Added support for 10..16-bit clips. | ||
+ | - Added AVX2 and AVX512 code. | ||
+ | - Added parameter opt. | ||
+ | - Added support for frame properties passthrough. | ||
+ | - Added version.<br> | ||
+ | v0.9 11/30/2013 - Initial release | ||
<br> | <br> | ||
== Archived Downloads == | == Archived Downloads == | ||
Line 71: | Line 100: | ||
!!width="150px"| Source Code | !!width="150px"| Source Code | ||
|- | |- | ||
− | ! | + | !v0.9 |
− | |[http://github.com/tp7/vinverse/releases/download/0.9/vinverse-x86.zip vinverse-x86.zip] | + | |[http://github.com/tp7/vinverse/releases/download/0.9/vinverse-x86.zip vinverse-x86.zip] |
[http://github.com/tp7/vinverse/releases/download/0.9/vinverse-x64.zip vinverse-x64.zip] | [http://github.com/tp7/vinverse/releases/download/0.9/vinverse-x64.zip vinverse-x64.zip] | ||
|[http://github.com/tp7/vinverse/archive/0.9.zip vinverse-0.9.zip] | |[http://github.com/tp7/vinverse/archive/0.9.zip vinverse-0.9.zip] | ||
Line 78: | Line 107: | ||
<br> | <br> | ||
== External Links == | == External Links == | ||
− | *[ | + | *[https://github.com/Asd-g/vinverse GitHub] - Source code repository (update). |
− | + | *[https://github.com/tp7/vinverse GitHub] - Source code repository. | |
<br> | <br> | ||
<br> | <br> | ||
----------------------------------------------- | ----------------------------------------------- | ||
− | '''Back to [[External_filters# | + | '''Back to [[External_filters#Luma_Equalization|External Filters]] ←''' |
Latest revision as of 02:20, 16 May 2022
Abstract | |
---|---|
Author | tp7, Asd-g |
Version | v0.9.4 |
Download | vinverse-0.9.4.7z |
Category | Luma Equalization |
License | MIT but binaries are GPLv2 |
Discussion | Doom9 Thread |
Contents |
[edit] Description
A modern rewrite of a simple but effective plugin to remove residual combing originally based on an AviSynth script by Didée and then written as a plugin by tritical.
This plugin also includes a fast implementation of the Vinverse2 function (yet another script written by Didée).
[edit] Requirements
- AviSynth 2.6.0 or AviSynth+
- x64 version requires AviSynth+
- Supported color formats: Y8, YV12, YV16, YV24, YV411
- AviSynth+: All planar Y/YUV formats (8/10/12/14/16-bits) are supported.
- *** vcredist_x86.exe is required for vinverse-x86
- *** vcredist_x64.exe is required for vinverse-x64
[edit] Syntax and Parameters
vinverse (clip, float "sstr" int "amnt", int "uv", float "scl", int "opt", clip "clip2", int "thr") vinverse2 (clip, float "sstr" int "amnt", int "uv", float "scl", int "opt")
- clip =
- Input clip
- clip =
- float sstr = 2.7
- Strength of contra sharpening.
- float sstr = 2.7
- int amnt =
- Change no pixel by more than this.
- Valid range: 0 to the maximum range the input clip's bitdepth.
- Default: range_max ((2 ^ bit_depth) - 1). For example, for 8-bit is 255 and for 16-bit is 65535.
- int amnt =
- int uv = 3
- Chroma mode, as in MaskTools2:
- 1 = trash chroma
- 2 = pass chroma through (copy from input clip)
- 3 = process chroma
- Chroma mode, as in MaskTools2:
- int uv = 3
- float scl = 0.25
- Scale factor for
VshrpD*VblurD < 0
- Scale factor for
- float scl = 0.25
- int opt = -1
- Sets which cpu optimizations to use.
- -1: Auto-detect.
- 0: Use C++ code.
- 1: Use SSE2 code.
- 2: Use AVX2 code.
- 3: Use AVX512 code.
- Default: -1.
- Sets which cpu optimizations to use.
- int opt = -1
- clip clip2 =
- Only applicable to vinverse.
- External clip from which to take contra sharpening.
- This clip must be the same length, width, height, and colorspace as the input clip.
- clip clip2 =
- int thr = 0
- Threshold; only applicable to vinverse.
- If the absolute difference between the source and the blurred pixel is below this threshold, the pixel is just copied otherwirse it's processed.
- Must be between 0 and range_max.
- Default: 0 (every pixel is processed).
- int thr = 0
[edit] Examples
Vinverse with default settings:
AviSource("blah.avi") Vinverse(sstr=2.7, amnt=255, uv=3, scl=0.25)
[edit] Changelog
Version Date Changes
v0.9.4 04/22/2022 - Fixed overflow when `clip2` is used.
v0.9.3 04/03/2022 - Added parameter thr. (vinverse only)
v0.9.2 03/19/2022 - Added parameter clip2. (vinverse only)
v0.9.1 03/14/2022 - Changed MT mode from MT_NICE_FILTER to MT_MULTI_INSTANCE. - Added support for 10..16-bit clips. - Added AVX2 and AVX512 code. - Added parameter opt. - Added support for frame properties passthrough. - Added version.
v0.9 11/30/2013 - Initial release
[edit] Archived Downloads
Version | Download | Source Code |
---|---|---|
v0.9 | vinverse-x86.zip | vinverse-0.9.zip |
[edit] External Links
Back to External Filters ←