Pulldown
(clip, int a , int b)
O filtro Pulldown
simplesmente seleciona dois entre cada cinco quadros do vídeo fonte. A
taxa de quadro é
reduzida a dois quintos do seu valor original.
Por exemplo, Pulldown
(0,2)
seleciona os quadros 0, 2, 5, 7, 10, 12 e assim por diante.
Este filtro é projetado para ser usado depois de
DoubleWeave
, e seu propósito é
recuperar os quadros
originais de um filme que foi convertido a vídeo usando o processo 3:2 do
pulldown.
A primeira razão pela qual é preciso usar DoubleWeave
é que as placas de captura combinam os campos
de modo errado. Em termos de campos, a seqüência de pulldown 3:2 é
simplesmente "A A B B B C C D D D ...", onde "A" a
"D" representam os quadros dos filme originais.
Mas as placas de captura combinam os campos em quadros sem respeito pelo
padrão de pulldown, e você tem isto:
A B C D D (30 fps - 30 quadros por segundo) A B B C D
Neste quadro C padrão nunca é mostrado por si só. Depois
de DoubleWeave
todo par de campos adquire seu próprio quadro, assim o fluxo vídeo
começará assim:
A A B B C C D D D (60 fps - 60 quadros por segundo) A B B B B C C D D * * * *
Agora cada quadro de filme tem um quadro de vídeo pelo menos em si mesmo. Neste momento
o filtro Pulldown
com argumentos de 0,3 selecionará as quadros marcadas com um * e
você terá
A B C D (24 fps - 24 quadros por segundo) A B C D
... que é o que você realmente quer.
Tudo isto é muito complicado para descrever, mas
em prática desfazer o pulldown é apenas uma questão de inserir algum código
boilerplate. Veja o exemplo abaixo em ShowFiveVersions
.
Pulldown(a,b)
é implementado internamente como
SelectEvery(5,a,b).AssumeFrameBased
.
$Date: 2006/03/26 18:11:19 $ Portuguese translation by RoLon