Vinverse

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Description)
m (Update the version)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FilterCat|External_filters|Restoration_filters|Luma Equalization}}
+
{{FilterCat6|External_filters|Plugins|Plugins_x64|Restoration_filters|Luma_Equalization|Deep_color_tools}}
[[Category:Plugins]]
+
 
{{Filter3
 
{{Filter3
| {{Author/tp7}}
+
| {{Author/tp7}}, {{Author/Asd-g}}
| v0.9
+
| v0.9.4
|[http://github.com/tp7/vinverse/releases/download/0.9/vinverse-x86.zip vinverse-x86.zip]
+
|[https://github.com/Asd-g/vinverse/releases vinverse-0.9.4.7z]
[http://github.com/tp7/vinverse/releases/download/0.9/vinverse-x64.zip vinverse-x64.zip]
+
| 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]}}
<br>
+
 
 
== 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]].
+
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]).
+
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 ==
:- [http://forum.doom9.org/showthread.php?t=168764 AviSynth 2.6.0 Alpha5] or later
+
* [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or [[AviSynth+]]
:- x64 version requires [http://forum.doom9.org/showthread.php?t=168856 AviSynth+ r1576] or later
+
* 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>
:- [http://www.microsoft.com/en-us/download/details.aspx?id=30679 Microsoft Visual C++ 2012 Redistributable Package (x86 / x64)]
+
* [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> 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> required for <tt>vinverse-x64</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|255}}
+
::{{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
+
:::*1 = trash chroma
::::*2 = pass chroma through (copy from input clip)
+
:::*2 = pass chroma through (copy from input clip)
::::*3 = process chroma
+
:::*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
 
|-
 
|-
!v1.0
+
!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 ==
*[http://github.com/tp7/vinverse GitHub] - Source code repository.
+
*[https://github.com/Asd-g/vinverse GitHub] - Source code repository (update).
<br>
+
*[https://github.com/tp7/vinverse GitHub] - Source code repository.
 
<br>
 
<br>
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
'''Back to [[External_filters#Scene_Change_Detection|External Filters]] &larr;'''
+
'''Back to [[External_filters#Luma_Equalization|External Filters]] &larr;'''

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


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


float  sstr = 2.7
Strength of contra sharpening.


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  uv = 3
Chroma mode, as in MaskTools2:
  • 1 = trash chroma
  • 2 = pass chroma through (copy from input clip)
  • 3 = process chroma


float  scl = 0.25
Scale factor for VshrpD*VblurD < 0


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.


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.


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


[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-x64.zip

vinverse-0.9.zip


[edit] External Links

  • GitHub - Source code repository (update).
  • GitHub - Source code repository.




Back to External Filters

Personal tools