Nnedi3ocl/nnedi3x

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(nnedi3x)
 
m (remove category 'Script_functions')
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Back to [[nnedi3ocl#Filters|nnedi3ocl]] ←'''
+
{{FilterCat|External_filters|Restoration_filters|Deinterlacers}}
 +
'''Back to [[nnedi3ocl]] ←'''
 
--------------------------------------------------
 
--------------------------------------------------
<br>
 
 
<br>
 
<br>
 
== Description ==
 
== Description ==
:nnedi3x is the same as [[nnedi3ocl/nnedi3ocl|nnedi3ocl]] but for RGB24 and YUY2 input only.  
+
nnedi3x script function is the same as [[nnedi3ocl/nnedi3ocl|nnedi3ocl]] but supports [[RGB24]] and [[YUY2]]; it also doesn't complain if you feed it with the now removed parameters from the original nnedi3.  
 +
<br>
 
<br>
 
<br>
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|nnedi3ocl (''clip'', ''int'' "field", ''bool'' "dh", ''bool'' "Y", ''bool'' "U", ''bool'' "V", ''int'' "nsize", ''int'' "nns", ''int'' "qual", ''int'' "etype", ''int'' "pscrn", ''int'' "threads", ''int'' "opt", ''int'' "fapprox", ''int'' "dw")}}
+
:{{Template:FuncDef|nnedi3x (''clip'', ''int'' "field", ''bool'' "dh", ''bool'' "Y", ''bool'' "U", ''bool'' "V", ''int'' "nsize", ''int'' "nns", ''int'' "qual", ''int'' "etype", ''int'' "pscrn", ''int'' "threads", ''int'' "opt", ''int'' "fapprox", ''int'' "dw")}}
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Input clip.
 
<br>
 
<br>
 
::{{Par2|field|int|-1}}
 
::{{Par2|field|int|-1}}
Line 20: Line 24:
 
::::*3 = double rate (alternates each frame), starts with top
 
::::*3 = double rate (alternates each frame), starts with top
  
:::If {{Template:FuncDef|field}} is set to -1, then nnedi3ocl calls child->GetParity(0) during initialization.
+
:::If {{Template:FuncDef|field}} is set to -1, then nnedi3ocl calls child->GetParity(0) during initialization. If it returns true, then {{Template:FuncDef|field}} is set to 1. If it returns false, then {{Template:FuncDef|field}} is set to 0.
:::If it returns true, then {{Template:FuncDef|field}} is set to 1. If it returns false, then {{Template:FuncDef|field}} is set to 0.
+
 
:::If {{Template:FuncDef|field}} is set to -2, then the same thing happens, but instead of setting {{Template:FuncDef|field}} to 1 or 0 it is set to 3 or 2.
 
:::If {{Template:FuncDef|field}} is set to -2, then the same thing happens, but instead of setting {{Template:FuncDef|field}} to 1 or 0 it is set to 3 or 2.
<br>
+
 
:::&bull; Default for {{Template:FuncDef|field}} is the value of {{Template:FuncDef|dw}}.
+
:::* Default for {{Template:FuncDef|field}} is the value of {{Template:FuncDef|dw}}.
 
<br>
 
<br>
 
::{{Par2|dh|bool|false}}
 
::{{Par2|dh|bool|false}}
:::Doubles the height of the input. Each line of the input is copied to every other line
+
:::Doubles the height of the input. Each line of the input is copied to every other line of the output and the missing lines are interpolated.  
:::of the output and the missing lines are interpolated. If {{Template:FuncDef|field}}=0, the input is copied
+
:::If {{Template:FuncDef|field}}=0, the input is copied to the odd lines of the output. If {{Template:FuncDef|field}}=1, the input is copied to the even lines of the output.
:::to the odd lines of the output. If {{Template:FuncDef|field}}=1, the input is copied to the even lines of
+
 
