PDA

View Full Version : Best deinterlace method with AviSynth ?


djidjo
28th August 2002, 11:20
Hi folks,

I'm new to AviSynth. I mean, I use it a lot, but only to separate fileds or resize. Now I want to use it to deinterlace video before importing it into Vegas Video.

I use the Bob() function, which is pretty good, but still jumps up and down a bit. I'd like to do the "Weave+Progressive Scan" method as described in the EXCELLENT site 100fps.com. I do it usually with VirtualDub, using the "Deinterlace-Smooth" filter from Gunnar Thalin (http://home.bip.net/gunnart/video/). But this filter is not in the "VDub filters for AviSynth" package.

So what's your best (true) deinterlace method with AviSynth ? (when I say "true" I mean methods that double the framerate)

Thanks !
Djidjo

hakko504
28th August 2002, 11:24
I use greedy to do a smartbob routine like this:LoadPlugin(Greedyhma.dll)
video=AVIsource(clip.avi)
odd=video.GreedyHMA(0,0,0,0,0,0,0,0)
even=video.GreedyHMA(1,0,0,0,0,0,0,0)
interleave(even,odd)

Wilbert
28th August 2002, 11:48
I do it usually with VirtualDub, using the "Deinterlace-Smooth" filter from Gunnar Thali (http://home.bip.net/gunnart/video/). But this filter is not in the "VDub filters for AviSynth" package.

It can be importedin AviSynth, download v1.4 from http://forum.doom9.org/showthread.php?s=&threadid=23804. In the example you have to replace some zeros by false. See http://forum.doom9.org/showthread.php?s=&threadid=31466.

djidjo
28th August 2002, 11:49
Thanks for your quick reply, but I have a Duron processor which doesn't support SSE instructions, so Greedyhma doesn't work for me... :/

sh0dan
28th August 2002, 13:51
Are you sure, it doesn't just require integer SSE, which is supported by your Duron?

int 21h
28th August 2002, 13:52
Decomb.

djidjo
28th August 2002, 14:54
I should have searched a bit more in the forums before asking...
Thanks Wilbert !

Djidjo

ronnylov
28th August 2002, 15:18
trbarry posted a nice method to get double framerate from an interlaced clip: http://forum.doom9.org/showthread.php?s=&threadid=28778&pagenumber=3

I have tried it and it works very well. But I used the parameter 5 instead of 15 in TomsMoComp to get less artifact, like this:

code:----------------------------------------------------------
# This script is only for TopFirst material
LoadPlugin("d:\save-oe\MPEG2DEC2.dll")
LoadPlugin("F:\TomsMoComp\Avisynth\TomsMoComp.dll")
Mpeg2Source("D:\VCR\Its_All_Here.d2v")
Top=AssumeFrameBased().ComplementParity()
Bottom=Top.SeparateFields.Trim(1,0).weave
return Interleave(Top.TomsMoComp(1,5,0),Bottom.TomsMoComp(0,5,0))
----------------------------------------------------------------

or

code:-----------------------------------------------------------
# This script is only for BottomFirst material
LoadPlugin("d:\save-oe\MPEG2DEC2.dll")
LoadPlugin("F:\TomsMoComp\Avisynth\TomsMoComp.dll")
Mpeg2Source("D:\VCR\Its_All_Here.d2v")
Bottom=AssumeFrameBased()
Top=Bottom.SeparateFields.Trim(1,0).weave
return Interleave(Bottom.TomsMoComp(0,5,0),Top.TomsMoComp(1,5,0))
----------------------------------------------------------------

neuron2
28th August 2002, 15:32
@djidjo

You've violated forum rules 1 and 12 here. Not researching first and asking for the "best". Please abide by the forum rules. Thank you.

djidjo
28th August 2002, 16:53
Sorry neuron2, I swear I searched the forums before asking. About "the best" method, maybe I should have asked "which deinterlacing method do you prefer" instead.