Jaja, das habe ich schon verstanden.
Aber zum darstellen/blitten/whatever auf dem Monitor/Smartphone-Display musst du doch eh in den
RGB(A)-Farbraum konvertieren.
Die Displays können nur
RGB!
Das kannst du natürlich auch per Pixelshader machen!
Derartige Farbraumkonvertierungen wurden früher unter Windows automatisch von DirectDraw übernommen, was mal mehr oder weniger gut war, je nach Grafikkarten-Treiber.
Bei neueren Grafik-APIs (Direct10, 11, 12 und
OpenGL) muss man Farbraumkonvertierungen selber machen.
Wenn ich deinen "fragmentShaderString" richtig interpretiere, versuchst du sowas ja auch schon.
Kannst du dein Problem vielleicht nochmal genauer und näher erläutern?
Du musst dein YUV2-Buffer so verarbeiten, dass ein RGBA-Buffer bei rum kommt und dann per FMX.Graphics.TBitmap.Map ins Bitmap stecken und das anzeigen.
http://docwiki.embarcadero.com/Libra...cs.TBitmap.Map
http://docwiki.embarcadero.com/Libra...cs.TBitmapData
http://docwiki.embarcadero.com/Libra...s.TPixelFormat