Fast streaming PNG<->QOI converter with some compression-improving extensions. Can achieve 1%-10% better compression than QOI without sacrificing performance.
libspng https://github.com/randy408/libspng/ (tested on version 0.7.1) using miniz (https://github.com/richgel999/miniz)
I use gcc -O3 qoigconv.c -o qoigconv spng.o miniz.o -lm
where spng was compiled with the miniz compiler option, modified to let them live in the same source folder rather than installing miniz as a library. If you have miniz installed as library, this would look more like gcc -O3 qoigconv.c -o qoigconv spng.o -lminiz -lm
(but don't quote me on the latter). I'm not providing a makefile because it's beyond the scope of this project to make it easy to compile with your preferred settings.
- Fast streaming converter supporting large file sizes. (I don't know how large this can do, but it should theoretically be able to handle images many gigabytes in size.)
- Adjustable parameters allowing you to choose your space/time tradeoff
- Full compatibility with QOI
See qoig.h
See https://esolang.rutteric.com/qoig.html
- fastmod calculation for hash functions?
- better long cache hash?
- animated qoig?