25.03.2011, 00:00 Uhr
Moonlight lässt sich von der GPU helfen
Hardwareunterstütztes Abspielen von Videos gehört inzwischen zu den Muss-Features neuer Browser. Jetzt lernt auch Moonlight, der Silverlight-Klon für Linux und Mac, die Grafikhardware zu nutzen.
Jeder einzelne Frame im Videoformat 720p erfordert die Bearbeitung einer riesigen Datenmenge. Bei einer Framegröße von 1280 mal 720 sind das 921.600 Pixel und im RGB-Format mit 8 Bits pro Farbkanal werden 2.764.800 Bytes im Speicher belegt. Soll das Video mit 30 Frames pro Sekunde flüssig ablaufen, werden mehr als 82 MByte Daten bewegt.
Die Rechenaufwändigen Arbeitsschritte der Umwandlung des YUV-Formates ins RGB-Format und des Skalierens der Frames auf die richtige Größe delegiert Moonlight jetzt an die Grafikkarte. Da das dafür verwendete OpenGL zunächst nichts mit YUV-Daten anzufangen weiß, wurde dafür ein Pixel Shader geschrieben, der auf der Grafikkarte läuft und die Formatumwandlung erledigt.
Das hardwarebeschleunigte Moonlight gibt's im Sourcecode auf Github und in Kürze auch als "nightly Build" im Binärpaket. [bl]