Hallo,
ich habe mich vor langer Zeit für eine Denoise-Funktion entschieden, die optimale Ergebnisse bei kurzen Testclips bringt.
Bei Clips in Stundenlänge läuft das bei mir aber mehrere Stunden bzw. Tage.
Ich glaube, dass ich da eine optimale Varinate gewählt habe, die aber keinen praktischen Mehrwert gegenüber anderen Varianten bringt.
Ich brauche da eigentlich eine Empfehlung, wie
- ich Avisynth beschleunigen könnte
- oder die Funktion optimieren könnte (ohne sichtbaren Verlust).
Hier die Funktion denoise (clip c):
LoadPlugin ("E:\Projekt_Capture_Win_7\Plugins\mvtools2.dll")
function denoise (clip c)
{
erg = Mdegrain2i2 (c, 4, 0)
return (erg)
}
function MDegrain2i2 (clip source, int "overlap", int "dct")
{
overlap = default (overlap, 0) # overlap value (0 to 4 for blksize=8)
dct = default (dct, 0) # use dct=1 for clip with light flicker
fields = source.SeparateFields () # separate by fields
super = fields.MSuper ()
backward_vec2 = super.MAnalyse (isb = true, delta = 2, overlap=overlap, dct=dct)
forward_vec2 = super.MAnalyse (isb = false, delta = 2, overlap=overlap, dct=dct)
backward_vec4 = super.MAnalyse (isb = true, delta = 4, overlap=overlap, dct=dct)
forward_vec4 = super.MAnalyse (isb = false, delta = 4, overlap=overlap, dct=dct)
erg = fields.MDegrain2 (super, backward_vec2, forward_vec2, backward_vec4, forward_vec4, thSAD=400)
erg = erg.Weave()
return (erg)
}
Gruß
Highwayman