Yadifmod

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
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}}
| v1.0
+
| 0.0.4-1
| [http://web.archive.org/web/20140420183914/http://bengal.missouri.edu/~kes25c/yadifmod_v1.zip yadifmod_v1.zip]
+
| [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  
| [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
+
| [https://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
|6=[http://forum.doom9.org/showthread.php?p=1045451#post1045451 Doom9 Thread]
+
|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>
 
<br>
 
== Requirements ==
 
== Requirements ==
*AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]
+
* AviSynth 2.6 or later
*Supported color formats: [[YUY2]], [[YV12]]
+
* Color formats except alpha and [[YUY2]] are supported
 +
 
 
<br>
 
<br>
 
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|yadifmod (clip, int "order", int "field", int "mode", clip "edeint", int "opt")}}
+
:{{Template:FuncDef|yadifmod2 (clip, int "order", int "field", int "mode", clip "edeint", int "opt")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
:::Input clip must be [[YUY2]] or [[YV12]].
+
::: All planar 8/10/12/14/16/float formats except alpha are supported.
 
<br>
 
<br>
 
::{{Par2|order|int|-1}}
 
::{{Par2|order|int|-1}}
:::Sets the field order.
+
::: 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 : 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 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|0}}
+
::{{Par2|opt|int|others}}
 
:::Controls which CPU optimizations are used.
 
:::Controls which CPU optimizations are used.
::::*0 : auto detect
+
::::*0 : Use C++ routine.
::::*1 : force C routine
+
::::*1 : Use SSE2 + SSE routine if possible. When SSE2 can't be used, fallback to 0.
::::*2 : force [[MMX]] routine
+
::::*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>
 
== Changelog ==
 
Version      Date            Changes<br>
 
v1.0        09/15/2007      - 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 ==
*[http://forum.doom9.org/showthread.php?p=1045451#post1045451 Doom9 Forum] - yadifmod discussion.
+
*[https://forum.doom9.org/showthread.php?t=173316 Discussion]
<br>
+
 
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
 
'''Back to [[External_filters#Deinterlacing|External Filters]] &larr;'''
 
'''Back to [[External_filters#Deinterlacing|External Filters]] &larr;'''

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.


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


Examples

yadifmod with default settings:

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


External Links



Back to External Filters

Personal tools