Zum Inhalt springen
PS5PCEM
TeilweiseFirmware und HLE

PNG kodieren und dekodieren

Der PNG-Kodierer schreibt 8-Bit-RGB- oder RGBA-Dateien aus RGBA- oder BGRA-Pixeln mit Pitch. Der Dekodierer liest nicht verschachtelte Bilder in Graustufen, Palette, RGB und RGBA in einen geprüften Gastpuffer.

Repository-Notizen bis 10. Oktober 2026

Kodierung

Titel übergeben dem Kodierer ein Rechteck aus Pixeln, dessen Zeilenpitch größer als die Breite sein kann. PS5PCEM nimmt RGBA und BGRA mit Pitch an und schreibt ein übliches 8-Bit-PNG in RGB oder RGBA. Der Aufrufer wählt die Scanline-Filter und eine Kompressionsstufe von 0 bis 9. Ausgabeschreibvorgänge sind durch den Puffer begrenzt, den der Titel bereitgestellt hat.

Der Kodierer ist eine Softwareumsetzung des Dateiformats. Er ruft keine Bildbibliothek des Systems auf und beansprucht keine bestimmte Geschwindigkeit gegenüber dem Hardware-Kodierer der Konsole.

Dekodierung

libScePngDec liest PNG-Metadaten und dekodiert nicht verschachtelte Bilder in Graustufen, Palette, RGB und RGBA in geprüfte RGBA- oder BGRA-Puffer des Gastes. Scanline-Filter werden angewandt, und die Transparenz der Palette wird beachtet. Das Ziel wird geprüft, bevor Pixel geschrieben werden.

Verschachtelte Adam7-Eingabe wird erkannt und abgelehnt, statt in ein falsches Bild dekodiert zu werden. Verschachtelte Symbole und Bildschirmfotos werden dadurch nicht still zu einem verstümmelten Puffer.

Worin es steht

PNG ist einer der kleinen Firmware-Dienste, die ein Titel beim Start trifft: Symbole, Atlanten und Vorschaubilder von Spielständen. Es ist unabhängig vom Filmpfad von AvPlayer, der FFmpeg für H.264 nutzt, und unabhängig vom Schriftrasterer.

Der Firmware-Bericht vom 9. Oktober stellt den Kodierer mit der Uhr und den Abfragen der AMPR-Abschlussgröße zusammen. Diese drei haben Importlücken geschlossen. Sie ändern für sich genommen keine gemessene Bildzeit.

Was umgesetzt ist

  • RGBA- und BGRA-Eingabe mit Pitch zu 8-Bit-PNG in RGB oder RGBA bei den Kompressionsstufen 0–9.
  • Dekodierung nicht verschachtelter Graustufen, Paletten, RGB und RGBA, einschließlich Filtern und Palettenalpha.
  • Geprüfte Zielpuffer und begrenzte Ausgabe des Kodierers.

Was noch fehlt

  • Verschachteltes Adam7-PNG wird erkannt und nicht dekodiert.
  • 16 Bit und ungewöhnliche Zusatzchunks liegen außerhalb der implementierten Teilmenge.
  • Es gibt keinen PNG-Hardwareblock. Beide Seiten laufen auf der CPU.

Verwandte Mechanismen

Worum es auf diesen Seiten geht

Der Text folgt den Architektur-Notizen und den Berichten vom Oktober 2026 im PS5PCEM-Repository. Ein bestandener Einzeltest ist keine neue Bildrate und kein neuer Durchspielstand.

Alle Techniken