Overview of PNGdec
masterPNGdec is an 'embedded-friendly' (Arduino-compatible) PNG image decoding library designed specifically for microcontrollers with limited resources. It is optimized to run on any MCU with at least 48K of free RAM and is designed to be self-contained without external dependencies, including the ability to operate without malloc/free (heap memory management).
Key features include:
- Memory Efficiency: Minimal RAM usage and support for decoding images line-by-line via a callback function.
- Flexible Decoding: Supports decoding to a user-supplied buffer or using a callback for line-by-line processing.
- Format Support: Supports all standard PNG options except interlacing (which is excluded to save RAM).
- LCD Integration: Includes a
PNGDisplayhelper class for use with thebb_spi_lcdlibrary and functions to convert pixel formats to RGB565 for LCD displays. - Performance: Offers an option to disable zlib's internal CRC check to improve decoding speed by 10-30%.
- Dual Interface: Available as an Arduino-style C++ library class or as straight C.