View Full Version : Deinterlacing with Donalds KernelDeint Plugin and Doubleweave
leonhard
11th January 2004, 23:48
Being a great fan of 50fps, and trying to extract pics out of a movie I tried to squeeze out as much as possible of my 50 field. So after building 50fps with Doubleweave, I was applying KernelDeint. What I got was something I don't understand: Every to frame were more or less exactly the same, if one does neglect some treshold artefacts. So in the end I ended up with only 25 different frames.
Of course I would like to get something like 50 :-)
Olaf
leonhard
12th January 2004, 00:11
so correct my misstyping, every TWO neigbouring field are nearly the same ...
Bogalvator
12th January 2004, 00:31
Hmmm I don't know the answer to that, although I'd like to as I noticed it when I tried the very same thing myself.
In the meantime try using this script for KernelBob, made by Scharfis_Brain:
function kernelbob(clip a, int th, int ord)
{
f=a.kerneldeint(order=ord, sharp=true, twoway=false, threshold=th)
e=a.separatefields.trim(1,0).weave.kerneldeint(order=1-ord, sharp=true, twoway=false, threshold=th)
interleave(f,e)
}
Edit: amateurish typo
leonhard
12th January 2004, 10:50
As far as I understand this correctly, I find another scripting by scharfis_brain doing the required at
http://neuron2.net/ipw-web/bulletin/bb/viewtopic.php?t=159&highlight=kernelbob
One nay as well use twoway=true as I tested
my script using kerneldeint for bobbing bff source is very easy:
Code:
a=XXXsource("video.xxx")
f= kerneldeint(a,order=0, sharp=true, threshold=10)
e=separatefields(a).trim(1,0).weave().kerneldeint( order=1, sharp=true, threshold=10)
interleave(f,e)
both order variables HAVE to be the opposite of each other!
for bobbing tff source, use
Code:
a=XXXsource("video.xxx")
f= kerneldeint(a,order=1, sharp=true, threshold=10)
e=separatefields(a).trim(1,0).weave().kerneldeint( order=0, sharp=true, threshold=10)
interleave(f,e)
Easy, isn't it?
Bogalvator
13th January 2004, 02:11
Indeed, that scripting on Neuron 2's board was where it was first posted (as far as I know), but it has since evolved into the function I showed you above - they both do exactly the same thing.
You definitely shouldn't use twoway=true, it will increase the chances of getting duplicate frames.
leonhard
13th January 2004, 09:58
Actually I am now busy with cutting out Pics for the web. So I use two 21' monitors. On the first theres is virtuaul Dub running with the above script, on the other there is another intance of virtualdub running with
a=AVIsource("some.avi")
f= a.ConvertToYUY2.TomsMoComp(-1,20,1)
e=separatefields(a).trim(1,0).weave().swapfields ConvertToYUY2.TomsMoComp(-1,20,1)
interleave(f,e)
antiflicker
temporalsoften(2,2,4,15,2)
So I have a direct comparison of both approaches. Testing the first 50.000 frames, I can state that the latter gives far more natural results. Donalds filterig was more blocky. Within the first 50000 at least there was no frame doubling, and as one may guess, this was "Forced Slow Motion", even with 3GHz.
As deinterlacing is an ongoing hassle i appreciate any experience.
And to be honest, because I was to lazy so far to study the source, I do not know what exactly goes on in the filtering. Nor do I see the motivation for the naming of the "kernel", as long as one doesn't use two way.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.