YUV 4:2:0 mit 10 bit pro Komponente in AviSynth verarbeiten

  • Hab eine 10bit H.264 Quelle (Problem sollte aber analog auch mit H.265 auftreten oder wenn man FFVideoSource2 mit ",enable10bithack=true" nutzt), wenn ich die mit LibavSource lade:

    Code
    LoadPlugin("G:\Hybrid\avisynthPlugins\LSMASHSource.dll")# loading source: C:\Users\Selur\Desktop\TestClip[Cleopatra].mkvLWLibavVideoSource("C:\Users\Selur\Desktop\TestClip[Cleopatra].mkv",cache=false,repeat=true)# adjust color to RGB32 for avisynth viewer, not part of the actual script for encodingConvertToRGB32(matrix="Rec709")return last


    ist der Preview in VirtualDub&Co kaputt, wenn ich:

    Code
    LoadPlugin("G:\Hybrid\avisynthPlugins\LSMASHSource.dll")# loading source: C:\Users\Selur\Desktop\TestClip[Cleopatra].mkvLWLibavVideoSource("C:\Users\Selur\Desktop\TestClip[Cleopatra].mkv",cache=false,repeat=true,format="YUV420P8")# adjust color to RGB32 for avisynth viewer, not part of the actual script for encodingConvertToRGB32(matrix="Rec709")return last


    verwende, ist alles okay.

    Das Problem ist, soweit ich es sehe, dass LWLibavVideoSource standardmäßig bei 10bit Yv12 (YUV420P10) richtigerweise auch 10bit output liefert, jedoch scheint ConvertToRGB32 damit nicht klar zu kommen.

    Da ich jedoch den ConvertToRGB32-Teil nur für den Preview brauche und ansonsten YUV420P10 beibehalten möchte ist die Frage:

    Wie kann ich am Besten die Konvertierung von Yv12 nach RGB32 erst am Ende des Skripts machen?
    Wenn ich mich recht entsinne sollten sowohl flash3kyuu_deband als auch die dither tools das können, oder? Hat da jemand Erfahrung?

    Code
    f3kdb_dither(stacked=false, input_depth=10)


    klappt, frage ist: Ist das der sinnigste Weg?

    Cu Selur

  • ffms2 habe ich gerade getestet und es scheint tatsächlich nicht (mehr) möglich zu sein, zumindest mit der offiziellen Version. (Vermutlich aber in VapourSynth.)
    Aber im offiziellen git war das eh nie, oder?

  • Weiß ehrlich gesagt auch nicht sicher ob das mal im offiziellen git war. :)
    sollte:

    Code
    ..., stacked=true, format="yuv420p16"


    bei LWLibavVideoSource nicht unnötig sein, dachte eigentlich, dass das per Default bei 16bit 4:2:0 Input stacked und yuv420p16 verwendet. :)

  • bei LWLibavVideoSource nicht unnötig sein, dachte eigentlich, dass das per Default bei 16bit 4:2:0 Input stacked und yuv420p16 verwendet. :)


    Nein, Default ist interleaved und zumindest bei stacked ohne format="yuv420p16" ist auch die Anordnung die Bits nicht so, wie sie die meisten AviSynth-Filter erwarten. Muß also tatsächlich beides zwingend rein.

Jetzt mitmachen!

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