| Author |
Message |
dronon Member
Joined: 29 Dec 2004 Location: Canada
|
|
I've got an interlaced m2v file in PAL format that I'm trying to de-interlace. I've done some web searching on the topic. This page (http://www.100fps.com/) recommended I use a Virtualdub filter called "Deinterlace - smooth" (http://biphome.spray.se/gunnart/video/). But this filter only works if the interlaced frames are split into separate fields beforehand. (?)
So I looked into how to split the frames. Apparentenly AVIsynth can do it (never used it before). But Virtualdubmod can't import m2v files - but I understand AVIsynth can overcome this problem too? using the mpeg2dec.dll plugin. (http://www.100fps.com/avsproblems.htm)
So then I went looking for more information about the mpeg2dec.dll plugin. I found out it was updated to mpeg2dec3.dll which became mpeg2dec3dg.dll which became DGDecode.dll ... so anyway at this point I'm totally confused and lost.
Assuming the "Deinterlace - smooth" filter in Virtualdubmod is the right way to go, what plugins and script do I use in AVIsynth to split the frames and allow Virtualdubmod to import an m2v file?
Thanks, and I'd be glad to provide any extra information that might help! Audio is not an issue.
|
|
Soopafresh Craptastic
Joined: 01 Jan 2004 Location: United States
|
|
dronon Member
Joined: 29 Dec 2004 Location: Canada
|
|
Ack! I thought it couldn't. Sorry, my bad. Thanks, that eliminates one of my "problems"! Now all I need to know is how to split the frames into the two fields beforehand.
|
|
manono Member
Joined: 28 Aug 2003
|
|
Hi-
Get the latest DGMPGDec here:
http://neuron2.net/dgmpgdec/dgmpgdec.html
It contains DGIndex and the DGDecode.dll. Open the .m2v in DGIndex, set Video->Field Operation for "Ignore Pulldown Flags", and go File->Save Project File. That'll give you a Movie.d2v. Then make your AviSynth script file like so:
LoadPlugin("C:\Path\To\DGDecode.dll")
MPEG2Source("C:\Path\To\Movie.d2v")
You'll then be able to open that in VDubMod (if you get the paths correct). Read the included DGDecode.html for much more information. To then separate the fields, add:
SeparateFields()
to the bottom of the script. If your original .m2v was 720x576, after separating the fields it'll then be 720x288. If you don't want to separate the fields, use a deinterlacer that doesn't require it, like KernelDeint (from the same site linked above).
And I would make real sure it's really interlaced before deinterlacing, if I were you. With the fields separated, scroll to a place where there's movement and advance a frame at a time. If every field is doubled, it's not interlaced. If every field is different it's interlaced. If the fields were doubled, then remove SeparateFields, save it, open it again in VDubMod, and advance a frame at a time. If you don't see combing, it's not interlaced. If you see combing, it has shifted fields and applying Telecide (from the same site, it's part of Decomb) will straighten it out. To do that,:
LoadPlugin("C:\Path\To\Decomb.dll")
LoadPlugin("C:\Path\To\DGDecode.dll")
MPEG2Source("C:\Path\To\Movie.d2v")
Telecide(Order=1,Post=0, Guide=2)
|
|
MrMoody Mad Eye
Joined: 26 May 2002 Location: NTSC Land
|
|
What is your destination, in other words what are you making the video into after you have it deinterlaced? Using the VDub filter doubles the frame rate (to 50 FPS) which you may or may not want.
|
|
dronon Member
Joined: 29 Dec 2004 Location: Canada
|
|
manono: Yes! That did it! Thank you! The original m2v is most definitely interlaced.
MrMoody: The end destination is an NTSC m2v file for putting onto a DVD. The current plan is to de-interlace the original file, then use VDub to shrink it down bilinearly to 720x480, change the frame rate to 29.97 and frameserve it into TMPGenc. When I tried to do that leaving the interlacing in place, all I got was a bad case of the image jitters.
|
|
MrMoody Mad Eye
Joined: 26 May 2002 Location: NTSC Land
|
|
There's two possible reasons for that; one, you can't vertically resize interlaced video without separating fields first or you'll get a combing mess, or two, you possibly had the field order getting reversed which will make an awful-looking motion stutter.
VirtualDubMod is not an Mpeg2 encoder so you'd have to frameserve from it and do more processing to get the right framerate into your encoder.
I've tried every way there is to do this (convert interlaced PAL to NTSC) and the method I recently posted here gives the best and smoothest result. Just change the size to 720x480. You can add a line Bob() at the end and load the AVS into VirtualDubMod to check how it's working. If it motion stutters, change the tff= part. Then take the Bob() out again and load the AVS into your MPEG2 encoder and let it run.
Keep in mind interlaced video never looks right on a computer because the computer display isn't interlaced and will look much better when played on the TV.
|
|
|
|