Yadifmod

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (add x64 category)
(yadifmod26: update documentation and page to match Chikuzen's version)
Line 2: Line 2:
 
{{Filter3
 
{{Filter3
 
| {{Author/tritical}}, {{Author/Chikuzen}}
 
| {{Author/tritical}}, {{Author/Chikuzen}}
| 0.0.4-1
+
| v0.0.0
| [https://github.com/chikuzen/yadifmod2/releases/download/0.0.4-1/yadifmod2-0.0.4-1.zip yadifmod2-0.0.4-1.zip]
+
| [https://github.com/chikuzen/yadifmod26/releases yadifmod26-0.0.0.zip]
 
| Deinterlacing  
 
| Deinterlacing  
| [https://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
+
| [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
|6=[https://forum.doom9.org/showthread.php?p=1045451#post1045451 Doom9 Thread]
+
|6=[http://forum.doom9.org/showthread.php?p=1045451#post1045451 Doom9 Thread]
 
}}
 
}}
  
<br>
 
 
== 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).
+
YadifMod for AviSynth 2.6.x / AviSynth+ by Chikuzen
  
 +
 +
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>
 
<br>
 
== Requirements ==
 
== Requirements ==
* AviSynth 2.6 or later
+
* [x86]: [[AviSynth+]] or [http://forum.doom9.org/showthread.php?t=168764 AviSynth 2.6]
* Color formats except alpha and [[YUY2]] are supported
+
* [x64]: [[AviSynth+]]
 
+
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]]
 
<br>
 
<br>
 +
* Windows Vista SP2 or later
 +
* Microsoft VisualC++ Redistributable Package 2015
 +
<br>
 +
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|yadifmod2 (clip, int "order", int "field", int "mode", clip "edeint", int "opt")}}
+
:{{Template:FuncDef|yadifmod (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.
+
:::Input clip.
 
<br>
 
<br>
 
::{{Par2|order|int|-1}}
 
::{{Par2|order|int|-1}}
::: Set the field order.
+
:::Sets the field order.
  
::::*-1(default) : use Avisynth's internal parity value
+
::::*-1 : 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 35: Line 41:
 
:::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 : Set equal to order
+
::::*-1 : set equal to order
::::*0 : Keep bottom field
+
::::*0 : keep bottom field
::::*1 : Keep top field
+
::::*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 : Same rate, do spatial check
+
::::*0 : same rate, do spatial check
::::*1 : Double rate, do spatial check
+
::::*1 : double rate, do spatial check
::::*2 : Same rate, no spatial check
+
::::*2 : same rate, no spatial check
::::*3 : Double rate, no spatial check
+
::::*3 : double rate, no spatial check
 
<br>
 
<br>
 
::{{Par2|edeint|clip|NULL}}
 
::{{Par2|edeint|clip|NULL}}
Line 51: Line 57:
 
:::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|others}}
+
::{{Par2|opt|int|1}}
 
:::Controls which CPU optimizations are used.
 
:::Controls which CPU optimizations are used.
::::*0 : Use C++ routine.
+
::::*-1 : auto detect
::::*1 : Use SSE2 + SSE routine if possible. When SSE2 can't be used, fallback to 0.
+
::::*0 : force C routine
::::*2 : Use SSSE3 + SSE2 + SSE routine if possible. When SSSE3 can't be used, fallback to 1.
+
::::*1 : force [[SSE2]] routine
::::*3 : Use SSE4.1 + SSSE3 + SSE2 + SSE routine if possible. When SSE4.1 can't be used, fallback to 2.
+
::::*2 : force [[AVX2]] routine
::::*4 : Use SSE4.1 + SSSE3 + SSE2 + AVX routine if possible. When AVX can't be used, fallback to 3.
+
:::Don't set this to -1 or 2 if you are using AviSynth2.6.0. If you use AviSynth+, there are no problems.
::::*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 66: Line 71:
 
  yadifmod(order=-1, field=-1, mode=0, opt=0)
 
  yadifmod(order=-1, field=-1, mode=0, opt=0)
  
 +
<br>
 +
== Changelog ==
 +
Version      Date            Changes<br>
 +
V0.0.0      2016/03/01      - Rewite for Avisynth 2.6 and Avisynth+
 +
                              - Support all planar YUV colorspaces
 +
                              - Change "opt" default to 1
 +
                              - x64 build
 +
v1.0        2007/09/15      - Initial Release
 +
<br>
 +
== Archived Downloads ==
 +
{| class="wikitable" border="1"; width="400px"
 +
|-
 +
!!width="100px"| Version
 +
!!width="150px"| Download
 +
!!width="150px"| Mirror
 +
|-
 +
!v1.0
 +
|<strike>[http://bengal.missouri.edu/~kes25c/yadifmod_v1.zip yadifmod_v1.zip]</strike>
 +
|[http://web.archive.org/web/20140420183914/http://bengal.missouri.edu/~kes25c/yadifmod_v1.zip yadifmod_v1.zip]
 +
|}
 
<br>
 
<br>
 
== External Links ==
 
== External Links ==
*[https://forum.doom9.org/showthread.php?t=173316 Discussion]
+
*[http://forum.doom9.org/showthread.php?p=1045451#post1045451 Doom9 Forum] - yadifmod discussion.
 
+
*[https://github.com/chikuzen/yadifmod26 GitHub] - Source code repository.
 +
<br>
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
 
'''Back to [[External_filters#Deinterlacing|External Filters]] &larr;'''
 
'''Back to [[External_filters#Deinterlacing|External Filters]] &larr;'''

Revision as of 17:41, 28 March 2020

Abstract
Author tritical, Chikuzen
Version v0.0.0
Download yadifmod26-0.0.0.zip
Category Deinterlacing
License GPLv2
Discussion Doom9 Thread

Contents

Description

YadifMod for AviSynth 2.6.x / AviSynth+ by Chikuzen


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


  • Windows Vista SP2 or later
  • Microsoft VisualC++ Redistributable Package 2015


Syntax and Parameters

yadifmod (clip, int "order", int "field", int "mode", clip "edeint", int "opt")


clip   =
Input clip.


int  order = -1
Sets the field order.
  • -1 : 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.
  • -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.
  • 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.


int  opt = 1
Controls which CPU optimizations are used.
  • -1 : auto detect
  • 0 : force C routine
  • 1 : force SSE2 routine
  • 2 : force AVX2 routine
Don't set this to -1 or 2 if you are using AviSynth2.6.0. If you use AviSynth+, there are no problems.


Examples

yadifmod with default settings:

AviSource("blah.avi")
yadifmod(order=-1, field=-1, mode=0, opt=0)


Changelog

Version      Date            Changes
V0.0.0 2016/03/01 - Rewite for Avisynth 2.6 and Avisynth+ - Support all planar YUV colorspaces - Change "opt" default to 1 - x64 build v1.0 2007/09/15 - Initial Release


Archived Downloads

Version Download Mirror
v1.0 yadifmod_v1.zip yadifmod_v1.zip


External Links




Back to External Filters

Personal tools