H.264 - Komische Farbdarstellung - Codecproblem?

  • Hey,

    wenn ich H.264 Material abspiele, habe ich seltsame Farbverschiebungen. Woran es liegt weiß ich nicht so genau.

    Ich spiele die Filme im MPlayer Classic ab (k.a. irgend ein relativ neues clsid build). Allerdings hatte ich auch schon ne TechnoTrend TT-budget S2-3200 Karte die HDTV aufnehmen konnte. Auch dort waren die Farben bei der Darstellung so komisch.

    Eigentlich habe ich (ein uraltes) ffdshow installiert, bei dem H.264 aktiviert ist. Jedoch scheint der MPC diesen nicht zu verwenden.

    Eine sehr seltsame Erscheinung: Wenn ich das MPC-Fenster über den Monitorrand hinausschiebe, erscheint der noch sichtbare Teil korrekt und ohne die Farbfehler.

    Woran liegts? Was kann ich tun?

    Ich weiß jetzt nicht, welche infos ich noch zur verfügung stellen könnte. Im Anhang hat es zwei Abfotografierte Bilder, da MPC einen Fehler ausspuckt, wenn ich ein Bild speichern will. Das Bild mit blauem Hintergrund ist das Korrekte, das mit rotem Hintergrund ist falsch.

    Edit: den video gibts hier: Duke Nukem Teaser (es ist die HiRes version)

  • Das übliche SwapUV-Problem bei YV12-Ausgabe, die als I420 fehlinterpretiert wird...

    Im YUV-Farbraum sendet der Decoder die folgenden Informationen an den Renderer:

    Y = Helligkeit
    U = blau/gelb-Abweichung (von grau aus)
    V = rot/grün-Abweichung (von grau aus)

    Manchmal werden U und V verwechselt. Warum, und wie man das beim Abspielen korrigiert... keine Ahnung. Ich muss dagegen meist zwangsweise die YV12-Ausgabe verbieten und nur YUY2 erlauben. In ffdshow geht das. Andere Decoder ... ?!
    __

    @ Selur:

    Was meinst du mit "anderen Overlay Renderer"?

    "Anderen Renderer" (z.B. VMR9 statt Overlay) würde ich verstehen. Aber dass es verschiedene Overlay-Varianten gibt, überrascht mich.

  • hm.... im MPC kann ich das wohl beheben. habe gerade an den Einstellungen bei

    Playback | Output | QuickTime Video

    herumgedreht, und das scheint es zu sein. Zuvor war es "System Default", während es mit DirectX 7 und 9 korrekt dargestellt wird.
    Allerdings ist es damit nur im MPC behoben. Warum war es in der TechnoTrend-Software ebenfalls falsch dargestellt? Kann ich den "falschen" Codec/Filter/whatever irgendwie identifizieren und aus dem System rauskriegen?

    (Was mir beim Thema Quicktime einfällt: ich hab QT-Alternative und RT-Alternative installiert, wohl aber auch ziemlich alte versionen von spätestens 2006, wenn nicht noch älter)

    LigH: da haben wir wohl gleichzeitig geschrieben. Super das ich jetzt wenigstens weiß was es ist (invertiert gemäß RGB ists nämlich nicht, das hab ich zuerst vermutet). Alterdings wäre es jetzt noch super, wenn mir jemand ne allgemeine Lösung hätte. Wie kann ich denn feststellen, welcher Filter verwendet wird? Mit Graphedit kann ich mich irgendwie nicht remote einhängen und kucken was verwendet wird.

    freak

  • Wenn ich dann mal dem Quicktime unterstelle, die Darstellung falsch zu machen, heißt das dann auch, dass die Technotrend-Software Quicktime zur Darstellung von HDTV-Inhalten verwendet, obwohl ein Cyberlink-Codec (oder sowas) mit installiert wird?

    freak

  • Nein, es gibt mehrere mögliche Stellen, wo der Fehler passieren kann: Ausgabe des Decoders, Einstellung des Renderers, Verhalten des Grafiktreibers, Unterstützung durch die Grafikkarte... an einer Stelle wird U mit V vertauscht bzw. verwechselt. Und ich weiß nicht einmal, wie man feststellen kann, welche Stelle das ist.

  • Na schön, ein Problem, das sich ganz genau einkreisen lässt :D

    Es war ja festzustellen, das ein verändern des Quick-Time-Renderers im MPC zum Erfolg geführt hat (danke Selur für den Anstoß). Damit könnte man doch schonmal mutmaßen, dass es am Renderer liegt, oder?

    Für mich ist es erstmal erledigt, da ich im MPC die Videos korrekt angezeigt bekomme. Die Technotrend-Karte habe ich ja wieder zurückgeschickt, von daher stellt sich das Problem dort momentan nicht.

    Danke euch nochmal für den Anstoß und die Erklärungen.

    freak

  • Hardware-Overlay ist ja netterweise die schnellstmögliche Ausgabetechnik; aber eben leider auch eventuell etwas fehleranfällig, wenn das Video im YV12-Format vorliegt. Du solltest daher testen, wie viel langsamer z.B. die VMR9-Ausgabe (in ihren Varianten) wäre, bzw. ob die Beschränkung der Ausgabe im ffdshow-Decoder auf RGB und gepackte YUV-Formate (also zwar YUY2, aber nicht YV12) schneller ist und trotzdem korrekt. Ich habe mich bisher für letzteres entschieden.

    Vielleicht suche ich noch mal im englischen doom9-Forum, ob das Problem bekannt ist.
    __

    Da gibt es durchaus einen interessanten Hinweis: Bei Nvidia-Karten sollte man in AviSynth nur NV12 statt YV12 verwenden, wenn man doch planare Formate erlauben will.

Jetzt mitmachen!

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