Pulldown
(clip, int a , int b)
Il filtro di Pulldown
seleziona 2 frames ogni 5 del video sorgente.
Il frame rate è parimenti ridotto a 2/5 del valore originale.Ad esempio: Pulldown
(0,2)
seleziona i frames 0, 2, 5, 7, 10, 12, e così via.
Questo filtro è destinato ad essere usato dopo DoubleWeave
,
e lo scopo è quello di ricuperare i frames originali di un film che è stato
convertito in un video clip con un processo di pulldown 3:2.
La ragione per cui è necessario usare prima DoubleWeave
è che le schede di cattura uniscono i frames in modo errato. In termini di fields,
la sequenza di pulldown 3:2 è semplicemente "A A B B B C C D D D ...", dove
da "A" fino a "D" sono rappresentati i frames del film . Ma la scheda di cattura
unisce i fields in frames senza rispettare la struttura del pulldown , così
si avrà:
A B C D D (30fps) A B B C D
In questa struttura il frame C non comparirà mai. Dopo DoubleWeave
ogni coppia di fields forma il proprio frame frame, sicchè lo stream video comincerà
così:
A A B B C C D D D (60fps) A B B B B C C D D * * * *
Ora ogni frame del film ha per sè almeno un video frame. A questo punto il
filtro Pulldown
con argumenti 0,3
selezionerà
i frames marcati con * e si avrà,
A B C D (24fps) A B C D
... che è quello che si voleva.
Tutto questo è veramente complicato da descrivere, ma nella pratica il pulldown
è solo una questione di inserimento di un pò di codice standard. Vedere un esempio
sotto ShowFiveVersions
.
Pulldown
(a,b) è implementato internamente
ad Avisynth come SelectEvery(5,a,b).AssumeFrameBased
.
$Date: 2004/10/03 21:26:00 $