This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[Feature request] BWDIF mit mehr Parametern?
#4
Hey,

erstmal vielen lieben Dank für die schnelle Antwort sowie für die Bereitstellung der Dev Version.

Zu QTGMC hatte ich mal einen Thread bei videohelp erstellt (Why is QTGMC so destructive and why do so many people still recommend it? - VideoHelp Forum), sehe auch gerade dass du da vor nem Jahr auch kommentiert hast. Werde bei Gelegenheit mal schauen ob ich dir da paar Samples zeigen kann bei denen man sieht was ich meine. Durch den Thread bin ich übrigens auch auf die Kombi BWDIF + NNEDI3 gekommen.
Kurz gesagt ist mir QTGMC für meinen Geschmack einfach zu viel des Guten, habe selbst nach stundenlangem Tuning nicht das Ergebnis erzielt auf das ich gehofft habe. Habe viele ältere DVDs von Sitcoms aus den 80ern/90ern die sehr noisy/grainy sind und egal welche Settings ich versucht habe hat dazu geführt dass sich bewegende Personen (vorallem Köpfe) die Struktur vom Grain/Noise - in dem Areal wo die Bewegung stattfand - verändert hat sodass z.B. die Köpfe wie eine Art Magnet auf das Grain/Noise wirkten. Sehr schwierig zu beschreiben, die Umrandung der Köpfe sah dann immer anders aus als die Wand dahinter, d.h. in einem bestimmten Radius wurde es geblurrt oder so.
Ich zitiere mal den Kommentar von poisondeathray bei meinem Thread:
Quote:Yes, stuck grain, blocks moving in wrong direction, temporal artifacts
Das hat mir ein wenig Hoffnung gegeben dass ich nicht der einzige war dem das aufgefallen ist.

Aber ja, QTGMC erstmal beiseite denn ich für mich hab damit sowieso schon (zum reinen Deinterlacing zumindest) eh abgeschlossen. Ist mir ehrlich gesagt viel zu viel tunen, und am Ende bin ich trotzdem nicht zufrieden. Ist mir persönlich den Aufwand und die Zeit nicht wert wenn ich stattdessen BWDIF + NNEDI3 nutzen kann und eigentlich nichts weiter einstellen muss. Klar sieht QTGMC an manchen Stellen besser aus (z.B. Anti-Aliasing) aber für meinen Geschmack greift es zu sehr in das Source Material ein (egal bei welchen Settings).


Quote:Was für Optionen sollen den zur Auswahl stehen und was für Code soll erstellt werden?
Das ist jetzt leider ein bisschen tricky. Wie gesagt, habe mich nie wirklich mit VapourSynth auseinander gesetzt. Also mein go-to "Script" für TFF in AviSynth ist einfach:
BWDIF(field=3, edeint=nnedi3(field=3, nns=4, qual=2, nsize=3))
Dann schaue ich ob ich noch mehr tunen kann, wie z.B. den preescreener oder andere nns Werte.
Bin aber gerade etwas verunsichert. Bin ich korrekt in der Annahme dass field=3 für TFF input der gebobbt wird ist? Wiki sagt "3 = double rate (alternates each frame), starts with top" also hab ichs immer so verstanden dass 1 oder 3 = TFF und 0 oder 2 = BFF.

Habe mir mal angeschaut wie Hybrid (Dev) das VS Script erstellt und so an meine Settings angepasst:
NNEDI3CL:
# Deinterlace using Bwdif
clip = core.bwdif.Bwdif(clip=clip, field=3, edeint=core.nnedi3cl.NNEDI3CL(clip=clip,field=3,nns=4,qual=2,nsize=3)) # new fps: 50
znedi3:
# Deinterlace using Bwdif
clip = core.bwdif.Bwdif(clip=clip, field=3, edeint=core.znedi3.nnedi3(clip=clip,field=3,nns=4,qual=2,nsize=3)) # new fps: 50

Die Github Links die du gesendet hast machen ja auf mich den Eindruck dass die meisten Parameter dieselben sind wie beim "originalen" AviSynth NNEDI3, sprich field, nns, qual, nsize, etype. Einzig bei pscrn unterscheidet sich NNEDI3CL von znedi3 und dem regulären NNEDI3. Denn bei NNEDI3CL kann man den prescreener nur auf 1 (old) oder 2 (new stellen) während bei znedi3 und AVS NNEDI3 eine Auswahl von 0-4 möglich ist. Also NNEDI3CL scheint da schon etwas unterschiedlicher zu sein, wäre aber auch froh wenn "nur" znedi3 implementiert ist, denn soweit ich das jetzt gesehen habe unterscheidet sich das nicht vom klassischen AVS NNEDI3.

Um aber nochmal auf BWDIF generell zurückzukommen, passt bis dahin ja alles. Die field= values sind ja dieselben wie bei znedi3 bzw. NNEDI3CL und viel mehr gibt es ja sowieso nicht einzustellen. Deshalb ist die Dev Version eigentlich was BWDIF angeht schon ausreichend, das einzige was mir noch fehlt wären eben die Optionen für den edeint.
Wie gesagt, am wichtigsten sind für mich eben  nns, qual, nsize, etype, pscrn. Field könnte man ja so einstellen dass die selbe value wie für BWDIF genommen wird, sind ja eh die selben (aber nur bei znedi3/NNEDI3CL). Mit EEDI3 oder EEDI3CL hab ich leider noch nie zu tun gehabt, kann dazu also nichts sagen außer dass field= hier wieder genau wie bei BWDIF ist.

Quote:Wenn Du mir (!genau!) sagen kannst, was für Parameter mit welchen Werten unterstützt werden sollen und was da für Code entstehen muss, kann ich da was für schreiben.
Kann ich gerne machen, aber das meiste werde ich aus den Github Seiten kopieren, weiß jetzt nicht ob dir das so viel bringt. Vorallem bei dh= bin ich wirklich überfragt, da die default value ja false ist, es wird aber von interpolieren gesprochen. Oder ist das nur relevant für Upscaling?

Wie gesagt habe ich selber nie mit VS gescriptet, da ich da irgendwie nicht durchblicke mit z.B. clip=, da war AviSynth echt besser für Noobs wie mich Big Grin 
Hätte aber auch garnichts dagegen wenn du BWDIF mit edeint Parameter nur für den AviSynth Teil implementierst.

Die Github page von BWDIF verwirrt mich auch etwas, da im Code folgendes steht:
bwdif.Bwdif(vnode clip, int field[, vnode edeint=None, int opt=0])
das Script was Hybrid ausspuckt (siehe weiter oben) hat eben nicht vnode & int field drinnen und ich bin da auch ehrlich gesagt komplett überfordert wie was wo gescriptet werden muss. Auch beim Vanilla BWDIF Script von der Hybrid Dev Version bin ich überfordert:
# Deinterlace using Bwdif
clip = core.bwdif.Bwdif(clip=clip, field=3, edeint=core.znedi3.nnedi3(clip=clip,field=3)) # new fps: 50
z.B. bei BWDIF selber wird noch mit Leerzeichen gearbeitet, sobald die Klammer aber für znedi3 aufgeht eben nicht mehr.
Reply


Messages In This Thread
RE: [Feature request] BWDIF mit mehr Parametern? - by sebastiaaan - 22.10.2023, 15:20

Forum Jump:


Users browsing this thread: 2 Guest(s)