Nnedi3ocl/nnedi3ocl
From Avisynth wiki
(Difference between revisions)
(nnediocl/nnediocl) |
m (→Syntax and Parameters) |
||
Line 8: | Line 8: | ||
<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'' " | + | :{{Template:FuncDef|nnedi3ocl (''clip'', ''int'' "field", ''bool'' "dh", ''bool'' "Y", ''bool'' "U", ''bool'' "V", ''int'' "nsize", ''int'' "nns", ''int'' "qual", ''int'' "etype", ''int'' "dw")}} |
<br> | <br> | ||
::{{Par2|field|int|-1}} | ::{{Par2|field|int|-1}} | ||
Line 24: | Line 24: | ||
:::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> | ||
+ | :::• Default for {{Template:FuncDef|field}} is the value of {{Template:FuncDef|dw}}. | ||
<br> | <br> | ||
::{{Par2|dh|bool|false}} | ::{{Par2|dh|bool|false}} | ||
Line 30: | Line 32: | ||
:::to the odd lines of the output. If {{Template:FuncDef|field}}=1, the input is copied to the even lines of | :::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. | :::the output. {{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. | ||
<br> | <br> | ||
::{{Par2|Y|bool|true}} | ::{{Par2|Y|bool|true}} | ||
Line 38: | Line 42: | ||
:::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| | + | ::{{Par2|nsize|int|0}} |
:::Sets the size of the local neighborhood around each pixel that is used by the predictor neural network. | :::Sets the size of the local neighborhood around each pixel that is used by the predictor neural network. | ||
::::*0 - 8x6 | ::::*0 - 8x6 | ||
− | :::Only nsize 0 is implemented, other values are simply ignored. | + | :::Only {{Template:FuncDef|nsize}} 0 is implemented, other values are simply ignored. |
<br> | <br> | ||
::{{Par2|nns|int|1}} | ::{{Par2|nns|int|1}} | ||
Line 72: | Line 76: | ||
::::*1 - weights trained to minimize squared error | ::::*1 - weights trained to minimize squared error | ||
<br> | <br> | ||
+ | ::{{Par2|dw|int|-1}} | ||
+ | :::Controls scaling in horizontal direction: | ||
+ | |||
+ | ::::*-1 - no scaling. | ||
+ | ::::*0 - scales like {{Template:FuncDef|field}} 0 with {{Template:FuncDef|dh}}=true, but horizontally. | ||
+ | ::::*1 - scales like {{Template:FuncDef|field}} 1 with {{Template:FuncDef|dh}}=true, but horizontally. | ||
+ | <br> | ||
+ | |||
== Examples == | == Examples == | ||
nnedi3 with default settings: | nnedi3 with default settings: |
Revision as of 01:32, 24 May 2014
Back to nnedi3ocl ←
Description
- nnedi3ocl is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using
- only information from the kept field. It has same rate and double rate modes, and works with Y8, YV12, YV16, and YV24 input.
Syntax and Parameters
- nnedi3ocl (clip, int "field", bool "dh", bool "Y", bool "U", bool "V", int "nsize", int "nns", int "qual", int "etype", int "dw")
- int field = -1
- Controls the mode of operation (double vs same rate) and which field is kept.
- Possible settings:
- int field = -1
- -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.
- bool dh = false
- • 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.
- bool Y = true
- int nsize = 0
- Sets the size of the local neighborhood around each pixel that is used by the predictor neural network.
- int nsize = 0
- 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.
- int nns = 1
- 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 qual = 1
- int etype = 0
- Controls which set of weights to use in the predictor nn. Possible settings:
- int etype = 0
- 0 - weights trained to minimize absolute error
- 1 - weights trained to minimize squared error
- int dw = -1
- Controls scaling in horizontal direction:
- int dw = -1
- -1 - no scaling.
- 0 - scales like field 0 with dh=true, but horizontally.
- 1 - scales like field 1 with dh=true, but horizontally.
Examples
nnedi3 with default settings:
AviSource("Blah.avi") nnedi3(field=-1, dh=false, Y=true, U=true, V=true, nsize=6, nns=1, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=15)
Back to nnedi3ocl ←