Pulldown
(clip, int a , int b)
Фильтр Pulldown
(в переводе - выпадение, продергивание) просто выбирает 2 из каждых 5 кадров исходного видео. Скорость кадров понижается до двух пятых от исходного значения.
Например, Pulldown
(0,2) выбирает кадры 0, 2, 5, 7, 10, 12 и так далее.
Этот фильтр создавался для использования после DoubleWeave
, и его цель - восстановление исходной частоты и содержания кадров фильма, конвертированного ранее в NTSC видео с помощью 3:2 pulldown-процесса.
Причина необходимости сначала использовать DoubleWeave
в том, что карты захвата располагают поля в неправильной последовательности. В терминах полей, последовательность "3:2 pulldown" просто "A A B B B C C D D D ...", где символы с "A" по "D" представляют исходные кадры фильма. Но карты захвата соединяют поля в кадры без соблюдения данной структуры (pattern) "3:2 pulldown", и в результате получается вот что:
A B C D D (30 к/с) A B B C D
В такой структуре кадр "C" никогда не появляется в чистом виде. После DoubleWeave
каждая пара полей обретает собственный кадр, так что видео поток начинается так:
A A B B C C D D D (60 к/с) A B B B B C C D D * * * *
Теперь каждый кадр фильма имеет как минимум один свой кадр видео. В этом месте фильтр Pulldown
с аргументами 0, 3 выберет кадры отмеченные "*" и Вы получите
A B C D (24 к/с) A B C D
... к чему мы и стремились.
Все эти объяснения выглядят сложными, но восстановление после pulldown - это просто вопрос вставки шаблонного кода. Посмотрите пример для ShowFiveVersions
.
Pulldown
(a, b) внутренне реализован как SelectEvery(5,a, b).AssumeFrameBased
.
$English Date: 2006/12/14 22:43:08 $
Русский перевод 14.05.2005 Turyst04