A no-dependency Rust image manipulation utility (eventually).
Currently, the PNG decoder works, however only on small images and the breaking point needs to be found. Some problems seem to come from the zlib decompresser.
- CLI
- Get file input path and output path.
- Write usage and help blurb.
- Expand with feature set.
- PNG Decoder
- Read PNG file header.
- Get all chunks.
- Check the CRC on each chunk.
- Decompress IDAT.
- Concatenate ZLIB bitstreams from IDAT chunks.
- Parse ZLIB header/adler32.
- DEFLATE decompression.
- Block type 0.
- Block type 1.
- Prefix code decoding.
- LZSS decoding.
- Block type 2.
- Dynamic prefix code tree generation.
- Same things from block type 1 but slightly different.
- Filters.
- None.
- Sub.
- Up.
- Average.
- Paeth.
- Learn more.