/ OSS / Statt GIF: Chromium erhält Support für animierte PNGs

Statt GIF: Chromium erhält Support für animierte PNGs

98514-56247-i_rc.jpg
Gerfried Steube an März 15, 2017 - 7:26 pm in OSS

Mit einem aktuellen Beitrag im Quellcodeverzeichnis von Chromium ist die Unterstützung für animierte PNG-Dateien (APNG) eingepflegt worden. Der Patch bringt eine ausführliche Beschreibung der neuen Funktion mit. Demnach verarbeitet der Browser APNG in zwei Schritten, er parst sie und dekodiert sie anschließend. Er sammelt zunächst alle Frames und zeigt sie erst an, wenn sie den Browser ohne Fehler erreicht haben, das heißt, wenn die Sequenznummern stimmen.

Üblicherweise kündigt ein acTL-Chunk (Animation Control Chunk) vor dem ersten IDAT-Chunk (Image Data Chunk) an, dass es sich bei dem Bild um ein animiertes PNG handelt. Es kennt die Zahl der Frames im APNG und die der geplanten Wiederholungen, wobei „0“ für unendlich steht. Weiterhin steht vor dem ersten IDAT-Chunk meist noch ein fcTL-Chunk, das auf das Standardbild im ersten IDAT-Frame verweist. Lässt sich das PNG aus welchen Gründen auch immer nicht abspielen, zeigt der Browser dieses Standardbild an. Scheitert in Chromium das Abspielen eines APNG nach dem ersten IDAT-Chunk, erscheint bislang eine Fehlermeldung.

Ist das Standardbild im IDAT-Chunk nicht Teil der Animation, folgt das fcTL-Chunk (Frame Control Chunk) dem IDAT-Chunk als First Frame. Das fcTL-Chunk bestimmt unter anderem die Sequenznummern der Animation, gibt Breite, Höhe und Position des folgenden Frames vor und bestimmt die Anzeigezeit für das aktuelle Bild. Ihm wiederum folgen die fdAT-Chunks (Frame Data Chunk), welche die eigentlichen Daten zur Animation enthalten. Jedes Frame ist dabei ein komplettes PNG-File und der Decoder konvertiert fdAT- in IDAT-Frames.

Weitere Details zur Implementierung liefert die Commit-Nachricht, künftig wollen die Entwickler auch dann ein Standardbild anzeigen, wenn der Fehler nach dem IDAT-Frame auftritt. Das aber scheint nicht trivial zu sein. Davon abgesehen komme die APNG-Implementierung mit allen Testbildern, die ihr vorgesetzt würden, zurecht, heißt es im Commit-Text.

Read more on: Source

Kommentare sind deaktiviert