YUV422 -> RGB



  • Hallo zusammen,

    Ich bin nicht sicher, ob die Frage hier rein gehört, aber es hat ja im Grunde mit Grafik zu tun.
    Mein Problem ist folgendes: Ich möchte die Bilder einer FireWire Kamera konvertieren. Die Kamera liefert die Bilder in YUV422 Pixel-Order (Format 0, Mode 3 nach IIDC 1.30), für die weitere Bearbeitung benötige ich jedoch ein aufgesplittetes RGB, also Planar oder gleich auf ein Array geteilt.

    Mir steht die IPP (Intel performance primitive) Library zur Verfügung, finde jedoch keine passende Kombination um am Ende das gewünschte rauszubekommen. Nachdem das ganze auf einen Videostream in Echtzeit angewendet werden soll, sollte dabei nicht zu viel Zeit verloren gehen. Ich brauch noch ein bisschen Rechenzeit für andere Sachen 😉

    Bin für jede Hilfe dankbar.

    Gruß, Peter



  • grundlagen.
    die IPP bietet angeblich "Color Format Conversions for YCbCr422", mindestens aber optimierte funktionen zur multiplikation mit einer entsprechenden matrix.



  • Danke für die Antwort.
    Ja in ipp gibts schon ein paar tolle Funktionen, aber das passende hab ich leider noch nicht gefunden. Beispiele findet man da leider auch nicht viele im Netz.
    Im Grunde würde es mir auch schon reichen, nur die Y-Komponente raus zu holen, Farbe brauch ich nicht wirklich. Den Buffer "zu Fuß" abzulaufen und jedes zweite Byte rauskopieren sollte ja glaub ich funktionieren, aber da gibt es doch bestimmt was besseres, ich weiß nur nicht was. Bin noch nicht so lange im Geschäft 😉



  • Den Buffer "zu Fuß" abzulaufen und jedes zweite Byte rauskopieren

    grundlegend ist es aber genau das was zu tun waere.
    dafuer bietet mmx zb die funktion PACKUSWB die jedes zweite byte aus zwei 64bit registern entfernt wenn du vorher die uv-anteile per PAND auf 0 setzt.
    eine einfachere moeglichkeit waere bei der weiteren verarbeitung die uv-anteile einfach zu ignorieren.


Anmelden zum Antworten