Log in

View Full Version : Pulldown?


Comatose
12th June 2008, 18:20
So, there are a lot of resources on how to IVTC... but I couldn't find how to do hard telecine with Avisynth.

How can I go from progressive 23.976 to 29.97?

thetoof
12th June 2008, 18:51
I'd recommend doing a soft telecine, but if you really want to hard telecine, you can give this a try. Not very pretty, but it seems to do the job :p

function hardtelecine (clip i){
a=i.selectevery(4,0)
b=i.selectevery(4,1)
c=i.selectevery(4,1,2).SeparateFields().SelectEvery(4,0,3).weave()
d=i.selectevery(4,2,3).SeparateFields().SelectEvery(4,0,3).weave()
e=i.selectevery(4,3)
return interleave(a,b,c,d,e)}

Leak
12th June 2008, 19:03
I'd recommend doing a soft telecine, but if you really want to hard telecine, you can give this a try. Not very pretty, but it seems to do the job :p

function hardtelecine (clip i){
a=i.selectevery(4,0)
b=i.selectevery(4,1)
c=i.selectevery(4,1,2).SeparateFields().SelectEvery(4,0,3).weave()
d=i.selectevery(4,2,3).SeparateFields().SelectEvery(4,0,3).weave()
e=i.selectevery(4,3)
return interleave(a,b,c,d,e)}
Something like
SeparateFields().SelectEvery(8,0,1,2,3,3,4,5,6,6,7).Weave()
should also do it...

np: John Tejada - Panorama (Cleaning Sounds Is A Filthy Business)

Didée
12th June 2008, 19:16
Since Adam & Eve, one can read in Avisynth's documentation:
And how about this:
# Take a 24fps progressive input clip and apply 3:2 pulldown,
# yielding a 30fps interlaced output clip
AssumeFrameBased
SeparateFields
SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
Weave
$Date: 2004/03/09 21:28:07 $

Leak
12th June 2008, 21:06
Since Adam & Eve, one can read in Avisynth's documentation:
Well, I did say "something like"... :p

np: Luke Vibert - Clikilik (Chicago, Detroit, Redruth)

DarkT
12th June 2008, 21:36
Sorry for barging, but let's say there's this anime right? no matter which, it's in progressive state, now, you gonna make a dvd out of it, question is, what would preferred for quality? Soft pulldown flag? "hard pulldown" via avisynth? Interlacing it?

I mean, what would be the difference really between those 3?

scharfis_brain
12th June 2008, 22:32
I'd prefer this way to do a telecine:

SelectEvery(2, 0,0,0, 1,1).AssumeFrameBased() #create 3:2 Pattern on Full frames
AssumeTFF() # set the desired output Fieldorder
SeparateFields().SelectEvery(4, 0, 3).Weave() #Re-Interlace the 60fps progressive sequence to 60i

it might not be as fast as the above mentioned examples, but it is much easier to read for the common human brain.

Guest
12th June 2008, 22:53
Sorry for barging, but let's say there's this anime right? no matter which, it's in progressive state, now, you gonna make a dvd out of it, question is, what would preferred for quality? Soft pulldown flag? "hard pulldown" via avisynth? Interlacing it?

I mean, what would be the difference really between those 3? Your third option "interlacing it" is meaningless. There is no way to "interlace it" without adding extra fields, i.e., pulling it down. Soft pulldown is preferrable (for a DVD) because you do not have to waste bits on actual field duplicates.

stickboy
13th June 2008, 09:32
There's also my JDL_Telecine function (http://www.avisynth.org/stickboy/).