Skip to content

A work-in-progress Rust image manipulation library/utility.

Notifications You must be signed in to change notification settings

jude-peel/chameleon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chameleon

A no-dependency Rust image manipulation utility (eventually).

Goals

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.

About

A work-in-progress Rust image manipulation library/utility.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages