Перенос (порт) YADIF (Yet Another DeInterlacing Filter) дентерлейс фильтра из MPlayer от Michael Niedermayer (http://www.mplayerhq.hu). Он проверяет пикселы предыдущего, текущего и последующего кадра для восстановления пропущенного поля некоторым локально адаптивным методом (выравнивающей края интерполяцией) и использует пространственную проверку для предотвращения большинства артефактов.
Yadif
(clip, int "mode", int "order", bool "planar", int "opt")
mode = 0 : временная и пространственная проверки (по умолчанию).
= 1 : удвоение частоты кадров (bob), временная и пространственная проверки.
= 2 : не делать пространственную проверку чересстрочности.
= 3 : удвоение частоты кадров (bob), не делать пространственную проверку чересстрочности.
order = -1 : порядок полей как полагает (по умолчанию).
= 0 : Нижнее поле первое.
= 1 : Верхнее поле первое.
planar = false : обычный YUY2 формат пиксела Avisynth (по умолчанию).
= true : флаг (игнорируемый для YV12) для (хакнутого) планарного YUY2 цветового формата входных и выходных клипов, совместимого с функциями Interleaved2planar и Planar2Interleaved из плагина RemoveGrain (SSETools) от Kassandro (для исключения многократных преобразований).
opt = -1 : CPU оптимизация - автоматически (по умолчанию).
= 0 : slow C version.
= 1 : Integer SSE.
= 2 : SSE2.
= 3 : SSSE3 (some).
Реализован как Avisynth C-плагин (не обычный Avisynth плагин).
Должен загружаться командой Load_Stdcall_plugin("yadif.dll") или LoadCplugin("yadif.dll") (не LoadPlugin !). Не используйте автозагрузку. (Замечание: в Avisynth v2.5.7-2.5.8 нет необходимости явной загрузки Avisynth_c.dll пользователем для таких плагинов.)
Тестирован с Avisynth v2.5.7,2.5.8 (наверно работает с v2.5.6 и выше).
Четность полей входного клипа должна быть правильно задана (используйте AssumeTFF, AssumeBFF).
Очень быстрый. Ассемблерная SSEMMX оптимизация из mplayer (компилирован MinGW GCC). Также SSE2 (частично SSSE3) из ffdshow-tryout (подправлено).
YV12 и YUY2 (обычный и планарный) цветовые форматы.
http://forum.doom9.org/showthread.php?t=124284
Программа распространяется свободно на условиях лицензии GNU GPL. Смотрите gpl-rus.txt. Если Вы распространяете бинарную DLL, вы также обязаны распространять исходные коды, пожалуйста не забудьте и данную документацию.
Версия 0.1 (03.04.2007)
Версия 0.2 (04.04.2007)
Версия 0.3 (06.04.2007)
Версия 0.4 (06.04.2007)
Версия 0.5 (17.04.2007)
Версия 0.6 (07.05.2007)
Версия 0.7 (31.05.2007)
Версия 0.8 (16.06.2007)
Версия 0.9 (22.07.2007)
Версия 1.1 (06.08.2009)
Версия 1.2 (07.08.2009)
Версия 1.3 (12.08.2009)
Версия 1.4 (13.08.2009)
Версия 1.6 (26.08.2009)
Версия 1.7 (08.10.2009)