UYVY (YUY2) oder DV-AVI (YV12) für NeatVideo?

  • Zitat

    Somit stammen doch immer 2 hintereinanderfolgende Frames vom selben Zeitpunkt. Da dürften doch eigentlich keine "Sägezähne" zu sehen sein?!

    Richtig - "Sägezähne" sieht man bei progressivem Material dann, wenn es fieldshifted ist, also die beiden zusammengehörigen fields in unterschiedlichen Frames liegen...
    ..das Fehrnsehen sendet meist tff - wenn man das dann bff digitalisert, hat man den fieldshift.

    Zitat

    AssumeTFF()
    SeparateFields()
    Bob()

    Wofür ist hier der Befehl SeparateFields. Das zerlegen in Halbbilder übernimmt doch Bob vor der Interpolation?!

    Bob macht das "separatefields()" falls es nicht explizit da steht; wenn es schon fieldbased ist, wirds es unterlassen.

    Gruß Karl

  • Mit "Sägezahn" meine ich im Falle eines horizontalen Schwenks:

    - deutliche horizontale Bewegung durch den Schwenk
    - minimale vertikale Bewegung durch den Zeilenabstand
    - deutliche horizontale Bewegung durch den Schwenk
    - minimale vertikale Bewegung durch den Zeilenabstand
    - deutliche horizontale Bewegung durch den Schwenk
    - minimale vertikale Bewegung durch den Zeilenabstand
    ...
    __

    Erst SeparateFields() und danach noch mal Bob() macht keinen Sinn. Entweder SeparateFields (dann hat das Ergebnis nur die Hälfte der Zeilen, also halbe Höhe) oder Bob (dann hat das Ergebnis volle Höhe, aber jeweils dazwischen interpolierte Zeilen).

    Anscheinend weiß Bob() das, so wie Der Karl das beschreibt, und separiert FieldBased-Clips nicht noch einmal zusätzlich...

  • So richtig bildlich kann ich mir das im Moment nicht vorstellen. Ich probiere es einfach mal mit progessivem Material.
    2 Verständnisfragen hätte ich aber noch.

    1. Wenn ich dieses Script anwende, ist mein Video beim VDub-Output-Bildschirm wesentlich dunkler als beim Input.

    i = avisource("test.11-07-22_16-22.00.avi")
    t = assumetff(i).bob()
    b = assumebff(i).bob()
    stackvertical(t,b)

    2. Wenn ich mein Video mit "avisource(test.avi).info" öffne, zeigt er mir als Farbraum nicht YV12 sondern YUY2 an.
    Das Video stammt aber vom ADVC-300, müßte also YV12 als Farbraum haben.

  • AviSource("dateiname.avi") liefert das Format, welches der Decoder bevorzugt. Das kommt also auf den VfW-Codec an, der installiert und zuständig ist, eventuell auch wie er konfiguriert ist (vor allem wenn ffdshow der zuständige VfW-Codec für das Format sein sollte, kann man jede Menge einstellen).

    Man kann versuchen, die Ausgabe in ein bestimmtes Format zu zwingen: AviSource("dateiname.avi", pixel_type="YV12") kann je nach VfW-Codec das Video in YV12 liefern ... oder eine Fehlermeldung, wenn er dieses Ausgabeformat nicht unterstützt.
    __

    Helligkeitsunterschiede sind möglich, falls VirtualDub so eingestellt ist, dass DirectX zur Ausgabe verwendet werden soll. Je nach Format kann dann eventuell der Overlay-Renderer verwendet werden, und dessen Helligkeit ist vom Desktop unabhängig - im Gegensatz zu vielen anderen Renderern, die auf den Desktop rendern, also in den Schreib-Lese-Grafikspeicher schreiben (das Hardware-Overlay verwendet einen reservierten Bereich der Grafikkarte, der relativ direkt mit dem Signalgenerator verbunden ist).

  • FFdshow habe ich nicht installiert. Ich habe auf dem System die kostenlose Version des Canopus DV Codecs installiert. Öffne ich die Quelldatei direkt in VDub verwendet er auch diesen Codec. Verwende ich Avisynth dazwischen verwendet VDub antürlich einen anderen Codec da der Farbraum sich ja plötzlich geändert hat.
    Ich wüßte nicht wie ich die Farbraumausgabe in den Codeceinstellungen ändern kann. Was wäre denn die bessere Einstellung? - mir wäre es ja recht wenn keine Farbraumumwandlung stattfindet.

  • Ich kenne den Canopus-Codec nicht ... nicht jeden VfW-Codec kann man überhaupt einstellen, insbesondere was die Decodierung angeht.

    Vergleiche, ob AviSource bei expliziter Angabe von pixel_type sowohl mit "YUY2" als auch "YV12" überhaupt ein brauchbares Video liefert.

    Unterschiede in der Darstellung, wenn AviSynth am Ende YUY2 oder YV12 an VirtualDub ausgibt, bedeuten aber keineswegs, dass diese Unterschiede auch während der Verarbeitung innerhalb von AviSynth auftreten. Wahrscheinlich ist nur die Bildschirmdarstellung betroffen. Sicherheit gibt hier nur der AviSynth-Filter Histogram().

  • Nachteule o. gerade aufgestanden? :)
    Ich habe das eben mal getestet. Mit

    AviSource("dateiname.avi", pixel_type="YV12")
    info

    gibt er mir trotzdem YUY2 aus. Erst durch "converttoyu12" wurde auch in YU12 ausgegeben.
    Der Befehl "Histogram(mode="levels")" funktioniert leider nur bei planarem Material. Somit wäre ein Vergleich zwischen den beiden Farbräumen schwierig.

Jetzt mitmachen!

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