Codificación y descodificación PNG
El codificador PNG escribe archivos RGB o RGBA de 8 bits a partir de píxeles RGBA o BGRA con pitch. El descodificador lee imágenes no entrelazadas en escala de grises, paleta, RGB y RGBA hacia un búfer del invitado comprobado.
Notas del repositorio hasta el 10 de octubre de 2026
Codificación
Los títulos entregan al codificador un rectángulo de píxeles que puede tener un pitch de fila mayor que el ancho. PS5PCEM acepta RGBA y BGRA con pitch y escribe un PNG estándar RGB o RGBA de 8 bits. Quien llama elige los filtros de línea de barrido y un nivel de compresión de 0 a 9. Las escrituras de salida están acotadas por el búfer que proporcionó el título.
El codificador es una implementación en software del formato de archivo. No llama a una biblioteca de imágenes del sistema, y no afirma una velocidad concreta frente al codificador de hardware de la consola.
Descodificación
libScePngDec analiza los metadatos PNG y descodifica imágenes no entrelazadas en escala de grises, paleta, RGB y RGBA hacia búferes RGBA o BGRA del invitado comprobados. Se aplican los filtros de línea de barrido y se respeta la transparencia de la paleta. El destino se comprueba antes de escribir píxeles.
La entrada entrelazada Adam7 se reconoce y se rechaza en lugar de descodificarse en una imagen incorrecta. Por eso los iconos y las capturas entrelazados no se convierten en silencio en un búfer ilegible.
Dónde se sitúa
PNG es uno de los servicios pequeños de firmware que un título toca durante el arranque: iconos, atlas y miniaturas de partidas. Es independiente de la ruta de películas de AvPlayer, que usa FFmpeg para H.264, e independiente del rasterizador de fuentes.
El informe de firmware del 9 de octubre agrupa el codificador con el reloj y las consultas de tamaño de finalización de AMPR. Esos tres cerraron huecos de importación. Por sí solos no cambian un tiempo de fotograma medido.
Qué está implementado
- Entrada RGBA y BGRA con pitch hacia PNG RGB o RGBA de 8 bits, en niveles de compresión 0–9.
- Descodificación de escala de grises, paleta, RGB y RGBA no entrelazados, incluidos filtros y alfa de paleta.
- Búferes de destino comprobados y salida del codificador acotada.
Qué falta todavía
- El PNG entrelazado Adam7 se reconoce y no se descodifica.
- Los de 16 bits y los chunks auxiliares exóticos quedan fuera del subconjunto implementado.
- No hay un bloque PNG de hardware. Ambos lados se ejecutan en la CPU.
Mecanismos relacionados
Qué describen estas páginas