View Full Version : Removing only interlaced frames
Velocity 7
28th August 2004, 15:04
I captured some video footage from Xenosaga 2 in an attempt to make a movie archive of my own, but after separating the fields and attempting a DoubleWeave, doing a SelectOdd or SelectEven will sometimes end up with erratic movement. After looking closely at the footage, I'm led to believe not every even or odd frame is non-interlaced or interlaced, for example. I'd like to know if there's a plugin for Avisynth that detects interlaced frames and only removes interlaced frames. Thanks.
Mug Funky
28th August 2004, 16:14
try decomb or smartdecimate.
i assume you're talking about telecined material - that is progressive frames at 23.976fps (film) being pulled down to 29.97fps (NTSC)
with a regular pattern this will give you a sequence (in fields) of 3, 2, 3, 2, 3, 2, resulting in some frames being interlaced and some not.
inverse telecine techniques will give you back the progressive frames.
btw, please read the guides and stuff - they will help greatly.
Velocity 7
28th August 2004, 16:15
This is another problem; the source material is not 23.976 frames. It is 30 frames exactly, but the game renders it at a variable framerate. Something that the guides have not covered.
scharfis_brain
28th August 2004, 16:32
provide an unprocessed sample.
Velocity 7
28th August 2004, 16:44
It's going to be hard, because usually it's like this; for about 3 minutes using SeparateFields, DoubleWeave, and then SelectOdd will work, but then the next few minutes the frames get cut into 15 fps video rather than 30 fps video. I also dumped this in DV format originally, so dealing with 8 minutes of this stuff is worth 2 GB, so it's kind of hard to say how I can provide a sample.
EDIT: What I can do is this; I can provide maybe at least 15 seconds of the video where the SelectOdd doesn't work so well and then suddenly it does, based on the script I have provided here:
AVISource("sample.avi")
ConvertToYUY2(interlaced=true)
Trim(413,15749)
SeparateFields
TemporalSoften(4,4,8,15,2)
DoubleWeave
SelectOdd
For the first five seconds of the video, the process doesn't work, but then after the scene transition it starts working. The next scene though causes it to not work. This is one of many examples there are available.
The unprocessed sample is 105 MB without audio and no compression whatsoever. I need webspace though to post it somewhere.
EDIT: The last thing I want to do is bob the entire video, then do SelectOdd and work with that. As much as it fixes the entire problem it loses half of the vertical resolution. Since the game renders in 30 fps, I would have figured it would be possible to get the full resolution, compared to other games that render in 60 fps.
EDIT: http://us.f1f.yahoofs.com/bc/3e3b902e/bc/video/sample(1).avi?bfDHLMBBSxBzFa_K
Try this. It's been compressed in XviD but no preprocessing whatsoever. 2 MB download.
scharfis_brain
28th August 2004, 17:05
then, compress the sample using am interlaced-mpeg-2 encdoing with bitrates above 5 mbps
Velocity 7
28th August 2004, 17:05
Crap. You posted right after I edited, heh.
Link (http://us.f1f.yahoofs.com/bc/3e3b902e/bc/video/sample(1).avi?bfDHLMBBSxBzFa_K)
Sorry, this link is having issues.
EDIT: Correction, it looks like the bob does not seem to be working; the video only plays properly while in 60 fps... this is really weird.
scharfis_brain
28th August 2004, 18:21
link does not work...
Velocity 7
28th August 2004, 18:24
Try this. (http://webhome.idirect.com/~tihhhuhv/sample(1).avi)
scharfis_brain
28th August 2004, 18:45
I used this script to converto the video to 60fps progressive, without harming 30p or 15p contents.
this means:
it sorts the fields correctly for 30p and 15p content and bobs the 60i contents.
import("d:\x\intellibob.avs")
loadplugin("d:\x\avisynth_c.dll")
loadplugin("d:\x\kerneldeint140.dll")
loadCplugin("d:\x\smartdecimate.dll")
avisource("sample.avi")
isyuy2() ? NOP() : converttoyuy2(interlaced=true)
x=kernelbob().subtitle("x")
smartdecimate(60,60,bob=x)
Velocity 7
28th August 2004, 20:11
Looks good. I'll try this script sometime.
EDIT: Great work! Now I've got something that actually works pretty well. Thanks!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.