PNGU is a library for Wii and GameCube that 'wraps' the famous libpng and facilitate png handling and conversions to the native Wii/GC formats. The PNG format has some properties which make it interesting: A background color, a list of transparent colors, alpha channel, it doesn't modify the colors (as jpeg does when compression), open format. The source code of the library is included in the download package.
- It's based in libpng 1.2.29
- Handles images of 8 and 16 bits per channel.
- Handles images in RGB, RGBA, grayscale and grayscale + alpha formats.
- Reads image dimensions, pixel format, background color and transparent colors list.
- Converts images to YCbYCr, linear RGB565, linear RGBA8, 4x4 RGB565, 4x4 RGB5A3 and 4x4 RGBA8 formats.
- Saves YCbYCr images in png RGB8 format.
- Handles images stored in memory or in devoptab devices (SD, Gecko SD, etc...).
- It's ready to be used in multithreaded applications.
- Image width and height should be a multiple of 4 (when converting to 4x4 textures)
- Doesn't handle images of 1, 2 or 4 bits per channel.
- Doesn't handle paletized images.
- Endianness problems when using it on a little endian machine (x86 for example) no problems on the Wii/GC.