Vinverse: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
m →Requirements: avs+ |
m Update the version |
||
| (3 intermediate revisions by one other user 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]}} | ||
| Line 18: | Line 17: | ||
* x64 version requires [[AviSynth+]] | * x64 version requires [[AviSynth+]] | ||
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | * 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_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> | :<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>vinverse-x64</tt> | ||
| Line 28: | 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 38: | 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 61: | 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 70: | 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 77: | 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#Luma_Equalization|External Filters]] ←''' | '''Back to [[External_filters#Luma_Equalization|External Filters]] ←''' | ||
Latest revision as of 03: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 |
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).
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
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
Examples
Vinverse with default settings:
AviSource("blah.avi") Vinverse(sstr=2.7, amnt=255, uv=3, scl=0.25)
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
Archived Downloads
| Version | Download | Source Code |
|---|---|---|
| v0.9 | vinverse-x86.zip | vinverse-0.9.zip |
External Links
Back to External Filters ←