Dank Gavino, wurde der Memory Bug nun behoben.
Srestore liegt jetzt in Version 2.7d vor.
Posts by MOmonster
-
-
MacLeod
1. zu srestore
Die Funktion ist hier einfach falsch. Es liegt keine Normwandlung vor. Zudem verändert srestore grundsaetzlich nicht die Laufzeit des Videos. Ist so ja auch nicht gewollt. Verstehe also deine Frage nicht ganz.2. zum Sample
Zum groeßten Teil handelt es sich um einfaches Telecining (3:2-Pulldown). Die Blends in einigen Szenen sind bei irgendeiner Nachbearbeitung entstanden (damit best. Szenen fluessiger aussehen usw.). Sie lassen sich nicht entfernen.
moeglicher Ansatz:
Mode 1 oder 2 sollten mit den richtigen Parametern auch funktionieren (tdecimate). Die Einstellungen lassen sich natuerlich optimieren.
Ansonsten bleibt noch die (aufwendigere) Moeglichkeit sich mit unterschiedlichen Frameraten rumzuschlagen. -
-
-TiLT-
Lade am besten ein kleines Sample hoch. Der Effekt sollte eigentlich minimal sein, oder erzeugst du die Szenenwechsel selbst mit trim etc?MacLeod
Ich verstehe deine Frage nicht so ganz. Srestore interessiert sich nicht für das resizing davor oder danach und aendert auch selbst nicht die Aufloesung.geht also problemlos
-
Eine gute Lösung wirst du leider auch nicht finden.
Einige klare Halbbilder fehlen einfach und lassen sich aufgrund der variablen Blendgewichtung auch nicht schön reproduzieren. -
mbc
Wozu benötigst du average? Der Doppelblend-Fall sollte in unserer Region eigentlich nicht vorkommen. Die dll ist irgendwo im englischen Forum zu finden, müsste jetzt aber erst danach suchen.
Entschuldigung, aber dein zweites Problem verstehe ich einfach nicht, vielleicht kannst du ja einen kurzen Ausschnitt hochladen. -
Srestore 2.7 ist aus dem prerelease Stadium raus. Es gibt viele kleine Verbesserungen bei den Bedingungsabfragen und die Codelänge wurde nochmals reduziert.
-
Update
Es hat mich einige Zei gekostet srestore nochmal zu verbessern. Die Funktion basiert immer noch auf den X-Core, bringt aber viele qualitative Verbesserungen mit sich um eine moeglichst fluessige Ausgabe zu gewaehrleisten.
Vorerst bleibt es aber bei der 2.7pre Version. Um die anderen Funktionen kuemmere ich mich zur gegebener Zeit. -
MacLeod
Der Interlacing2Reader haette auch mal dringend eine Ueberarbeitung notwendig. Naja, spaeter vielleicht.
Die Funktion gibt keine Auskunft darueber, wie man srestore benutzt, sondern nur ob es ueberhaupt noetig ist.
Sollte mal eine Methode zur Auswertung der Berechnungen aufschreiben, aber auch das muss erstmal warten.Zu dem Ergebnis laesst sich hier nicht so viel sagen. Gut möglich waeren eine DEFT-Wandlung (tdeint(mode=1).srestore(frate=25)) oder eine Normwandlung (tdeint(mode=1).srestore()).
Den Bobber kannst du natuerlich durch deinen Favoriten ersetzen. -
Da melde ich mich auch mal.:)
-
Habe heute früh etwas mehr Muße. Hier ist das Skript:
Code
Display Morefunction mbc_pre(clip source, int "cache") { ###### parameters & other necessary vars ###### cache = default(cache,-1) ###### lut & more ###### detx = source.converttoyv12.reduceby2 global mclpx = mt_makediff(detx,detx.trim(2,0),y=3,u=1,v=1).mt_lut("x 128 - abs 2 *",y=3,u=1,v=1).bilinearresize(int(detx.width/24+4)*4,int(detx.height/24+4)*4) global source = source ###### initialise variables ###### global lfrx = -100 ###### evaluation call & output calculation ###### scriptclip( source, """ ### preparation ### cfrx = current_frame jmpx = lfrx+1==cfrx lfrx = cfrx mx_v = yplanemax(mclpx) ## blend value shifting ## mxp = jmpx ? mxc : mx_v mxc = jmpx ? mxn : mx_v mxn = mx_v ### output clip ### mxc*4<mxp && mxc*4<mxn ? source.trim(1,0) : source """) ###### final decimation & caching ###### cache<0 ? last : last.RequestLinear(8, cache, 5, false, false) return last } tdeint(mode=1,mi=52,tryweave=true) mbc_pre() tdecimate(rate=25,mode=2)
Effektiv werden im gesamten Sample vielleicht 20 bis 30 Frames leicht verändert. Das macht sich weder beim Schauen noch beim kodieren bemerkbar.
Man kann die Funktion also auch weglassen. Da sie recht flott arbeitet spricht allerdings auch nichts dagegen sie zu verwenden. -
-
Eine typische DEFT-Wandlung ist das hier aber nicht. Falls man sowas wie typisch in diesen Zusammenhang überhaupt sagen darf.
Dieses Skript arbeitet zumindest zufriedenstellend. Vielmehr ist aus der Source nicht rauszuholen:
Das Ghosting bleibt zwar, aber um gut erkennbare Mischbilder handelt es sich hier sowieso nicht.
Du kannst natürlich die ganze Palette an möglichen Funktionen (repair_DEFT, unDEFTmatcher, mrestore und srestore) testen. Da deren Erkennung aber nur bedingt greift (falls überhaupt) und versucht wird irgendeinen Pattern zu folgen, kann ich jetzt schon sagen, dass du mit den Resultaten wohl weniger glücklich sein wirst. -
Update
Es gibt schon wieder eine überarbeitete Version. Viele kleine Verbesserungen, wie zum Beispiel Avisynth 2.58 Kompatibilität. GRunT wird in dieser Version allerdings noch nicht verwendet. -
Update:
Nachdem ich, angefangen mit Cdeint, nun schon einige Blenderkennungsmethoden (C-, D-, L-, M- und P-Core) durchlaufen bin, gibt es nun ein weiteres größeres Update (X-Core).
Die neue Funktion srestore löst mrestore, Cdeblend, FixBlendIVTC und DupHQ ab. Zudem ist es mein erster Filter mit einer funktionierenden Patternerkennung.
Aufgrund der gravierenden Neuerungen empfand ich eine weitere Umbennennung sinnvoll.Wichtig:
- Mrestore 2.31 hatte einen gravierenden Bug und wurde deshalb aus dem Paket entfernt
- in AviSynth 2.5.8 wird die Berechnung von changefps von round zu floor geändert. Ich werde srestore erst anpassen sobald diese Version Final ist. -
Kein Problem.;)
Jetzt mach ich aber erstmal zwei Wochen Urlaub und dann arbeite ich eventuell mal an version 2.5. -
FixBlendIVTC und mrestore wurden wieder aktualisiert. Die Ausgabeframerate muss nun wieder direkt gesetzt werden, was den meisten hoffentlich sehr entgegenkommt. Das Problem der alten Ungenauigkeiten bei der Berechnung der changefps Ausgabe wurde mit diesen Release auch gleich beseitigt.
-
Hab dich ganz schön warten lassen. Aber du kennst ja jetzt die Ursache. Außerdem gab es noch sehr viele andere Dinge zu tun.
Ganz optimal sind diese Einstellungen auch noch nicht, aber das Optimum lässt sich halt immer schwer finden. Die krumme Framerate ist zwar nicht schön, aber entspricht ziemlich genau dem, was die Quelle hergibt. Abgesehen von wenigen sehr kleinen Blends bei den Mundbewegungen, werden alle Blends entfernt.Aber teste selbst und urteile.;)
-
Erst zusammenfügen und dann Cdeblend aufrufen. Mehrere Aufrufe sind aufgrund der globalen Varialblen bei solchen Funktionen nicht möglich.
Sample gucke ich mir heute Abend bei Gelegenheit an. -
Da hab ich Tage lang alle Samples, die ich auf den Rechner hatte, durch mrestore gejagt, damit alles was machbar ist auch gemacht wird (DEFT etc). Und denn kommst du mit so nen lausigen Sample und zeigst, dass mrestore letztendlich doch nur ein blöder Automat ist, den ein Student in seiner Freizeit geschrieben hat.;)
Mrestore hat wirklich Probleme mit deiner Quelle. Das Sample wird auf jeden Fall für die nächste Version herhalten (ist allerdings noch nicht in Planung).Um dich aber nicht ganz im Regen stehen zu lassen:
Mit diesen Einstellungen arbeitet mrestore hier gar nicht so schlecht, wenn auch nicht optimal:Codetdeint(mode=1) #or Yadif mrestore(bf=0.3,mode=0,dup=-1,rx=2.0,ry=1.3,mthr=-4,chroma=true,dclip=last.crop(12,8,-8,0)) #or same settings with mode=5
Mode 5 hinterlässt mehr Blends ist vielleicht aber einen Ticken flüssiger. Rx und ry kann man vielleicht auch noch etwas kleiner wählen, aber naja, deine Quelle ist so oder so zu schwammig.Oh, stimmt ja, regnet ja gar nicht, das sind die Leute die über uns auf dem Balkon so schwitzen. Soviel zum Thema: Im Regen stehen lassen.;D