PDA

View Full Version : From 23.976p to 60i or 50i. How?


K-rnivoro
30th July 2008, 05:21
I've been playing around with Selectevery, Pulldown, Weave, SeparateFields but I can't get the right combination.

I'm trying to convert 1080/24p material to something more friendly for HDTV Set Top Boxes, meaning 1080/60i or 1080/50i
(Actually I'm planning to build a Transport Stream (TS file) from it)

Help Please? :confused:

Comatose
30th July 2008, 05:36
I am also interested in this... there's a lot of info about going from i to p, but it's very hard to find something that explains how to do hard telecine in Avisynth.

Alex_ander
30th July 2008, 09:35
... how to do hard telecine in Avisynth.
like this:


ChangeFPS(59.94)#with 23.976p (or 24p and even 25p) input
AssumeTFF().SeparateFields()
SelectEvery(4,0,3).Weave()

2Bdecided
30th July 2008, 10:48
Won't dgpulldown do HD? I don't know, as I haven't tried, but I thought I'd mention it as a potentially much easier, simple, faster, higher quality option.

Cheers,
David.

neuron2
30th July 2008, 18:04
Of course DGPulldown can work on HD resolutions!

IanB
31st July 2008, 02:25
DGPulldown is definitely the preferred option. Here is a faster implementation of the script with identical cadenceSelectEvery(4, 0,0,1,2,3) # 29.9700299700...
AssumeTFF()
DoubleWeave()
SelectEvery(10, 2,3,5,6,8)Disscussion. (http://forum.doom9.org/showpost.php?p=1162413)

Comatose
1st August 2008, 07:53
So how do I do it for PAL?
And can you explain the logic behind that code please? How did you come up with those numbers?

edit: Is PAL really a 4% speedup most of the time? I was under the impression they don't do it anymore, since I slowed down some PAL anime captures to 24 fps and it didn't sound right >_>
If that's the case, then it doesn't explain why it all looks interlaced ;-;

Also, is this correct 2:2:2:2:2:2:2:2:2:2:2:3 pulldown?
ChangeFPS(24)
AssumeTFF()
SeparateFields()
SelectEvery(24,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23)
Weave()

Alex_ander
1st August 2008, 15:24
... is this correct 2:2:2:2:2:2:2:2:2:2:2:3 pulldown?
ChangeFPS(24)
AssumeTFF()
SeparateFields()
SelectEvery(24,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23)
Weave()

Looks close to this (I'd use AssumeFPS(24) to prevent full frame repetition after each 1000th). Each 12 frames an extra bottom field is added here and each half second the frames get field-shifted with BFF (therefore this should be encoded as BFF).
Here's a different type of 24->25 pulldown (top field repeated):

ChangeFPS(50)
AssumeTFF().SeparateFields()
SelectEvery(4,0,3)
Weave()#TFF

It is possible to do the same using DoubleWeave, but with selection from long sequence (like 100 fields). Looks like SelectEvery(...22,23,22) in your script will do the same faster conversion (for TFF output).

Comatose
2nd August 2008, 13:22
Well, who would've thought the only thing I had to change was the ChangeFPS line ;_;
A question: do they really use assumefps(25,sync_audio=true) in PAL?
I've looked at some captures and channels seem to use assumefps on the video, because only the subtitles look interlaced. The video itself looks progressive ;3