:::the output. {{Template:FuncDef|field}} must be set to either -1, 0, or 1 when using {{Template:FuncDef|dh}}=true.
+
:::* {{Template:FuncDef|field}} must be set to either -1, 0, or 1 when using {{Template:FuncDef|dh}}=true.
<br>
+
:::* Default for {{Template:FuncDef|dh}} is false when {{Template:FuncDef|dw}}=-1 and true otherwise.
:::&bull; Default for {{Template:FuncDef|dh}} is false when {{Template:FuncDef|dw}}=-1 and true otherwise.
+
 
<br>
 
<br>
 
::{{Par2|Y|bool|true}}
 
::{{Par2|Y|bool|true}}
 
::{{Par2|U|bool|true}}
 
::{{Par2|U|bool|true}}
 
::{{Par2|V|bool|true}}
 
::{{Par2|V|bool|true}}
:::These control whether or not the specified plane is processed. Set to true to
+
:::These control whether or not the specified plane is processed. Set to true to process or false to ignore.  
:::process or false to ignore. Ignored planes are not copied, zero'd, or even
+
:::Ignored planes are not copied, zero'd, or even considered. So what the ignored planes happen to contain on output is unpredictable.
:::considered. So what the ignored planes happen to contain on output is unpredictable.
+
 
<br>
 
<br>
 
::{{Par2|nsize|int|0}}
 
::{{Par2|nsize|int|0}}
Line 49: Line 50:
 
<br>
 
<br>
 
::{{Par2|nns|int|1}}
 
::{{Par2|nns|int|1}}
:::Sets the number of neurons in the predictor neural network. Possible settings are
+
:::Sets the number of neurons in the predictor neural network. Possible settings are 0, 1, 2, 3, and 4. 0 is fastest. 4 is slowest, but should give the best quality.  
:::0, 1, 2, 3, and 4. 0 is fastest. 4 is slowest, but should give the best quality. This
+
:::This is a quality vs speed option; however, differences are usually small. The difference in speed will become larger as '{{Template:FuncDef|qual}}' is increased.
:::is a quality vs speed option; however, differences are usually small. The difference
+
:::in speed will become larger as '{{Template:FuncDef|qual}}' is increased.
+
  
 
::::*0 - 16
 
::::*0 - 16
Line 61: Line 60:
 
<br>
 
<br>
 
::{{Par2|qual|int|1}}
 
::{{Par2|qual|int|1}}
:::Controls the number of different neural network predictions that are blended together
+
:::Controls the number of different neural network predictions that are blended together to compute the final output value.  
:::to compute the final output value. Each neural network was trained on a different set
+
:::Each neural network was trained on a different set of training data. Blending the results of these different networks improves generalization to unseen data.
:::of training data. Blending the results of these different networks improves generalization
+
:::Possible values are 1 or 2. Essentially this is a quality vs speed option. Larger values will result in more processing time, but should give better results.
:::to unseen data. Possible values are 1 or 2. Essentially this is a quality vs speed
+
:::However, the difference is usually pretty small. I would recommend using {{Template:FuncDef|qual}}>1 for things like single image enlargement.
:::option. Larger values will result in more processing time, but should give better results.
+
:::However, the difference is usually pretty small. I would recommend using {{Template:FuncDef|qual}}>1 for
+
:::things like single image enlargement.
+
 
<br>
 
<br>
 
::{{Par2|etype|int|0}}
 
::{{Par2|etype|int|0}}
Line 76: Line 72:
 
<br>
 
<br>
 
::{{Par2|pscrn |int| }}
 
::{{Par2|pscrn |int| }}
:::This option is not implemented and is silently ignored.
 
<br>
 
 
::{{Par2|threads|int| }}
 
::{{Par2|threads|int| }}
:::This option is not implemented and is silently ignored.
 
<br>
 
 
::{{Par2|opt|int| }}
 
::{{Par2|opt|int| }}
:::This option is not implemented and is silently ignored.
 
<br>
 
 
::{{Par2|fapprox|int| }}
 
::{{Par2|fapprox|int| }}
:::This option is not implemented and is silently ignored.  
+
:::These parameters are not implemented and is silently ignored.  
 
<br>
 
