Home
RecentChanges

Search:

» AviSynth is a powerful video FrameServer for Win32.

AviSynth Links:
»Download
»Learn to script
»FAQ
»Manual
»Discussion fora
»Project page
»External filters
»FeedBack

» You can add pages to this website immediately. No login required.
Edit this document

» AboutAviSynth

 

Avisynth 
Logo

PullDown

( Diese Seite in flag-germany.gif Deutsch )

Pulldown(clip, int a, int b)

The Pulldown filter simply selects two out of every five frames of the source video. The frame rate is reduced to two-fifths of its original value. For example, Pulldown(0,2) selects frames 0, 2, 5, 7, 10, 12, and so on.

This filter is designed to be used after DoubleWeave, and its purpose is to recover the original frames of a movie that was converted to video using the 3:2 pulldown process.

The reason you need to use DoubleWeave first is that capture cards combine fields in the wrong way. In terms of fields, the 3:2 pulldown sequence is simply "A A B B B C C D D D ...", where "A" through "D" represent the original film frames. But the capture cards combine the fields into frames with no respect for the pulldown pattern, and you get this:

A B C D D (30fps)

A B B C D

In this pattern frame C is never shown by itself. After DoubleWeave every pair of fields gets its own frame, so the video stream will begin like this:

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

A B B B B C C D D

  • * * *

Now each movie frame has at least one video frame to itself. At this point the Pulldown filter with arguments of 0,3 will select the frames marked with a *, and you'll get

A B C D (24fps)

A B C D

... which is what you really want.

This is all very complicated to describe, but in practice undoing the pulldown is just a matter of inserting some boilerplate code. See the example below under ShowFiveVersions.

Pulldown(a,b) is implemented internally as SelectEvery(5,a,b).AssumeFrameBased.

SourceForge Logo

 


Edit this document | View document history
Document last modified Thu, 04 Dec 2003 15:36:30