This project is a exploration of several binary formats, mainly focused on the PNG format.
It is not intended to be efficient or bug free, this is for learning purposes only.
PNG
- Basic chunk format
- Compression
- Filtering
- Deflate block format
- Huffman codes
- LZ77
- Data structures for main chunks
- Header (
IHDR), End (IEND) - Image data (
IDAT) - Palette (
PLTE) - Gamma
- (?) Text strings
- Header (
- Alpha
- Interlacing Adam7
- (?) APNG
WAV
- Basic chunk format
- Create WAV file with samples
- Generate basic waveforms using an iterator
- Add several waveforms
- Modify existing wave files with oscillators and manually
- APNG (animated PNG, APNG Wikipedia, APNG Mozilla)
- WAV (WAV Wikipedia, WAV Canon, WAV FAQ)
- PDF (?)