View Full Version : MPEG2 Encoder and special pulldown
canuckerfan
17th April 2007, 06:25
are there any out there that will accept a framerate of 24.9750 (25000/1001) and also encode into that framerate (so, basically not changing anything)?
and this might seem slightly OT, but I don't want to open a new thread. is a 24.975 to 29.97 pulldown flag legal within the DVD specifications? hell, is it even possible? (maybe with dgpulldown?)
I'm doing this because I have a bad PAL to NTSC movie that I want to try and backup without altering the audio.
Mug Funky
17th April 2007, 08:44
sure, DGpulldown will do this for you.
however, you might have a fun time convincing an encoder to do that framerate.
what you might want to do is assumefps(24000,1001), feed that to the encoder, then use restream to patch the framerate to the real one (25000,1001), and then use DGpulldown to bump that to 29.97.
Mr_Odwin
17th April 2007, 09:14
There's no need to use restream. Just plug the correct numbers into DGPulldown (25000,1001 -> 30000,1001) even though you use assumefps(24000,1001) when encoding and it'll work just fine. (Or at least that's what I've found in experiments!)
manono
17th April 2007, 10:27
Yeah, I use 24.975fps all the time. I encode at 25fps. When applying pulldown afterwards, I tick the "Custom" box of DGPulldown and use 24.975->29.97.
How are you, canuckerfan? Got a PAL2NTSC Indian DVD project going on?
Guest
17th April 2007, 14:48
DGPulldown never even looks at the original frame rate encoded in the MPEG stream. So you can do AssumeFPS() in your script to any legal value and then do the MPEG encode at that value (say, 25fps, it doesn't matter). You need the AssumeFPS() so that the encoder doesn't try to convert the framerate. Then just lie when you enter the input frame rate in DGPulldown and enter the real rate (in this case, 24.975).
canuckerfan
17th April 2007, 19:03
wow, I would have never thought of that. I'm going to give this a shot, hopefully this keeps the audio in sync.
oh and will the dvd be SAP-compatible? like, within the specs? (edit: I guess it is since muxman accepted the stream, right?)
Yeah, I use 24.975fps all the time. I encode at 25fps. When applying pulldown afterwards, I tick the "Custom" box of DGPulldown and use 24.975->29.97.
How are you, canuckerfan? Got a PAL2NTSC Indian DVD project going on?
yea, that's what it looks like:p
Guest
17th April 2007, 19:18
hopefully this keeps the audio in sync. It will.
will the dvd be SAP-compatible? like, within the specs? Yes.
manono
17th April 2007, 19:39
oh and will the dvd be SAP-compatible? like, within the specs?
I've done probably 100 or more for DVD like that, and never had any problems at all. I've tested on half a dozen different standalones. It's completely within the specs.
You need the AssumeFPS() so that the encoder doesn't try to convert the framerate.
In CCE, untick the "For DVD" box and it won't do any framerate conversion. Well, it'll speed it up slightly if originally 24.975fps and you encode for 25fps, but it won't add or remove frames. There's something similar in both HCEnc and Procoder, the other encoders with which I've had some experience. While DGPulldown doesn't care about the framerate in the encoded MPV, for the purposes of assigning bitrates and getting the final filesize you want, coming out of RePAL or some other AviSynth unblender at 24.975fps, it's best to encode for 25fps.
canuckerfan
17th April 2007, 20:00
thanks guys!! i just put in assumefps(25), then selected 25 fps in cce settings. it shouldn't convert the framerate now since both input and output are equal. one more questions to bug you guys... I don't know where to put assumefps(25) in my chain.
function f(clip c)
{
c
degrainmedian(mode=3)
LimitedSharpenFaster(smode=4)
}
Setmemorymax(512)
mpeg2source("G:\Hindi Movies\Temporary\exp\video.d2v",idct=5,info=3)
ColorMatrix(mode="Rec.601->Rec.709",opt=0,hints=true,threads=0)
TComb(fthreshl=3,othreshl=4)
TDeint(order=1,field=1,mode=1,emask=TMM(mode=1,order=1,field=1))
RePal(quality=3)
Crop(0,62,0,-64)
YlevelsS(0,2.7,255,0,255)
Tweak(sat=1.45)
mt("f()")
AddBorders(0,62,0,64)
assumefps(25)
#info()
ConvertToYUY2()
some advise would be appreciated.:)
manono
17th April 2007, 21:29
Any place after RePAL.
Edit: You should probably have Interlaced=True inside of your ColorMatrix line, as, at that point, it's still interlaced.
canuckerfan
17th April 2007, 21:43
oh yes! thanks for that!! sweet balls of fire! it worked like a charm!!! thanks guys!
one more question haha. in cce, my usual GOP settings are m=3 and n/m=4. should these be changed now that the framerates are altered or left as is?
manono
17th April 2007, 22:32
I use those GOP settings as well. I get a max GOP of 29 fields when authoring a 24.975->29.97fps M2V.
canuckerfan
17th April 2007, 22:58
correct me if I am wrong, but I believe 36 is the limit. at least for NTSC. I remember that when going from 23.976 to 29.97 using pulldown, it's best to stick to a 12 gop - won't risk going over. however, with 24.975 to 29.97 using pulldown, maybe a 15 gop would be safe...?
post 6 in this link (http://forum.doom9.org/showthread.php?t=106071&highlight=gop%2Along%2Antsc) suggests that perhaps a 15 gop would be safe in this situation. or am I interpreting it wrong?
manono
17th April 2007, 23:32
maybe a 15 gop would be safe...?
Maybe. I just told you what I use.
canuckerfan
18th April 2007, 00:59
yea, i think 12 would be safe. i did the calculations.
one more thing... doesn't assumefps() change the runtime of the video, thus desynching audio? but obviously I'm missing something.
Guest
18th April 2007, 01:04
yea, i think 12 would be safe. i did the calculations.
one more thing... doesn't assumefps() change the runtime of the video, thus desynching audio? but obviously I'm missing something.
Nah, the runtime is finally determined by the applied pulldown. That AssumeFPS() has no effect on the end product, because DGPulldown ignores the value and just writes what is in the output frame rate box. Just try it; you'll like it. :)
canuckerfan
18th April 2007, 01:09
I have tried it, and everything runs fine. no weird audio hitch every ~40 seconds either. wow. this only makes me appreciate dgpulldown even more. it is trully a god-send! thanks you:)
Guest
18th April 2007, 04:53
The original idea was due to Xesdeeni. I just coded it. Still, your kind words are appreciated.
Mr_Odwin
18th April 2007, 09:33
I think a GOP length of 15 would be safe.
((30000/1001)/(25000/1001))*15=18 (Acceptable for NTSC.)
Mug Funky
20th April 2007, 03:35
keep the GOPs at 12 or you may have problems with the authoring app. 3:2 soft pulldown should have max GOP of 12, and i'd wager most authoring proggies will interpret the flags DGpulldown writes as being mixed 3:2 content. it might spit out the stream even though technically most decoders would be able to handle it.
probably as a rule of thumb GOPs should be kept at 12 if rff flags are being used at all. generally GOPs don't have to be long unless the bitrate is stupidly low, and in these cases it's probably best to just ditch some extras rather than pounding the important stuff so hard...
Guest
21st April 2007, 01:14
because I am archiving and spreading fan material. You're spreading copyrighted materials? That's a rule 6 violation to talk about that here.
Guest
21st April 2007, 14:27
@video_magic
It's still not clear because respecting copyrights means not copying, and "unofficial releases" are not legal.
To avoid having to close this useful thread, I have deleted your posts.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.