Releases: bitbank2/PNGdec
Coexistence with PNGenc
This release makes some minor changes to PNGdec's header file to allow it to coexist with PNGenc in the same project. For PNGdec, the change will not be noticeable, but I had to make breaking changes to PNGenc. Since PNGdec is used much more widely, PNGenc got the bad news.
Added compile time option to expand maximum image width
This release adds the ability to define a larger maximum width of image. This is needed because PNGdec needs to buffer 2 complete lines of pixels and to conserve memory, this buffer was set to 320 pixels wide at 32bpp max. This change allows you to set a compile-time macro (PNG_MAX_BUFFERED_PIXELS) to any value you like.
Added early abort option to PNGDRAW callback
This release adds the ability to end the decode of an image early if necessary by returning 0 from the PNGDRAW callback function.
LittleFS support added to PNGDisplay helper class
This release adds LittleFS support to the PNGDisplay helper class. This makes it even easier to display images stored in the ESP32's flash file system. New examples soon...
More fixes
This release fixes the PNGDisplay code to be completely hidden from the compiler unless you explicitly link it. It also fixes some issues with IDAT block decoding.
Fixes and addition of PNGDisplay helper class
This release adds some additional data integrity fixes and the addition of a helper class to make displaying PNG images easier. This helper class works in conjunction with my bb_spi_lcd display library to simplify display of PNG images from memory or read from an SD card.
Fixes and tests
This release adds a comprehensive set of functional and fuzz tests as well as new examples and fixes.
Fixed unaligned accesses on RP2040
This release fixes unaligned accesses on the RP2040. The compiler flags for that target somehow enabled the Cortex-M4 flags.
Fixed buffer alignment problem
This release fixes a problem when the IDAT size is smaller than the PNGdec read file size (usually 2K).
Added support for gray+alpha->RGB565
This release adds support for the pixel type "gray+alpha" (8 bit gray + 8 bit alpha value) to the getLineAsRGB565() function.