From Avisynth wiki
Revision as of 15:22, 17 June 2020 by Asd (Talk | contribs)
Jump to: navigation, search
Author Chikuzen, Asd-g
Version v0.2.5
Download yadifmod2-
Category Deinterlacing
License GPLv2
Discussion Doom9 Forum



Yet Another Deinterlacing Filter mod for AviSynth2.6/AviSynth+.


*** vcredist_x86.exe is required for Yadifmod2-x86
*** vcredist_x64.exe is required for Yadifmod2-x64

Syntax and Parameters

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

clip   =
Input clip; all planar YUV/YUVA/RGB/RGBA formats 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.
  • -1 : Set equal to order
  • 0 : Keep bottom field
  • 1 : Keep top field
This parameter doesn't do anything when using double rate output.

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. If this is not set, yadifmod2 will generate spatial predictions itself as same as yadif.
This clip must be the same width, height, colorspace and bit depth 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)


yadifmod2 with default settings:

yadifmod2(order=-1, field=-1, mode=0)


Version      Date            Changes
v0.2.5 2020/06/12 - Fixed crashing when opt=4 and the bit depth is not 32-bit. v0.2.4 2020/05/26 - Allow clips with alpha plane. v0.2.3 2020/05/22 - Changes by asd-g - Fixed high bit-depth output. - Fixed crash for mode=2/3 when opt>0. v0.2.2 2020/05/14 - Changes by asd-g - Copy frame properties when available v0.2.1 2020/05/13 - Changes by asd-g - Use internal CPU check - Removed /arch:AVX2 requirement for AVX2 code. v0.2.0 2016/08/15 - Add AviSynth+ planar RGB and 10/12/14bits formats support. v0.1.0 2016/07/07 - Add AviSynth+ high bit depth formats support.(back port from VapourSynth version) v0.0.4-1 2016/07/04 - requires Avisynth 2.6.0 / Avisynth+MT r2005 or later. v0.0.4 2016/05/27 - Set filter mode as MT_NICE_FILTER automatically on AviSynth+. v0.0.3 2016/03/20 - Add missing prediction score update. - Also, fix previous frame position when n == 0. - Now, the outputs of yadifmod2 w/o edeint clip are almost same as yadif1.7 except edge part of image. v0.0.2 2016/03/18 - Fix wrong calculation of spatial predictions when opt > 1. v0.0.1 2016/03/07 - Change default value of 'opt' to -1 and remove wrong description. - This filter does not require 32byte alignment. v0.0.0 2016/03/04 - Initial release

External Links

  • GitHub - Source code repository.
  • GitHub - Source code repository (update).

Back to External Filters

Personal tools