View Full Version : how to convert 24p to 60p with exact/accurate 3:2 cadence?
For example, if the video source is 24fps, frame 0, 1, 2, 3, 4, 5......23, the target would be 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5,.......
I was using MPC-HC + ffdshow which has plugin AviSynth and added SelectEvery(2, 0, 0, 1, 1, 1) but the cadence is not alwasy 3:2. Some experts suggest me to use MadVR instread of EVR, it improves. Also I tried ReClock but can not get always accurate 3:2 cadence(With ReClock I have to disable the selectEvery script otherwise the frame sequence is odd, I was using a capture device verifying the unique IDs generated from the frame contents so that I can tell if it's 3:2 or 2:3 cadence. )
Could anybody guide me how to reach this goal? via some configuration/plugin or even source code customization?
Thanks in advance!:thanks:
Here enclosed a thread in another forum talking about the same issue:
http://www.svp-team.com/forum/viewtopic.php?pid=42302#p42302
http://www.svp-team.com/forum/misc.php?item=3188
bxyhxyh
8th May 2014, 08:10
You can try
even=SelectEven()
odd=SelectOdd()
Interleave(even,even,odd,odd,odd)
manono
8th May 2014, 09:14
Is there anything wrong with using a simple:
ChangeFPS(60)#or 59.94 if the source is 23.976
bxyhxyh
8th May 2014, 09:23
Is there anything wrong with using a simple:
ChangeFPS(60)#or 59.94 if the source is 23.976
Seeing the first sentence, OP seems wanted 0,0,1,1,1,2,2,3,3,3... not 0,0,0,1,1,2,2,2,3,3...
manono
8th May 2014, 10:03
Seeing the first sentence, OP seems wanted 0,0,1,1,1,2,2,3,3,3... not 0,0,0,1,1,2,2,2,3,3...
True, but the thread title is how to convert 24p to 60p with exact/accurate 3:2 cadence? and not 2:3 cadence so maybe which is first doesn't matter to him.
johnmeyer
8th May 2014, 15:58
The changefps method posted above is the easiest and most universal. That is what I would recommend using.
I do a lot of film work and have to deal with unusual film speeds, so I have created a lot of different pulldown scripts. If you are looking for more control over the exact cadence, then you can use SelectEvery to get precisely what you want.
Before I give you my example script, I do have to ask why it is you are even doing this? You say that you want to go to 60p, not 60i. This doesn't make sense to me because any monitor or TV set that can display 60 frames progressive (60p) can also natively display 24p without the need for any pulldown fields. Adding pulldown fields and then displaying on a 60p display is therefore not necessary, won't look any better than 24p, and will probably look worse. I don't want to put too fine a point on this, but I think you may be wasting your time doing this.
Having said that, if you are instead trying to get to 60p by using motion estimation, that is an entirely different thing, and if done correctly, the results will look quite different than 24p, and it can be a very worthwhile exercise.
So, before you proceed, ask yourself whether you are doing something that really needs to be done.
As for my example script, this one is designed to go from 24p to 60i, that is, it creates the cadence by duplicating fields rather than duplicating frames. It can easily be adapted, however, to just duplicate frames, and go from progressive to progressive. The key thing is the use of the SelectEvery function.
Here it is:
# Pulldown for 24 fps
separatefields()
SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
weave()
AssumeFPS(29.97, true)
Since you want to go from progressive (24p) to progressive (60p) , you would get rid of the separatefields and weave statements, and change the AssumeFPS to 59.94. The key thing to concentrate on is the SelectEvery statement. In the example above, it is taking eight (8) fields at a time, and combining them together as shown. When you use SelectEvery in this fashion, you must make sure that each number, after the 8, alternates between even and odd. Also, as you look at just the even numbers (or just the odd numbers), the next even number should either be the same number (i.e., a repeat) or the next even number. You should never skip a number or go back. If you follow those two rules, you should end up with a cadence that doesn't have any skips or excessive jumping.
johnmeyer
8th May 2014, 17:59
BTW, I re-read the OP, and the link in that post goes to a thread that talks about using SVP. If you are mixing SVP with SelectEvery, you might get some very weird results.
The original SelectEvery statement shown in the OP:SelectEvery(2, 0, 0, 1, 1, 1)should work, and the frame pattern should be consistent and exactly correct throughout the entire video. If it is not, then you need to post the script you are using because I'm betting that you have something else included in that script that is altering the cadence.
thank you guys for your inputs!
I'm using the only SelectEvery(2, 0, 0, 0, 1, 1) script to convert 24p to 60p, and SVP manager is turned off as it'll produce smooth fps conversion which will be conflicting with the script.
Also, this is for a demo purpose so that the accurate 3:2 cadence is required.
I'm using ReClock + EVR + MPC-HC and the cadence seems to be pretty good, constantly correct for 20 ~ 60 seconds with glitches less than 1 second. But the strange thing is that with ReClock, I need to turn off this script otherwise the cadence is incorrect. it looks Reclock or the render already did the 3:2 cadence?
frencher
9th May 2014, 09:03
Hi all ;)
Try my tool "Restore Studio Free"
I want a script good stabilization with rotation
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.