sqp

The squishiest image format!

2 releases

0.1.1 Aug 6, 2024
0.1.0 Aug 6, 2024

#290 in Images

21 downloads per month

MIT/Apache

48KB
1K SLoC

SQP

SQP (SQuishy Picture Format) is an image format designed for ease of implementation and learning about compression and image formats while attaining a relatively good compression ratio. The general idea is to make something "good enough" while being simple, and also as a learning tool to learn about compression (mostly on my part). If you need an image format for general use, this is probably not it, go check out JPEG XL or AVIF.

This reference implementation fits in around 1000 lines of relatively simple Rust, while maintaining decent compression and decompression speeds.

Features

  • Lossless and lossy compression schemes
  • Support for various color formats (RGBA, Grayscale, etc.)
  • Decent compression ratios, the lossless compression can often beat PNG especially on images with transparency
  • Relatively simple
  • Squishy! 🍡

Future Features

  • Animated images
    • Frame difference encoding
    • Loop points
    • Arbitrary frame timings
    • Decoder-based frame interpolation
  • Floating point color
  • Metadata?

Dependencies

~1.5–2.2MB
~46K SLoC