[übersetzung meines postings bei doom9.org]
hallo leute,
ich bin bereits recht zufrieden mit dieser einfachen RemoveDirtMC funktion. sie ist recht schnell, entrauscht gut und erzielt sehr gute komprimierbarkeit. sie ist optimiert für eher leichtes entrauschen von dvd quellen, entfernt aber auch stärkere spot-störungen ohne artefakte!
benötigt werden: RemoveDirt, RemoveGrain, MVTools 1.1.1
Code
function RemoveDirt(clip input, int limit, bool _grey)
{
clensed=input.Clense(grey=_grey, cache=4)
alt=input.RemoveGrain(2)
return RestoreMotionBlocks(clensed,input,alternative=alt,pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=limit,noisy=12,grey=_grey)
}
function RemoveDirtMC(clip,int limit, bool "_grey")
{
_grey=default(_grey, false)
limit = default(limit,6)
bvec = clip.MVAnalyse(isb=false, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
fvec = clip.MVAnalyse(isb=true, blksize=8, delta=1, pel=2, truemotion=true, idx=1)
backw = clip.MVFlow(bvec)
forw = clip.MVFlow(fvec)
clp=interleave(backw,clip,forw)
clp=clp.RemoveDirt(limit,_grey)
clp=clp.SelectEvery(3,1)
return clp
}
Alles anzeigen
Hinweis: isb=false/true gegensätzlich zur mvtools-readme, aber die ergebisse entsprechen nur so meinen erwartungen
MVFlow in MVTools 1.1.1 ist fehlerhaft für idx=1 bei pel=2