Xaa

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Syntax and Parameters: typo)
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FilterCat4|External_filters|Scripts|Restoration_filters|Anti-aliasing}}
+
{{FilterCat5|External_filters|Scripts|Restoration_filters|Anti-aliasing|Deep_color_tools}}
 
{{Filter3
 
{{Filter3
 
| Desbreko
 
| Desbreko
| v1.1.1
+
| v1.2.1
| [http://www.mediafire.com/download/sygi04y47eknvc2/xaa_v1.1.1.avsi xaa_v1.1.1.avsi]
+
| [http://www.mediafire.com/download/sygi04y47eknvc2/xaa_v1.2.1.avsi xaa_v1.2.1.avsi]
 
| Anti-aliasing  
 
| Anti-aliasing  
 
|  
 
|  
 
|  
 
|  
 
}}
 
}}
 
 
== Description ==
 
== Description ==
Versatile anti-aliasing script.<br>
+
A highly versatile [[anti aliasing|anti-aliasing]] function.<br>
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0] or greater
+
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6.0]
 +
* [x64]: [[AviSynth+]]
 
* [[FAQ_different_types_content#How_do_I_recognize_progressive.2C_interlaced.2C_telecined.2C_hybrid_and_blended_content.3F|Progressive]] input only  
 
* [[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: [[YV12]], [[YV24]]
+
* Supported color formats: [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]
:<span style="color:red">**</span>Some functionality isn't available for YV24 due to plugin limitations.
+
  
 
==== Required Plugins ====
 
==== Required Plugins ====
Line 26: Line 25:
 
*[[MaskTools2]]
 
*[[MaskTools2]]
 
*[[nnedi3|NNEDI3]]
 
*[[nnedi3|NNEDI3]]
 +
*[[nnedi3ocl]]
 
*[[RgTools]]
 
*[[RgTools]]
 
*[[SangNom2]]
 
*[[SangNom2]]
Line 32: Line 32:
  
 
==== Required Scripts ====
 
==== Required Scripts ====
* [[Resize8]] | [http://www.nmm-hd.org/upload/get~8y1IjaaqvoI/Resize8_v1.2.avsi Resize8_v1.2.avsi]
+
*[[edi_rpow2]] | [http://www.mediafire.com/view/pcmkxaauku375xd/edi_rpow2_v1.0.avsi edi_rpow2_v1.0.avsi]
 +
* [[ResizeX]] | [http://www.mediafire.com/download/lcbtb7uta4ta5pc/ResizeX_v1.0.avsi ResizeX_v1.0.avsi]
 
<br>
 
<br>
  
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|xaa (clip input, int "ow", int "oh", float "ss", val "ssw", val "ssh", string "mode", string "uscl", string "dscl", int "csharp", float "cstr", int "mask", string "mtype", float "mthr", int "chroma", int "nns", float "eedimthr", float "eediA", float "eediB", float "eediG", bool "lsb_in", bool "lsb", int "dithermode", int "threads")}}
+
:{{Template:FuncDef|xaa (clip input, int "ow", int "oh", float "ss", val "ssw", val "ssh", string "mode", string "uscl", string "dscl", int "csharp", float "cstr", int "mask", string "mtype", float "mthr", int "chroma", string "cplace", int "nns", float "eedimthr", float "eediA", float "eediB", float "eediG", bool "lsb_in", bool "lsb", int "threads")}}
 
<br>
 
<br>
 
::{{Par2|input|clip| }}
 
::{{Par2|input|clip| }}
Line 47: Line 48:
 
<br>
 
<br>
 
::{{Par2|ss|float|2.0}}
 
::{{Par2|ss|float|2.0}}
:::The multiplier for determining the supersampled width and height.
+
:::The multiplier for determining the supersampled resolution which is then rounded to mod4.
:::Supersampled resolution is automatically rounded to mod4. Defaults to 1.0 (no supersampling) for merged double rate aa modes.
+
:::Defaults to 1.0 (no supersampling) for double rate and double image antialiasing modes
 
<br>
 
<br>
 
::{{Par2|ssw|val|ss}}
 
::{{Par2|ssw|val|ss}}
Line 54: Line 55:
 
:::Allows separate control of the supersampled width and height. Overrides the ss value.
 
:::Allows separate control of the supersampled width and height. Overrides the ss value.
 
:::When specified as a float, they act as a multiplier like the ss parameter.
 
:::When specified as a float, they act as a multiplier like the ss parameter.
:::When specified as an int, the given value is used for the supersampled width or height without rounding to mod4. Beware of chroma issues with mod2 YV12 resolutions.
+
:::When specified as an int, the given value is used for the supersampled width or height without rounding to mod4.
 
<br>
 
<br>
::{{Par2|mode|string|"SangNom2"}}
+
::{{Par2|mode|string|"sr SangNom2"}}
:::Determines which type of antialiasing is performed. Preset modes will change default settings to mimic other antialiasing filters.
+
:::Specifies how to perform antialiasing in the format <tt>"[aa mode][direction][passes] [type] [sclip]"</tt> with the settings below available for each option. Antialiasing can also be disabled with <tt>"null"</tt>
  
 
:::{|
 
:::{|
 
|-
 
|-
|TurnLeft/TurnRight aa types:  
+
|AA mode:  
|<code>"SangNom2", "nnedi3", "eedi3", "eedi3+nnedi3", "eedi2"</code>
+
|<code>sr, dr, di</code>
 
|-
 
|-
|Merged double rate aa types:  
+
|Direction:  
|<code>"dnnedi3", "deedi3", "deedi3+dnnedi3"</code>
+
|<code>h, v, b</code>
 
|-
 
|-
|Presets:
+
|Passes:
|<code>"maa2, "daa", "MrdaaLame"</code>
+
|<code>1 to 9</code>
 
|-
 
|-
|Disable aa:  
+
|Type:  
|<code>"null"</code>
+
|<code>SangNom2, nnedi3, nnedi3ocl, eedi3, eedi2</code>
 +
|-
 +
|Sclip:
 +
|<code>SangNom2, nnedi3, nnedi3ocl, eedi2, or any resize kernel</code>
 +
|}
 +
 
 +
:::'''AA Mode'''
 +
:::The antialiasing mode determines what method of antialiasing is used.
 +
:::*<tt>'''sr'''</tt> uses single rate deinterlacing, discarding one field of the frame and interpolating it from the remaining field.
 +
:::*<tt>'''dr'''</tt> uses double rate deinterlacing, interpolating full-height frames from both fields and then blending the two together.
 +
:::*<tt>'''di'''</tt> doubles the image height by interpolating every other line for the first pass, uses single rate deinterlacing for subsequent passes, and then downscales back to the original resolution.
 +
 
 +
:::'''Direction'''
 +
:::By setting the direction to h or v, antialiasing can be applied only horizontally or vertically. If the direction is set to b or omitted, antialiasing will be applied in both directions.
 +
 
 +
:::'''Passes'''
 +
:::The more passes used, the stronger the antialiasing will be. If the number of passes is omitted, it will default to 1.
 +
 
 +
:::'''Type'''
 +
:::The type determines which deinterlacing plugin is used for antialiasing.
 +
 
 +
:::'''Sclip'''
 +
:::The sclip option only applies when the type is set to eedi3 and will be undefined if omitted. If specified, the given deinterlacer or resize kernel will be used to generate the sclip for eedi3. See eedi3's documentation for more details.
 +
 
 +
:::'''Preset Modes'''
 +
:::Preset modes which change the default settings to mimic other antialiasing functions are also available: <code>"maa2, "daa", "Mrdaa" or "MrdaaLame", "santiag"</code>
 +
 
 +
:::Equivalent settings:
 +
:::{|
 +
|-
 +
|maa2:
 +
|<code>xaa(mtype="sobel", mthr=7)</code>
 +
|-
 +
|daa:
 +
|<code>xaa(mode="drv nnedi3", csharp=1, mask=0, chroma=1)</code>
 +
|-
 +
|Mrdaa:
 +
|<code>xaa(mode="null", uscl="nnedi3", csharp=2, cstr=1.0, mask=0, chroma=1)</code>
 +
|-
 +
|santiag:
 +
|<code>xaa(mode="di2 nnedi3", mask=0, chroma=1)</code>
 
|}
 
|}
 
<br>
 
<br>
 
::{{Par2|uscl|string|"Spline36"}}
 
::{{Par2|uscl|string|"Spline36"}}
 
::{{Par2|dscl|string|"Spline36"}}
 
::{{Par2|dscl|string|"Spline36"}}
:::The resizing kernels used when upscaling the video, such as when supersampling, and when downscaling the video, such as after supersampling.
+
:::The resize kernels used when upscaling, such as when supersampling, and when downscaling, such as when scaling back to the input resolution after supersampling.
:::Supports all kernels from Resize8 and Dither_resize16 plus "nnedi3" and "eedi3" for their rpow2 scalers. For the Lanczos, Blackman, and Sinc kernels, the taps parameter can be set with a number after the kernel name. E.g. "Blackman3" for BlackmanResize(taps=3).
+
:::Supports all of AviSynth's internal resizers and ResizeX's bicubic presets, and for upscaling, <code>"nnedi3", "nnedi3ocl", "eedi3",</code> and <code>"eedi2"</code> can also be used for their rpow2 image enlargement.
 +
 
 +
:::*For the <tt>Lanczos, Blackman,</tt> and <tt>Sinc</tt> kernels, the number of taps can be set with a number after the kernel name. E.g. <code>"Blackman3"</code> for <tt>BlackmanResize(taps=3)</tt>.
 +
 
 +
:::*For <tt>eedi3</tt> upscaling, the {{Template:FuncDef3|sclip}} setting can be specified with a resize kernel name or edi method on the end of the string. E.g. <code>"eedi3 nnedi3"</code> to upscale with <tt>eedi3</tt> using <tt>nnedi3</tt> as the {{Template:FuncDef3|sclip}}.
 
<br>
 
<br>
 
::{{Par2|csharp|int|0}}
 
::{{Par2|csharp|int|0}}
Line 104: Line 149:
 
::{{Par2|mthr|float|8.0}}
 
::{{Par2|mthr|float|8.0}}
 
:::The threshold of the edge mask. Rounded to the nearest integer for mt_edge types.
 
:::The threshold of the edge mask. Rounded to the nearest integer for mt_edge types.
:::*When mask=1, lower values result in more edges getting processed.
+
:::*When mask=1, lower values result in more edges getting antialiased.
 
:::*When mask=2, lower values result in fewer edges getting excluded.
 
:::*When mask=2, lower values result in fewer edges getting excluded.
 
<br>
 
<br>
Line 111: Line 156:
 
:::* 1 : Processes both the luma and chroma planes
 
:::* 1 : Processes both the luma and chroma planes
 
:::* 2 : Processes the chroma planes only
 
:::* 2 : Processes the chroma planes only
 +
<br>
 +
::{{Par2|cplace|string|"MPEG2"}}
 +
:::Specifies the input's chroma placement. Options are <code>"MPEG1"</code> and <code>"MPEG2"</code>.
 +
:::Only applies to formats with subsampled chroma. Note that only [[YV12]] should be able to have MPEG1 chroma placement.
 
<br>
 
<br>
 
::{{Par2|nns|int|1}}
 
::{{Par2|nns|int|1}}
:::nnedi3's nns parameter for modes that use it. Ranges from 0 to 4. Higher values will provide better quality but will be slower.
+
:::nnedi3's <tt>nns</tt> parameter for <tt>nnedi3</tt> and <tt>nnedi3ocl</tt> antialiasing. Ranges from 0 to 4. Higher values will provide better quality but will be slower.
:::This setting doesn't affect resizing with nnedi3_rpow2.
+
:::This setting doesn't affect upscaling with <tt>nnedi3</tt> or <tt>nnedi3ocl</tt>.
 
<br>
 
<br>
 
::{{Par2|eedimthr|float|0.0}}
 
::{{Par2|eedimthr|float|0.0}}
:::A value greater than 0 creates an edge mask with the given value's threshold to be used with eedi3 modes. Edge-directed interpolation will be used only on masked edges, increasing the filter's speed as the threshold is raised, but at the risk of excluding edges that need antialiasing.
+
:::A value greater than 0 creates an edge mask with the given value's threshold to be used with <tt>eedi3</tt> antialiasing and upscaling.
:::A value of 0 or below disables the mask.
+
:::Edge-directed interpolation will be used only on masked edges, increasing eedi3's speed as the threshold is raised, but at the risk of excluding edges that need antialiasing.
:::This setting doesn't affect resizing with eedi3_rpow2.
+
 
<br>
 
<br>
 
::{{Par2|eediA|float|0.2}}
 
::{{Par2|eediA|float|0.2}}
 
::{{Par2|eediB|float|0.25}}
 
::{{Par2|eediB|float|0.25}}
 
::{{Par2|eediG|float|20.0}}
 
::{{Par2|eediG|float|20.0}}
:::eedi3's alpha, beta, and gamma parameters for modes that use it. They adjust the balance between connecting lines and creating artifacts.
+
:::eedi3's <tt>alpha, beta,</tt> and <tt>gamma</tt> parameters for <tt>eedi3</tt> antialiasing and upscaling. They adjust the balance between connecting lines and creating artifacts.
:::eediA and eediB must be in the range 0 to 1 and their sum can't exceed 1. See eedi3's documentation for more info.
+
:::{{Template:FuncDef3|eediA}} and {{Template:FuncDef3|eediB}} must be in the range 0 to 1 and their sum can't exceed 1. See eedi3's documentation for more info.
:::These settings also affect resizing with eedi3_rpow2.
+
 
<br>
 
<br>
 
::{{Par2|lsb_in|bool|false}}
 
::{{Par2|lsb_in|bool|false}}
Line 135: Line 182:
 
:::Set to true to output a stacked 16-bit clip.
 
:::Set to true to output a stacked 16-bit clip.
 
:::Because some functions don't support 16-bit, a few combinations of settings will result in the lsb being empty.
 
:::Because some functions don't support 16-bit, a few combinations of settings will result in the lsb being empty.
<br>
 
::{{Par2|dithermode|int|6}}
 
:::The mode parameter for DitherPost when converting from stacked 16-bit to 8-bit. See Dither's documentation for explanations of the different modes.
 
 
<br>
 
<br>
 
::{{Par2|threads|int|Undefined}}
 
::{{Par2|threads|int|Undefined}}
Line 148: Line 192:
 
  [[AviSource]]("Blah.avi")
 
  [[AviSource]]("Blah.avi")
 
  xaa()
 
  xaa()
 +
 +
Downscaling an 8-bit source with 16-bit processing
 +
[http://forum.doom9.org/showthread.php?p=1724750#post1724750 (source)]
 +
# 8-bit 1080p source
 +
xaa(ow=1280, oh=720, mode="nnedi3", lsb=true)
 +
[[Dither_tools#GradFun3|GradFun3]](thr=0.2, lsb=true, lsb_in=true)
 +
[[Dither_tools#Dither_out|Dither_out]]()
 
<br>
 
<br>
 +
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
v1.2.1      09/13/2015      - Fixed a bug in eedi3 upscaling with an sclip setting.<br>
 +
v1.2        09/11/2015      - Added nnedi3ocl antialiasing and upscaling
 +
                              - FTurn is now optional
 +
                              - Resize8 is no longer required
 +
                              - ResizeX is now required
 +
                              - edi_rpow2 is now required
 +
                              - Added support for YV16 and YUY2
 +
                              - Removed dithermode parameter
 +
                              - Added cplace parameter
 +
                              - Changed the syntax of the mode parameter string (old settings still work)
 +
                              - Added "santiag" preset mode
 +
                              - Added double image antialiasing mode
 +
                              - Added multipass antialiasing
 +
                              - Added horizontal-only and vertical-only antialiasing
 +
                              - All deinterlacing plugins can now be used for all antialiasing modes
 +
                              - The eedimthr parameter now also applies to upscaling with eedi3
 +
                              - Expanded support for eedi3's sclip parameter for both antialiasing and upscaling
 +
                              - Added eedi2 upscaling<br>
 +
v1.1.2      08/14/2015      - Fixed center shift and csharp=1 for mode="eedi2". Border fix now used for all modes but eedi2.<br>
 
  v1.1.1      04/09/2015      - Added option to set TEMmod's type that I forgot
 
  v1.1.1      04/09/2015      - Added option to set TEMmod's type that I forgot
                               - Improved handling of borders with merged modes
+
                               - Improved handling of borders with merged modes<br>
  v1.1        02/28/2015      - Supports TEMmod and TCannyMod masks, more eedi3 options, MrdaaLame preset as fast as the original.
+
  v1.1        02/28/2015      - Supports TEMmod and TCannyMod masks, more eedi3 options, MrdaaLame preset as fast as the original.<br>
  v1.0.3      11/06/2014      - Fixed a bug with csharp=2. It wasn't actually being applied when lsb=true
+
  v1.0.3      11/06/2014      - Fixed a bug with csharp=2. It wasn't actually being applied when lsb=true<br>
  v1.0.2      11/02/2014      - Now preserves the lsb in masked areas when using csharp=2, cstr>0, mask>0
+
  v1.0.2      11/02/2014      - Now preserves the lsb in masked areas when using csharp=2, cstr>0, mask>0<br>
 
<br>
 
<br>
 
== External Links ==
 
== External Links ==

Latest revision as of 08:32, 6 July 2020

Abstract
Author Desbreko
Version v1.2.1
Download xaa_v1.2.1.avsi
Category Anti-aliasing
License
Discussion

Contents

[edit] Description

A highly versatile anti-aliasing function.

[edit] Requirements

[edit] Required Plugins

Latest version of the following plugins are recommended unless stated otherwise.

[edit] Required Scripts


[edit] Syntax and Parameters

xaa (clip input, int "ow", int "oh", float "ss", val "ssw", val "ssh", string "mode", string "uscl", string "dscl", int "csharp", float "cstr", int "mask", string "mtype", float "mthr", int "chroma", string "cplace", int "nns", float "eedimthr", float "eediA", float "eediB", float "eediG", bool "lsb_in", bool "lsb", int "threads")


clip  input =
Input clip to be processed.


int  ow = input.width()
int  oh = input.height()
The output width and height. Useful for when the video is going to be resized after antialising.
Use a negative value for either to disable resizing after supersampling. If not defined it defaults to the dimensions of the input clip.


float  ss = 2.0
The multiplier for determining the supersampled resolution which is then rounded to mod4.
Defaults to 1.0 (no supersampling) for double rate and double image antialiasing modes


val  ssw = ss
val  ssh = ss
Allows separate control of the supersampled width and height. Overrides the ss value.
When specified as a float, they act as a multiplier like the ss parameter.
When specified as an int, the given value is used for the supersampled width or height without rounding to mod4.


string  mode = "sr SangNom2"
Specifies how to perform antialiasing in the format "[aa mode][direction][passes] [type] [sclip]" with the settings below available for each option. Antialiasing can also be disabled with "null"
AA mode: sr, dr, di
Direction: h, v, b
Passes: 1 to 9
Type: SangNom2, nnedi3, nnedi3ocl, eedi3, eedi2
Sclip: SangNom2, nnedi3, nnedi3ocl, eedi2, or any resize kernel
AA Mode
The antialiasing mode determines what method of antialiasing is used.
  • sr uses single rate deinterlacing, discarding one field of the frame and interpolating it from the remaining field.
  • dr uses double rate deinterlacing, interpolating full-height frames from both fields and then blending the two together.
  • di doubles the image height by interpolating every other line for the first pass, uses single rate deinterlacing for subsequent passes, and then downscales back to the original resolution.
Direction
By setting the direction to h or v, antialiasing can be applied only horizontally or vertically. If the direction is set to b or omitted, antialiasing will be applied in both directions.
Passes
The more passes used, the stronger the antialiasing will be. If the number of passes is omitted, it will default to 1.
Type
The type determines which deinterlacing plugin is used for antialiasing.
Sclip
The sclip option only applies when the type is set to eedi3 and will be undefined if omitted. If specified, the given deinterlacer or resize kernel will be used to generate the sclip for eedi3. See eedi3's documentation for more details.
Preset Modes
Preset modes which change the default settings to mimic other antialiasing functions are also available: "maa2, "daa", "Mrdaa" or "MrdaaLame", "santiag"
Equivalent settings:
maa2: xaa(mtype="sobel", mthr=7)
daa: xaa(mode="drv nnedi3", csharp=1, mask=0, chroma=1)
Mrdaa: xaa(mode="null", uscl="nnedi3", csharp=2, cstr=1.0, mask=0, chroma=1)
santiag: xaa(mode="di2 nnedi3", mask=0, chroma=1)


string  uscl = "Spline36"
string  dscl = "Spline36"
The resize kernels used when upscaling, such as when supersampling, and when downscaling, such as when scaling back to the input resolution after supersampling.
Supports all of AviSynth's internal resizers and ResizeX's bicubic presets, and for upscaling, "nnedi3", "nnedi3ocl", "eedi3", and "eedi2" can also be used for their rpow2 image enlargement.
  • For the Lanczos, Blackman, and Sinc kernels, the number of taps can be set with a number after the kernel name. E.g. "Blackman3" for BlackmanResize(taps=3).
  • For eedi3 upscaling, the sclip setting can be specified with a resize kernel name or edi method on the end of the string. E.g. "eedi3 nnedi3" to upscale with eedi3 using nnedi3 as the sclip.


int  csharp = 0
  • 0 : No contra-sharpening.
  • 1 : Applies contra-sharpening before scaling to output resolution.
  • 2 : Applies contra-sharpening after scaling to output resolution.


float  cstr = -1.0
Controls the strength of the contra-sharpening.
Any negative value uses RemoveGrain(11) as in daa.
A positive value uses Blur as in Mrdaa, up to a max of 7.9.
A value of 0 disables contra-sharpening and overrides the csharp setting.


int  mask = 1
  • 0 : Processes the entire frame
  • 1 : Processes edges only
  • 2 : Processes everything except edges
A negative value will show an overlay of the mask.


string  mtype = "TEMmod"
The type of edge mask to use. Options are: "TEMmod", "TCannyMod", and mt_edge's "sobel", "roberts", "laplace", "prewitt", "cartoon", and "min/max". A custom kernel for mt_edge may also be used. See its documentation for more info.
TEMmod's type parameter can be set with a number on the end of the string. E.g. "TEMmod5" for type=5. If no number is given, the default of 4 is used. See TEMmod's documentation for explanations of the different types.
This setting also determines the mask type for the eedimthr parameter.


float  mthr = 8.0
The threshold of the edge mask. Rounded to the nearest integer for mt_edge types.
  • When mask=1, lower values result in more edges getting antialiased.
  • When mask=2, lower values result in fewer edges getting excluded.


int  chroma = 0
  • 0 : Processes the luma plane only
  • 1 : Processes both the luma and chroma planes
  • 2 : Processes the chroma planes only


string  cplace = "MPEG2"
Specifies the input's chroma placement. Options are "MPEG1" and "MPEG2".
Only applies to formats with subsampled chroma. Note that only YV12 should be able to have MPEG1 chroma placement.


int  nns = 1
nnedi3's nns parameter for nnedi3 and nnedi3ocl antialiasing. Ranges from 0 to 4. Higher values will provide better quality but will be slower.
This setting doesn't affect upscaling with nnedi3 or nnedi3ocl.


float  eedimthr = 0.0
A value greater than 0 creates an edge mask with the given value's threshold to be used with eedi3 antialiasing and upscaling.
Edge-directed interpolation will be used only on masked edges, increasing eedi3's speed as the threshold is raised, but at the risk of excluding edges that need antialiasing.


float  eediA = 0.2
float  eediB = 0.25
float  eediG = 20.0
eedi3's alpha, beta, and gamma parameters for eedi3 antialiasing and upscaling. They adjust the balance between connecting lines and creating artifacts.
eediA and eediB must be in the range 0 to 1 and their sum can't exceed 1. See eedi3's documentation for more info.


bool  lsb_in = false
Set to true if the input is a stacked 16-bit clip.
Because none of the plugins used for antialiasing support 16-bit, the input will almost always need to be dithered to 8-bit at some point, but it will be processed in 16-bit where possible.


bool  lsb = false
Set to true to output a stacked 16-bit clip.
Because some functions don't support 16-bit, a few combinations of settings will result in the lsb being empty.


int  threads = Undefined
The number of threads to use for each instance of SangNom2, nnedi3, and eedi3.
Leave this undefined to let the plugins choose automatically.


[edit] Examples

xaa with default settings:

AviSource("Blah.avi")
xaa()

Downscaling an 8-bit source with 16-bit processing (source)

# 8-bit 1080p source 
xaa(ow=1280, oh=720, mode="nnedi3", lsb=true)
GradFun3(thr=0.2, lsb=true, lsb_in=true)
Dither_out()


[edit] Changelog

Version      Date            Changes
v1.2.1 09/13/2015 - Fixed a bug in eedi3 upscaling with an sclip setting.
v1.2 09/11/2015 - Added nnedi3ocl antialiasing and upscaling - FTurn is now optional - Resize8 is no longer required - ResizeX is now required - edi_rpow2 is now required - Added support for YV16 and YUY2 - Removed dithermode parameter - Added cplace parameter - Changed the syntax of the mode parameter string (old settings still work) - Added "santiag" preset mode - Added double image antialiasing mode - Added multipass antialiasing - Added horizontal-only and vertical-only antialiasing - All deinterlacing plugins can now be used for all antialiasing modes - The eedimthr parameter now also applies to upscaling with eedi3 - Expanded support for eedi3's sclip parameter for both antialiasing and upscaling - Added eedi2 upscaling
v1.1.2 08/14/2015 - Fixed center shift and csharp=1 for mode="eedi2". Border fix now used for all modes but eedi2.
v1.1.1 04/09/2015 - Added option to set TEMmod's type that I forgot - Improved handling of borders with merged modes
v1.1 02/28/2015 - Supports TEMmod and TCannyMod masks, more eedi3 options, MrdaaLame preset as fast as the original.
v1.0.3 11/06/2014 - Fixed a bug with csharp=2. It wasn't actually being applied when lsb=true
v1.0.2 11/02/2014 - Now preserves the lsb in masked areas when using csharp=2, cstr>0, mask>0


[edit] External Links




Back to External Filters

Personal tools