TempGaussMC & Progressivmaterial

  • Wechseln? In welchem Muster?

    3 Frames interlaced, 2 Frames Progressiv? Das ist Telecine mit 3:2-Pulldown, eine typische Normwandlung von Kinofilm (24 fps) zu NTSC-Fernsehen (30:1,001 fps). Kann mit "Inverse Telecine" (IVTC) wieder rückgängig gemacht werden (zu 24:1,001 fps).

    Oder 13 Frames interlaced, 12 Frames Progressiv? Eine vergleichbare Normwandlung von Kinofilm (24 fps) zu PAL (25 fps), auch das lässt sich entsprechend "dezimieren".

    Oder ganz anders?
    __

    Und abgesehen davon: Interlacing-Streifen kann man sowieso nur dann "sehen", wenn Bewegung im Bild ist. Deswegen sind aber die unbewegten Szenen nicht plötzlich progressiv.

    Und dann gibt es noch eine andere Art von Streifen, die durch falsches Chroma-Upsampling in der Vorschau entstehen, die aber nur bei bestimmten Farbtönen bzw. -Kombinationen auffällig werden.

  • Nein, kein Muster. Es sind einfach manche Szene progressiv, ich sehe zumindest keine interlacing Artefakte und manche bzw. die meisten sind interlaced. Sorry, hätte ich genauer beschreiben sollen.

  • Das Problem mit dem Wechsel progressiv/interlaced kommt auch immer wieder vor z.B. bei Naturdokus. Da sind die Landaufnahmen progressiv und die Luftaufnahmen interlaced. (Ist bei mpeg2 kein Problem). Die Szenen habe ich dann mühsam gesondert bearbeitet und nach 50 fps konvertiert und wieder zusammengefügt. Bei zu häufigem Wechsel verliert man aber irgendwann die Geduld.

  • Es könnte sich auch noch um "dynamic phase shift" handeln - bei sowas lässt man von einem Fieldmatcher (Telecide, TFM) die zusammengehörenden Felder wieder zu progressiven Frames zusammensetzen. TGMC ist hier keine gute Wahl.

    TGMC ist nur für echtes Interlactes Videomaterial ausgelegt. Die Bewegungssuche und -Kompensation macht Annahmen, für die dieses eine Grundvoraussetzung ist. Bei Anwendung auf Progressivmaterial (oder Telecine-Material, oder Fieldblending-Interlacing) ist das Ergebnis nicht optimal. Die interne Fehlerkorrektur verhindert zwar das schlimmste, deswegen sieht das Ergebnis selbst dann noch Ok aus. Aber es ist eben nicht optimal, weil von falschen Voraussetzungen ausgegangen wird.

    Seit einiger Zeit gibt's ein modifiziertes Script von -Vit-: QTGMC. Dort sind progressiv-Modi implementiert, über "InputType". 0 ist für normale interlacte Quellen, 1/2/3 sind für progressives Material, bzw. solches, das zuvor bereits anderweitig deinterlaced worden ist.

    WENN das Eingangsmaterial vom Typ "dynamic phase shift" ist, dann ist weder TGMC noch QTGMC zum direkten Filtern geeignet. Hier muss zuerst ein Fieldmatching stattfinden. Erst dann kann man mit QTGMC weitermachen, wenn man noch will.

  • TGMC ist nur für echtes Interlactes Videomaterial ausgelegt.....


    Mmmhhh ich weiß jetzt nicht so genau ob das hier rein passt aber wo ich meine VHS-Capture(TFF) mit TGMC bearbeitet habe hatte ich auch so ein blöden Effekt. Totales Gezitter des erstellten AVI. Unter VD habe ich mir dann die Frames erst mal genauer angeschaut und mußte feststellen es ging immer ein Frame vor dann zurück. Also vor,zurück,vor,zurück usw

  • Jo, wenn das VHS-Capture TFF war, dann ist das kein Wunder. Ein AVI-Video teilt i.d.R. nicht nach außen mit, ob es TFF oder BFF ist. Und Avisynth nimmt dann per Default BFF als Fieldorder an.

    Deswegen ist es gute Praxis, nach AviSource() *immer* die Feldorder selbst festzulegen, mit AssumeBFF bzw. AssumeTFF.

  • Na Toll! Man wird alt wie ne Kuh und lernt immer noch dazu! Ich bin einfach zu lange raus aus der Materie und muß wieder Schritt für Schritt mein Kopp auf vorderman bringen.
    Recht vielen Dank Didée
    Werde es jetzt noch mal versuchen....außer dieses avisynthMT macht mir noch Kopfschmerzen. SetMTMode() oder SetMemoryMax() keine Ahnung an welcher Stelle man das eintragen muß. Also alles erst mal auf normal avisynth 2.5.8

  • SetMemoryMax() möglichst zuallererst, denke ich.

    Zu SetMTMode() oder MT() gab es schon einige Hinweise, weit verstreut ... es kann sein, dass man bestimmte Funktionen außen vor lassen sollte, die für sich nicht im Multithreading-Bereich funktionieren, z.B. bestimmte *Source(), besonders DGSource().

Jetzt mitmachen!

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