Log in

View Full Version : Question on math of pulldown


MrVideo
30th December 2009, 09:34
While digging around the wiki manual pages, I came across:
doubleweave()
pulldown(0,3)

Why wouldn't that work? The thing I can see that would keep it from working is that how is the first frame found of the 2:3 pulldown sequence?

While looking at the entry for pulldown, the math doesn't make any sense. From the manual:

Pulldown(a,b) (with a < b) selects frames a, b, (a+b)+a, (a+b)+b, 2*(a+b)+a, 2*(a+b)+b, ...

With a=0 and b=3, the six formulas come out as:

a=0
b=3
(a+b)+a=(0+3)+0=3
(a+b)+b=(0+3)+3=6
2*(a+b)+a=2*(0+3)+0=6 [(2*3)+0]
2*(a+b)+b=2*(0+3)+3=9 [(2*3)+3]

That is nowhere near the 0, 3, 5, 8, 10, 13 ... that is shown in the manual.

Guest
1st January 2010, 05:20
While digging around the wiki manual pages, I came across:
doubleweave()
pulldown(0,3)

Why wouldn't that work? The thing I can see that would keep it from working is that how is the first frame found of the 2:3 pulldown sequence? Yes, when you use nonadaptive matching, you have to manually find the correct phase of the pattern.

While looking at the entry for pulldown, the math doesn't make any sense. From the manual:

Pulldown(a,b) (with a < b) selects frames a, b, (a+b)+a, (a+b)+b, 2*(a+b)+a, 2*(a+b)+b, ...

With a=0 and b=3, the six formulas come out as:

a=0
b=3
(a+b)+a=(0+3)+0=3
(a+b)+b=(0+3)+3=6
2*(a+b)+a=2*(0+3)+0=6 [(2*3)+0]
2*(a+b)+b=2*(0+3)+3=9 [(2*3)+3]

That is nowhere near the 0, 3, 5, 8, 10, 13 ... that is shown in the manual. I leave this one for Gavino. :)

Wilbert
1st January 2010, 17:37
I leave this one for Gavino.
I guess i wrote that once.

Pulldown(a,b) (with a < b) selects frames a, b, 5+a, 5+b, 2*5+a, 2*5+b, ...

I guess a a:b telecide can be undone by Pulldown(a,b) if a+b=5. I need to investage it a bit futher before correcting anything.

edit: moved to AviSynth forum.

MrVideo
2nd January 2010, 05:58
IPulldown(a,b) (with a < b) selects frames a, b, 5+a, 5+b, 2*5+a, 2*5+b, ...

That is the formula that I would have expected. The one I pulled from the wikimedia is way different, as noted in my initial posting.

IanB
2nd January 2010, 11:32
As noted at the end of the doco, Pulldown(a, b) == SelectEvery(5, a, b).AssumeFrameBased()

The stuff about ..., (a+b)+a, (a+b)+b, ... must be the result of a minor brain fart, probably very late one night, long ago ;)