### PullDown

`PullDown(`clip, int "a", int "b"`)`
Dieser Filter nimmt einfach zwei von fünf Frames aus dem Quell-Video. Die Famerate wird auf 2/5 reduziert. `PullDown(0,2)` nimmt z.B. die Frames 0, 2, 5, 7, 10, 12, usw. .
Dieser Filter sollte nach `DoubleWeave` verwendet werden. Der Sinn ist, dass die Original-Frames von einem Video, dass aus Filmmaterial mittels 3:2 Pulldown erstellt wurde, wiederhergestellt werden.
`DoubleWeave` muss vorher verwendet werden, da Capture-Karten die Felder in der falschen Reihenfolge kombinieren. Bei der Betrachtung als Felder ist die 3:2 Pulldown Sequenz einfach "A A B B B C C D D D ...", wobei "A" bis "D" die Original-Film-Frames darstellen. Die Karte kombiniert allerdings die Felder ohne auf das Pulldown-Muster zu achten:

    A   B   C   D   D       (30fps)
    A   B   B   C   D

In diesem Muster ist der Frame C nie alleine sichtbar. Nach `DoubleWeave` hat jedes Feld-Paar seinen eigenen Frame:

    A A B B C C D D D       (60fps)
    A B B B B C C D D
    *     *   *     *

Jetzt hat also jeder Film-Frame zumindest einen Video-Frame. Hier selektiert `Pulldown` mit Argument `0,3` die mit `*` gekennzeichneten Frames und man erhält:

    A     B   C     D       (24fps)
    A     B   C     D

... was ja das gewünschte ist.
Das Ganze ist kompliziert zu beschreiben, in der Praxis kann man die richtigen Parameter ganz schnell durch Probieren herausfinden (siehe auch Beispiel bei `ShowFiveVersions`).
`Pulldown(`a`,`b`)` wird intern umgesetzt als `SelectEvery(5,`a`,`b`).AssumeFrameBased`.