Open source, offers fast, lossless compression, and has a very charming name
A developer named Dominic Szablewski has given the world a new file format with a splendid name: the Quite OK Image Format (QOI).
The file format might be better than that. Szablewski explained that he decided the world needed a new image format because the likes of PNG, JPEG, MPEG, MOV and MP4 “burst with complexity at the seams.”
“Every tiny aspect screams ‘design by consortium’,” he added, going on to lament the fact that most common codecs are old, closed, and “require huge libraries, are compute hungry and difficult to work with.”
Szablewski thought he could do better and appears to have achieved that objective by cooking up some code, floating it on GitHub, and paying attention to the 500-plus comments it generated.
While Szablewski admits that QOI will not compress images as well as an optimized PNG encoder, he claims “losslessy compresses images to a similar size of PNG, while offering 20x-50x faster encoding and 3x-4x faster decoding.”
Most importantly, to Szablewski, the reference en-/decoder fits in about 300 lines of C and the file format spec requires is just one page long.
“In the last few weeks QOI implementations for lot of different languages and libraries popped up,” Szablewski wrote on his blog, with Zig, Rust, Rust, Rust, Go, TypeScript, Haskell, Ć, Python, C#, Elixir, Swift, Java, and Pascal among the options.
“There is a native application to view .QOI files, plugins for Gimp, Paint.NET and XnView MP, support in SDL_Image (pending) and many more,” he added.
“With all this going on, it looks like QOI might actually end up being a thing,” he wrote. “I don't expect it to appear in web browsers, where compression ratio is much more important, anytime soon. But there are use-cases in games or other applications where the performance benefits certainly make sense.”
You can check out the QOI yourself at qoiformat.org. ®
- Ryrynz and Karlston
- 2
Recommended Comments
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.