M2V.VFP statt MPEG2Dec

  • Angeregt durch eine Diskussion im englischen Doom9 habe ich mich mal nach längerer Zeit wieder mit m2v.vfp befasst, dem VFAPI MPEG2-Decoder, der auch das Tool mme beinhaltet.
    Man kann das Ding als VFAPI-PlugIn in TMPGEnc benutzen, um MPEG2-Files direkt mit dem Encoder zu öffnen, es ist aber auch möglich, ihn in AVISynth zu benutzen.

    Eines vorweg: Er ist erheblich langsamer als die Variante über DVD2AVI / MPEG2Dec. Für Tempo-Fetishisten also nicht geeignet. Und in AVISynth benutzt, benötigt man seltsamerweise ein FlipVertical.
    Der Decoder hat aber auch Vorteile. So kann man ihn z.B. so einstellen, dass er anamorphe Videos beim Decoden gleich auch noch entzerrt (1024x768). Wer's mag, bitteschön.
    Interessanter ist da schon seine Möglichkeit, die ausgegebene Luma Range bzw. das Farbformat als solches zu beeinflussen. Gerade für Benutzer von TMPGEnc sehr hilfreich.

    Hier mal die Settings, mit denen er (fast) zu MPEG2Dec identische Ergebnisse liefert (über M2vconf.exe):

    Aspect Ratio: Ignore
    Field Order: Keep Original Frame
    iDCT Algorithm: Floating Point
    SIMD: Je nach Prozessor
    GOP List: Alles aus
    YUV Range: ITU-R BT.601 Range
    Default Matrix Coefficient: Auto
    YUY2 Matrix: Keep Original YUV Data

    Fast identisch deshalb, weil mir 2 Dinge aufgefallen sind:
    1. m2c.vfp "vergisst" den ersten Frame (wobei am Ende die Menge der Frame aber gleich war... ist mir (noch) ein Rätsel).
    2. Seine Ergebnisse lassen sich etwas besser komprimieren. Wo da genau die Unterschiede liegen, ist mir noch nicht ganz klar.

    Der Decoder liefert RGB24, der Skript-Kopf eines AVISynth-Skriptes sollte also so ähnlich aussehen:

    Code
    LoadVFAPIPlugin("E:\Video\tmpgenc252\M2v.vfp", "m2v_in")
    m2v_in("voyager.mpv")
    Flipvertical()
    ConvertToYV12(interlaced=true) #Falls interlaced
    AssumeTFF()

Jetzt mitmachen!

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