Nachdem ich das Variablenkonzept einigermassen verstanden hatte (siehe meine Frage zu implizit / explizit) ist mir nun doch wieder etwas unklar.
Beim Aufruf einer internen Funktion übergebe ich als ersten Parameter eine Variable vom Typ clip. Wenn ich diese Variable nicht angebe wird automatisch die Variable last an die Funktion übergeben.
Nun frage ich mich wie innerhalb der aufgerufenen Funktion mit der Variable last umgegangen wird.
Wird diese mit der ersten übergebenen clip-Variable gleichgesetzt?
Was passiert, wenn ich keine clip-Variable übergebe und auch keine in den Übergabeparametern angegeben ist?
Ist sie dann initial oder wird sie vielleicht mit der last-Variable der übergeordneten Ebene gefüllt?
Die betroffene Funktion sieht im aktuellen Entwicklungsstand so aus und soll eigentlich nur dazu dienen das nachschärfen von Testvideos bezüglich Qualität, Codierungslaufzeit und Dateigröße zu untersuchen:
Function SHARP_IT (clip denoised, clip "source", clip "f1c", clip "b1c", clip "SAD_f1m", clip "SAD_b1m")
{
strength = 100
SHmode = 3
SHmethod = 3
Slimit = 0
Sovershoot = 0
Tovershoot = 0
sma = denoised
i = source
Sclp = smA.LSFmod(strength=strength,Smode=SHmode,Smethod=SHmethod,Lmode=Slimit,overshoot=Sovershoot,preblur=true,secure=true,edgemode=0,soft=0,soothe=false,ss_x=1.00,ss_y=1.00)
Tmax = i.mt_logic(f1c,"max",U=1,V=1).mt_logic(b1c,"max",U=1,V=1)
Tmin = i.mt_logic(f1c,"min",U=1,V=1).mt_logic(b1c,"min",U=1,V=1)
shrp = Sclp.mt_clamp(Tmax, Tmin, Tovershoot, Tovershoot, U=1, V=1)
FSC = shrp.mergechroma(smA)
return FSc
}
Alles anzeigen
Ob die Funktion so läuft ist noch offen, vor allem wegen dem letzten Befehl mit mergechroma, der ja automatisch last ziehen sollte, falls ich das richtig verstanden habe. Und daraus entstand dann meine Frage.
Beste Grüße Michael