alte VCDs auf DVD-interlaced aufpusten...

  • tja, da habe ich doch einige alte Aufnahmen
    (Jugendsünden! Oh graus, was sieht das SCH... aus. War ICH das etwa?!?)
    mal auf DVD retten wollen, von wegen: Rohlinge fangen an zu oxidieren, und :
    "OMG, wat sieht das doch sch... aus"
    und mir kam da spontan dieser CIF nach Full-D1 - Upscaler in den Sinn:

    Input: progressives 352x240@29.97 fps (NTSC) oder 352x288@25fps (PAL)
    Input muss YV12 sein!

    Output: TFF-Interlaced 704x480@29.97 fps (NTSC) oder 704x576@25fps (PAL)
    Output ist YUY2

    benötigt: MVTools0962 http://jourdan.madism.org/~manao/MVTools-v0.9.6.2.zip
    und TDeint http://bengal.missouri.edu/~kes25c/TDeintv1b3.zip

  • Tüllich kann man noch Blinddehalo und Co. reinwerfen.

    Aber ich habe mich für 2x TDeint entschieden, weils schmerzfreier zu implementieren ist.
    (TDeint hat einen spezialmode für Edge-Direccted vertical height doubling)

    und beispielbilder.. hmmm.

    bei bewegeung sähe man sofort die Kämme -> schlecht vergleichbar
    und bei statischen szenen sieht man ausschließlich die spatiale Interpolation.
    und die ist, wie schon gesagt, simples 2x TDeint()

  • Aus rein technischem Interesse habe ich mal anhand einer alten VCD (DVB-S > TMPGEnc > VCD) einen kurzen Test durchgeführt. Gegenüber einem schlichten Resize sieht das Ergebnis schon besser aus - allerdings auch wesentlich softer. Obwohl es mit den Beispielbildern wirklich nicht besonders aussagekräftig ist, habe ich mal beide angehängt.
    Damit ist es IMHO Geschmackssache. Weniger Geschmackssache ist der Geschwindigkeitsfaktor:

    Test auf AMD XP1800 mit QuEnc 0.61

    LanczosResize : ca. 30 fps <> CIF2FullD1 : 1,42 fps

    Was ich damit ausdrücken möchte : Wer großen Wert auf Qualität setzt, sollte sich durchaus mit "CIF2FullD1" befassen. Die Fans von verhunzten EselVCDs hingegen haben ohnehin nicht die Zeit ....... (diese Sorte "Spezialisten" sucht natürlich auch die avisynth.exe vergeblich :ani_lol: )

    Dies nur zum Thema "Brauche Hilfe zum Verbessern meiner alten VCD/SVCD..."

  • Wegen der Geschwindigkeit:

    Ein bisschen besser sollte es werden, wenn man in den Vektorsuchen "sx=8,sy=8" angibt. (Lambda sollte dann eventuell halbiert oder geviertelt werden - aber Lambda ist immer so ne Sache ...)
    Da der Frame ja eh' schon auf doppelte Größe aufgeblasen wurde, sollte Vektorsuche mit 8x8-Blöcken eigentlich ausreichen.

    Ansonsten aber: :ja:

  • Kann das sein , das das Ding nen Fehler hat ?
    Mir sind lauter PixelFehler aufgefallen , da hab ich mal SeparateFields() gemacht.
    In jedem ungraden Frame sind Fehler.

    edit: Hab mal die Pic's entfernt , die Jungs wissen ja auch so sofort , was ich meine.

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • tach auch !

    Ich bin entsetzt!
    Man kann aus Sch**e wirklich Gold machen ?

    Und warum soll das besser sein , als am TV aufgezoomtes CIF sprich VCD ?

    Da wird BergH am Vatertach aber mal was zu testen.

    Gruss BergH

  • 1) die plugins sind mittlerweile veraltet.
    es müsste nun vielmehr so aussehen:

    wenn das output zu verwaschen ist, einfach das duplicateframe(0) rausnehmen

    2) bewegungsinterpolation ist niemals perfect. D.h. alles was blitzt und kracht geht in die Hose, deswefgen ist jedes 2. Filed manchmal mit diesen verrückten artefakten durchzogen

  • Zitat von scharfis_brain

    bewegungsinterpolation ist niemals perfect. D.h. alles was blitzt und kracht geht in die Hose, deswefgen ist jedes 2. Filed manchmal mit diesen verrückten artefakten durchzogen


    Genau so isses, Amen. Aber vielleicht geht da doch was ...

    Mal angenommen, man hätte eine Maske, die genügend verlässlich diejenigen Bereiche abbildet, in denen die Bewegungssuche [Frame_X]<-->[Frame_Y] ein "unbrauchbares" Ergebnis geliefert hat. ;)

    Dann könnte man doch einfach diese Fehlermaske anhand der gefundenen Vektoren auf den errechneten Kompensationsframe drauflegen, und dann die übliche Fallback-Lösung (Blending) per maskedmerge reinkopieren.

    Odä nich?

  • Ich habe dazu einige Fragen , scharfi :

    1) Die eedi2-Interpolation gefällt mir nicht ganz , das wird zu unscharf , was hälst du davon ?

    2) Welche Plugins brauche ich für die neue Version ?

    3) Ich habe die Funktion des Scripts eigendlich gut nachvollziehen können , aber was macht DuplicateFrame ? Klar , ein Frame verdoppeln , aber was bringt das bzw. was hat das in diesem Zusammenhang für Auswirkungen ?

    DANKESCHÖN !

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • 1) mir egal. Tu was immer Du magst. Das fuehrt aber dazu dass das originalbild nicht mehr unangetastet zur Ausgabe gelangt.

    2) EEDI2.dll von tritical und motion.dll von mg262 (nebst motionprotectedfps.avs vom Dezember 2005)

    3) es stellt sicher, dass das das Eingangsbild ohne vertikales rescaling auf das Even oder Odd field abgebildet wird.

  • Zitat


    Mal angenommen, man hätte eine Maske, die genügend verlässlich diejenigen Bereiche abbildet, in denen die Bewegungssuche [Frame_X]<-->[Frame_Y] ein "unbrauchbares" Ergebnis geliefert hat.

    Dann könnte man doch einfach diese Fehlermaske anhand der gefundenen Vektoren auf den errechneten Kompensationsframe drauflegen, und dann die übliche Fallback-Lösung (Blending) per maskedmerge reinkopieren.

    Ehm.... scharfi mein König aller AVS-Scripte , würdest du...

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • da brauchst Du keine paar Jahre zu warten für.

    xxxsource("blah.xxx")
    eedi2().turnright().eedi2().turnleft()
    eedi2().turnright().eedi2().turnleft() # LOL
    motioncompensatedfps(last.framerate*2)
    bicubicresize(1440,1080)
    addborders(240,0,240,0)


    das gibt schöööönes 1080p50 oder 1080p60 Dir

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!