3 ms·
When looking at the benchmark result and image size, it seems like this format is good at images that have horizontal structures or where the same color is repe
by robalni 5y ago
When looking at the benchmark result and image size, it seems like this format is good at images that have horizontal structures or where the same color is repeated often. It's not good at vertical structures, including images with enlarged pixels (where one row is identical to the one above). I think the main reason for that is that PNG has a filter pass that can look at the row of pixels above, while this format only looks to the left.
Example of image with vertical gradients: https://qoiformat.org/benchmark/images/icon_512/apps-preferences-desktop-locale.png https://qoiformat.org/benchmark/images/icon_512/apps-prefere... - qoi compresses to 186kb and libpng to 25kb
Example of image with horizontal structure and repeated colors: https://qoiformat.org/benchmark/images/textures_pk/mod_walldetail1.png https://qoiformat.org/benchmark/images/textures_pk/mod_walld... - qoi compresses to 21kb and libpng to 33kb
- adgjlsfhk1 5y agoOne thing worth noting is that QOI can be pretty easily wrapped with something else to change pixel traversal order. If you want higher compression, I'd recommend wrapping QOI with ZSTD (or similar) compression on the output, and something to change the pixel traversal order on the input.
- Akronymus 5y ago> and something to change the pixel traversal order on the input. I could see a variety of space filling curves working for that.