<br>
 
::{{Par2|dw|int|-1}}
 
::{{Par2|dw|int|-1}}
Line 102: Line 92:
 
<br>
 
<br>
 
--------------------------------------------------------
 
--------------------------------------------------------
'''Back to [[nnedi3ocl#Filters|nnedi3ocl]] &larr;'''
+
'''Back to [[nnedi3ocl]] &larr;'''

Latest revision as of 05:54, 8 November 2015

Back to nnedi3ocl



[edit] Description

nnedi3x script function is the same as nnedi3ocl but supports RGB24 and YUY2; it also doesn't complain if you feed it with the now removed parameters from the original nnedi3.

[edit] Syntax and Parameters

nnedi3x (clip, int "field", bool "dh", bool "Y", bool "U", bool "V", int "nsize", int "nns", int "qual", int "etype", int "pscrn", int "threads", int "opt", int "fapprox", int "dw")


clip   =
Input clip.


int  field = -1
Controls the mode of operation (double vs same rate) and which field is kept.
Possible settings:
  • -2 = double rate (alternates each frame), uses avisynth's internal parity value to start
  • -1 = same rate, uses avisynth's internal parity value
  • 0 = same rate, keep bottom field
  • 1 = same rate, keep top field
  • 2 = double rate (alternates each frame), starts with bottom
  • 3 = double rate (alternates each frame), starts with top
If field is set to -1, then nnedi3ocl calls child->GetParity(0) during initialization. If it returns true, then field is set to 1. If it returns false, then field is set to 0.
If field is set to -2, then the same thing happens, but instead of setting field to 1 or 0 it is set to 3 or 2.
  • Default for field is the value of dw.


bool  dh = false
Doubles the height of the input. Each line of the input is copied to every other line of the output and the missing lines are interpolated.
If field=0, the input is copied to the odd lines of the output. If field=1, the input is copied to the even lines of the output.
  • field must be set to either -1, 0, or 1 when using dh=true.
  • Default for dh is false when dw=-1 and true otherwise.


bool  Y = true
bool  U = true
bool  V = true
These control whether or not the specified plane is processed. Set to true to process or false to ignore.
Ignored planes are not copied, zero'd, or even considered. So what the ignored planes happen to contain on output is unpredictable.


int  nsize = 0
Sets the size of the local neighborhood around each pixel that is used by the predictor neural network.
  • 0 - 8x6
Only nsize 0 is implemented, other values are simply ignored.


int  nns = 1
Sets the number of neurons in the predictor neural network. Possible settings are 0, 1, 2, 3, and 4. 0 is fastest. 4 is slowest, but should give the best quality.
This is a quality vs speed option; however, differences are usually small. The difference in speed will become larger as 'qual' is increased.
  • 0 - 16
  • 1 - 32
  • 2 - 64
  • 3 - 128
  • 4 - 256


int  qual = 1
Controls the number of different neural network predictions that are blended together to compute the final output value.
Each neural network was trained on a different set of training data. Blending the results of these different networks improves generalization to unseen data.
Possible values are 1 or 2. Essentially this is a quality vs speed option. Larger values will result in more processing time, but should give better results.
However, the difference is usually pretty small. I would recommend using qual>1 for things like single image enlargement.


int  etype = 0
Controls which set of weights to use in the predictor nn. Possible settings:
  • 0 - weights trained to minimize absolute error
  • 1 - weights trained to minimize squared error


int  pscrn =
int  threads =
int  opt =
int  fapprox =
These parameters are not implemented and is silently ignored.


int  dw = -1
Controls scaling in horizontal direction:
  • -1 - no scaling.
  • 0 - scales like field 0 with dh=true, but horizontally.
  • 1 - scales like field 1 with dh=true, but horizontally.


[edit] Examples

nnedi3x with default settings:

AviSource("Blah.avi")
nnedi3x(field=-1, dh=false, Y=true, U=true, V=true, nsize=0, nns=1, qual=1, etype=0, dw=-1)




Back to nnedi3ocl

Personal tools