Yadif
Port of YADIF (Yet Another DeInterlacing Filter) from MPlayer by Michael Niedermayer (http://www.mplayerhq.hu). It checks pixels of previous, current and next frames to re-create the missed field by some local adaptive method (edge-directed interpolation) and uses spatial check to prevent most artifacts.
Syntax and parameters
Yadif (clip, int "mode", int "order")
mode = 0 : temporal and spatial interlacing check (default).
= 1 : double framerate (bob), temporal and spatial interlacing check.
= 2 : skips spatial interlacing check.
= 3 : double framerate (bob), skips spatial interlacing check.
order = -1 : field order as Avisynth assumes (default).
= 0 : Bottom field first.
= 1 : Top field first.
Features and limitations
Implemented as Avisynth C-plugin (not regular Avisynth plugin). Must be loaded with Load_Stdcall_plugin("yadif.dll") or LoadCplugin("yadif.dll") (not LoadPlugin !). Do not use autoloading. (Note: in Avisynth v2.5.7 there is no need for explicit loading of Avisynth_c.dll by user for such plugins.)
Tested in Avisynth v2.5.7 (probably works with v2.5.6 and above).
Field parity of source clip must be properly set (use AssumeTFF, AssumeBFF).
Very fast. Assembler SSEMMX optimization from mplayer (compiled with MinGW GCC).
YUY2, Planar YV12 color format only.