digitalmars.D - Gamut v3.3 brings niche SQZ codec support
- Guillaume Piolat (29/29) Mar 09 Hello,
Hello, Gamut (https://github.com/AuburnSounds/gamut) is now v3.3, it supports 8 codec for encode and decode. The big news for me is the inclusion of SQZ, introduced here: https://encode.su/threads/4183-SQZ-Low-complexity-scalable-lossless-and-lossy-image-compression-library There is an active community bringing SOTA codecs in very few lines of code, in a way that makes JPEG XL look a bit cumbersome. While it may seem unwise to support codecs used by noone (a bit like... SDLang in DUB), the implementation of QOIX and SQZ help compress assets in the situation where you control the asset pipeline and want your game or application to be smaller. In particular, QOIX beats PNG in most situations. With the new premultiplied mode it is very beneficial for 8-bit mostly transparent images. But what about textures with details? Even the guetzli JPEG encoder and jpegli do not support very high quality without spending too much bits. SQZ solves that, being a wavelet codec with good characteristic and for the disadvantage It typically reduce JPEG size over 25%., at the cost of decoding several times slower (2 to 4x). Without too much of insistance, this bring the size of our final builds down 10%. To use it, just build examples/convert example in the tree. The big problem with `gamut` is still lack of color management, in my opinion we should emulate what SDL library does in a way that separate white point, from gamma curve, from "range". If you have any issue integrating either gamut or intel-intrinsics with your specific needs, do not hesitate to ping me.
Mar 09