Yadifmod
From Avisynth wiki
(Difference between revisions)
m (link) |
|||
Line 1: | Line 1: | ||
{{FilterCat4|External_filters|Plugins|Restoration_filters|Deinterlacers}} | {{FilterCat4|External_filters|Plugins|Restoration_filters|Deinterlacers}} | ||
{{Filter3 | {{Filter3 | ||
− | | {{Author/tritical}} | + | | {{Author/tritical}}, {{Author/Chikuzen}} |
− | | | + | | 0.0.4-1 |
− | | [ | + | | [https://github.com/chikuzen/yadifmod2/releases/download/0.0.4-1/yadifmod2-0.0.4-1.zip yadifmod2-0.0.4-1.zip] |
| Deinterlacing | | Deinterlacing | ||
− | | [ | + | | [https://www.gnu.org/licenses/gpl-2.0.txt GPLv2] |
− | |6=[ | + | |6=[https://forum.doom9.org/showthread.php?p=1045451#post1045451 Doom9 Thread] |
}} | }} | ||
== Description == | == Description == | ||
Modified version of Fizick's Avisynth filter port of [[Yadif]] from MPlayer. This version doesn't internally generate spatial predictions, but takes them from an external clip. It's also not an Avisynth_C plugin (just a normal one). | Modified version of Fizick's Avisynth filter port of [[Yadif]] from MPlayer. This version doesn't internally generate spatial predictions, but takes them from an external clip. It's also not an Avisynth_C plugin (just a normal one). | ||
− | + | ||
<br> | <br> | ||
== Requirements == | == Requirements == | ||
− | *AviSynth 2. | + | * AviSynth 2.6 or later |
− | * | + | * Color formats except alpha and [[YUY2]] are supported |
+ | |||
<br> | <br> | ||
− | |||
== [[Script variables|Syntax and Parameters]] == | == [[Script variables|Syntax and Parameters]] == | ||
− | :{{Template:FuncDef| | + | :{{Template:FuncDef|yadifmod2 (clip, int "order", int "field", int "mode", clip "edeint", int "opt")}} |
<br> | <br> | ||
::{{Par2| |clip| }} | ::{{Par2| |clip| }} | ||
− | ::: | + | ::: All planar 8/10/12/14/16/float formats except alpha are supported. |
<br> | <br> | ||
::{{Par2|order|int|-1}} | ::{{Par2|order|int|-1}} | ||
− | ::: | + | ::: Set the field order. |
− | ::::*-1 : use Avisynth's internal parity value | + | ::::*-1(default) : use Avisynth's internal parity value |
::::*0 : bff (bottom field first) | ::::*0 : bff (bottom field first) | ||
::::*1 : tff (top field first) | ::::*1 : tff (top field first) | ||
Line 34: | Line 34: | ||
:::Controls which field to keep when using same rate output. This parameter doesn't do anything when using double rate output. | :::Controls which field to keep when using same rate output. This parameter doesn't do anything when using double rate output. | ||
− | ::::*-1 : | + | ::::*-1 : Set equal to order |
− | ::::*0 : | + | ::::*0 : Keep bottom field |
− | ::::*1 : | + | ::::*1 : Keep top field |
<br> | <br> | ||
::{{Par2|mode|int|0}} | ::{{Par2|mode|int|0}} | ||
:::Controls double rate vs same rate output, and whether or not the spatial interlacing check is performed. | :::Controls double rate vs same rate output, and whether or not the spatial interlacing check is performed. | ||
− | ::::*0 : | + | ::::*0 : Same rate, do spatial check |
− | ::::*1 : | + | ::::*1 : Double rate, do spatial check |
− | ::::*2 : | + | ::::*2 : Same rate, no spatial check |
− | ::::*3 : | + | ::::*3 : Double rate, no spatial check |
<br> | <br> | ||
::{{Par2|edeint|clip|NULL}} | ::{{Par2|edeint|clip|NULL}} | ||
Line 50: | Line 50: | ||
:::If using same rate output, this clip should have the same number of frames as the input. If using double rate output, this clip should have twice as many frames as the input. | :::If using same rate output, this clip should have the same number of frames as the input. If using double rate output, this clip should have twice as many frames as the input. | ||
<br> | <br> | ||
− | ::{{Par2|opt|int| | + | ::{{Par2|opt|int|others}} |
:::Controls which CPU optimizations are used. | :::Controls which CPU optimizations are used. | ||
− | ::::*0 : | + | ::::*0 : Use C++ routine. |
− | ::::*1 : | + | ::::*1 : Use SSE2 + SSE routine if possible. When SSE2 can't be used, fallback to 0. |
− | ::::*2 : | + | ::::*2 : Use SSSE3 + SSE2 + SSE routine if possible. When SSSE3 can't be used, fallback to 1. |
+ | ::::*3 : Use SSE4.1 + SSSE3 + SSE2 + SSE routine if possible. When SSE4.1 can't be used, fallback to 2. | ||
+ | ::::*4 : Use SSE4.1 + SSSE3 + SSE2 + AVX routine if possible. When AVX can't be used, fallback to 3. | ||
+ | ::::*others : Use AVX2 + AVX routine if possible. When AVX2 can't be used, fallback to 4.(default) | ||
+ | |||
<br> | <br> | ||
− | |||
== Examples == | == Examples == | ||
yadifmod with default settings: | yadifmod with default settings: | ||
Line 62: | Line 65: | ||
yadifmod(order=-1, field=-1, mode=0, opt=0) | yadifmod(order=-1, field=-1, mode=0, opt=0) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
== External Links == | == External Links == | ||
− | *[ | + | *[https://forum.doom9.org/showthread.php?t=173316 Discussion] |
− | + | ||
<br> | <br> | ||
----------------------------------------------- | ----------------------------------------------- | ||
'''Back to [[External_filters#Deinterlacing|External Filters]] ←''' | '''Back to [[External_filters#Deinterlacing|External Filters]] ←''' |
Revision as of 04:27, 3 July 2018
Abstract | |
---|---|
Author | tritical, Chikuzen |
Version | 0.0.4-1 |
Download | yadifmod2-0.0.4-1.zip |
Category | Deinterlacing |
License | GPLv2 |
Discussion | Doom9 Thread |
Contents |
Description
Modified version of Fizick's Avisynth filter port of Yadif from MPlayer. This version doesn't internally generate spatial predictions, but takes them from an external clip. It's also not an Avisynth_C plugin (just a normal one).
Requirements
- AviSynth 2.6 or later
- Color formats except alpha and YUY2 are supported
Syntax and Parameters
- yadifmod2 (clip, int "order", int "field", int "mode", clip "edeint", int "opt")
- clip =
- All planar 8/10/12/14/16/float formats except alpha are supported.
- clip =
- int order = -1
- Set the field order.
- int order = -1
- -1(default) : use Avisynth's internal parity value
- 0 : bff (bottom field first)
- 1 : tff (top field first)
- int field = -1
- Controls which field to keep when using same rate output. This parameter doesn't do anything when using double rate output.
- int field = -1
- -1 : Set equal to order
- 0 : Keep bottom field
- 1 : Keep top field
- int mode = 0
- Controls double rate vs same rate output, and whether or not the spatial interlacing check is performed.
- int mode = 0
- 0 : Same rate, do spatial check
- 1 : Double rate, do spatial check
- 2 : Same rate, no spatial check
- 3 : Double rate, no spatial check
- clip edeint = NULL
- Clip from which to take spatial predictions. This clip must be the same width, height, and colorspace as the input clip.
- If using same rate output, this clip should have the same number of frames as the input. If using double rate output, this clip should have twice as many frames as the input.
- clip edeint = NULL
- int opt = others
- Controls which CPU optimizations are used.
- 0 : Use C++ routine.
- 1 : Use SSE2 + SSE routine if possible. When SSE2 can't be used, fallback to 0.
- 2 : Use SSSE3 + SSE2 + SSE routine if possible. When SSSE3 can't be used, fallback to 1.
- 3 : Use SSE4.1 + SSSE3 + SSE2 + SSE routine if possible. When SSE4.1 can't be used, fallback to 2.
- 4 : Use SSE4.1 + SSSE3 + SSE2 + AVX routine if possible. When AVX can't be used, fallback to 3.
- others : Use AVX2 + AVX routine if possible. When AVX2 can't be used, fallback to 4.(default)
- Controls which CPU optimizations are used.
- int opt = others
Examples
yadifmod with default settings:
AviSource("blah.avi") yadifmod(order=-1, field=-1, mode=0, opt=0)
External Links
Back to External Filters ←