# TomsMoComp

## Общая информация

Автор: Tom Barry
Версия: 0.0.1.7
Загрузка: http://mywebpages.comcast.net/trbarry/downloads.htm
Категория: деинтерлейс и устранение pulldown
Требования:

- цветовое пространство YV12 & YUY2
- поддержка инструкций SSEMMX

## Описание

TomsMoComp.dll – это фильтр деинтерлейса, использующий компенсацию движения и адаптивную обработку. Он работает с различной скоростью в зависимости от параметра SearchEffort, который в данной версии варьируется от 0 (просто чуть более качественный BOB-деинтерлейс) до 30 (слишком большой объём вычислений для современных компьютеров). Из этого диапазона реально используется несколько значений (в данной версии 0,1,3,5,9,11,13,15,19,21,max), если задать другое значение, то используется ближайшее из перечисленных. Значения свыше 15 пока ещё не очень тщательно тестировались и, вероятно, их следует избегать.

TomsMoComp работает на всех процессорах, поддерживающих MMX. Также имеются некоторые оптимизации для набора инструкций 3DNOW (для процессоров AMD, начиная с K6-II) и для инструкций SSEMMX (P3 & Athlon).

### Пример скрипта

    LoadPlugin("d:\AVISynth\TomsMoComp\Release\TomsMoComp.dll")
    clip = AviSource("c:\vcr\bikes.avi")
    return clip.TomsMoComp(1, 15, 1)

(замените имя файла и числа параметров на нужные вам).

Приведённый пример указывает использовать верхнее поле первым (TFF), SearchEffort=15, а также включает опцию Vertical Filter.

### Параметры TomsMoComp

`TomsMoComp` (clip, int TopFirst, int SearchEffort, int VerticalFilter)

Все параметры целочисленные; 0=нет, 1=да:

TopFirst - указывает порядок полей "Верхнее поле первым" (TFF). По умолчанию принимается 0 - "Нижнее поле первым" (BFF). Вам следует проверить, например, в VirtualDub, какой вариант предпочтительнее (прим. перев.: нужно устанавливать всегда правильный, а не просто предпочтительный вариант:) Узнать порядок полей можно, например, с помощью скрипта `CheckTopFirst`).

Нововведение - установка TopFirst=-1 будет использовать значение, выдаваемое AviSynth. Это может работать некорректно с AviSynth 2.5 и MPEG2DEC3 v 0.9 !!!

SearchEffort - определяет, какой объём вычислений используется для поиска движущихся пикселов. В данной версии может принимать значения от -1 до 30, причём 0 – это просто слегка усовершенствованный BOB-деинтерлейс, а 30 – весьма и весьма большой объём вычислений.

Только в Avisynth версии фильтра может использоваться величина SearchEffort=-1. В этом случае фильтр не производит деинтерлейс, а предполагает, что у вас уже есть прогрессивный видеоисточник, и удваивает вертикальный размер кадра. Я случайно обнаружил, что это может дать чуть лучший результат, чем обычное масштабирование, и может использоваться для видео, захваченного в половинном разрешении по вертикали. Значение -1 не работает в AviSynth 2.5!!!

VerticalFilter - если включён (1), то происходит небольшое смешивание чётных и нечётных строк. Это приводит к незначительной потере вертикального разрешения, но, возможно, помогает сгладить появившиеся артефакты деинтерлейса, а также несколько улучшить сжимаемость видео.

## Особенности

1) Входной цветовой формат должен быть YUV (YUY2) или YV12 (только в версии AviSynth 2.5). Используйте при необходимости встроенные функции преобразования цветового формата.

2) В данной версии ширина клипа должна быть кратна 4.

3) Тестировался пока только на компьютерах с поддержкой SSEMMX.

4) Фильтр предназначен только для чисто чересстрочного видеоматериала (такого, как съёмки с большинства видеокамер). Используйте IVTC, DeComb и другие методики для работы с киноматериалом.

`$English Date: 2004/08/17 20:31:19 $
Русский перевод 24.06.2005 Eugene Vasiliev (eugvas@mccme.ru)`