Sobre o projeto

libpng é a biblioteca de referência oficial para o formato Portable Network Graphics (PNG), fornecendo funções em C para ler e escrever arquivos de imagem PNG. É amplamente utilizada desde 1995 e serve como componente fundamental para muitos aplicativos que exigem suporte a PNG. Os principais recursos e capacidades incluem: - **Suporte a PNG**: Implementação completa da especificação PNG, lidando com leitura, escrita e exibição progressiva de fluxos PNG. - **Compressão**: Utiliza zlib para compressão e descompressão, exigindo zlib 1.0.4 ou posterior. - **Otimizações de Arquitetura**: Inclui código otimizado para várias plataformas, incluindo ARM Neon, Intel SSE2, LoongArch LSX, MIPS MSA/MMI, PowerPC VSX e RISC-V. - **Evolução da API**: A biblioteca evoluiu para ocultar estruturas internas (como `png_struct` e `info_struct`) atrás de funções de acesso (`png_set_<chunk>` e `png_get_<chunk>`), garantindo compatibilidade binária e facilitando atualizações. - **Distribuição Abrangente**: Vem com documentação extensa (`libpng-manual.txt`), código de exemplo (`example.c`, `pngtest.c`), imagens de teste e arquivos de projeto para várias IDEs. O repositório é mantido por Cosmin Truta, dando continuidade ao trabalho dos mantenedores anteriores Glenn Randers-Pehrson, Andreas Eric Dilger e do autor original Guy Eric Schalnat.