Vinverse: Difference between revisions

From Avisynth wiki
Jump to navigationJump to search
m Requirements: AviSynth 2.6
Asd (talk | contribs)
m Update the version
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FilterCat4|External_filters|Plugins|Restoration_filters|Luma_equalization}}
{{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
|[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]}}
Line 15: Line 14:
<br>
<br>
== Requirements ==
== Requirements ==
* [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater
* [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> 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|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 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
|-
|-
!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 77: 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).
*[https://github.com/tp7/vinverse GitHub] - Source code repository.
<br>
<br>
<br>
<br>
-----------------------------------------------
-----------------------------------------------
'''Back to [[External_filters#Luma_Equalization|External Filters]] &larr;'''
'''Back to [[External_filters#Luma_Equalization|External Filters]] &larr;'''

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


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


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


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

vinverse-0.9.zip


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




Back to External Filters