Oodle Data Compression and IO

Oodle New Features

New in Oodle 2.8.7: Oodle Texture is a new SDK in the Oodle family for encoding of BC1-7 block compressed GPU textures. Oodle Texture is independent from Oodle Data Compression but they work great together.

Oodle Texture shrinks games dramatically

Oodle Texture can drastically reduce the size of BC1-7 block compressed textures, often to as much as half the size, with very little difference in visual quality. This means a real decrease of game sizes by 25-50%!

Oodle Texture has rate distortion optimizing (RDO) encoders that can make BCN output which compresses much smaller with very little quality loss. Oodle Texture RDO does not mean accepting visually unacceptable artifacts to get smaller sizes, it's simply a smarter encoding to BCN from the original textures which considers both the rate and distortion of every choice. Oodle Texture also has lossless transforms to make existing BC7 encoded data compress better.

Oodle Texture is used in conjunction with a generic lossless compressor. It works great with Oodle Data Compression but can also be used with compressors that may be built into your platform.

HyperFast encode levels

New in Oodle 2.6.3: HyperFast compression levels for Oodle Kraken, Mermaid and Selkie that allow you to tune Oodle for faster encoding, when encode time is crucial. These new levels make Oodle great for realtime encoding and streaming data. The HyperFast levels can encode over 2X faster than the previous fastest level ("SuperFast").

The normal compression levels have also gotten better in Oodle 2.6.3 , achieving a better tradeoff of compression ratio vs encode speed on most data.

Leviathan: high compression and fast decompression

New in Oodle 2.6.0: Oodle Leviathan gets very high compression ratios, comparable to LZMA, allowing you to pack your data tightly. Unlike other high ratio codecs, you don't have to suffer long decompression times with Leviathan - it can decompress 10× faster than LZMA, and even 2-3× faster than zlib, which has much lower compression.

Previously Oodle Kraken set a new bar for amazing decode speed and high compression ratios. Some applications required a little more compression than Kraken could attain. Now you can get that with only a 33% speed reduction.

Read all about Oodle Leviathan.

Kraken and Mermaid reach higher compression

Kraken and Mermaid can both now reach higher compression levels than they could before. This is done with no decrease in their amazing decode speeds. Improvements in their encoders and some new bit stream options allow them to make smaller compressed data.

An example of the compression improvement on the "silesia" test corpus:

Oodle 2.5.5 : Kraken Optimal4   :  4.12:1 ,    982.0 dec MB/s
Oodle 2.6.0 : Kraken Optimal4   :  4.24:1 ,    985.4 dec MB/s

Oodle 2.5.5 : Mermaid Optimal4  :  3.61:1 ,    1996.5 dec MB/s
Oodle 2.6.0 : Mermaid Optimal4  :  3.72:1 ,    1923.7 dec MB/s

Read more about Oodle Kraken or Mermaid and Selkie.

Kraken, Mermaid and Selkie can encode faster

The Kraken, Mermaid and Selkie realtime level encoders have all been significantly improved, making them much faster to encode. They are now highly competitive when encode speed is a priority, but you still want good compression ratios and great decode speed.

While the optimal parse level Oodle encoders have reached new levels of compression, the fast level encoders have greatly increased their encode speed. Together this means that Oodle covers a wider range of performance, allowing it to meet the needs of more applications. At all levels, Oodle delivers the best tradeoff of compression ratio to decode speed possible.

An example of the encoder levels 1-3 on the "silesia" test corpus:

Oodle 2.5.5 :
Kraken SuperFast :  3.12:1 ,   92.0 enc MB/s ,  910.0 dec MB/s
Kraken VeryFast  :  3.22:1 ,   78.3 enc MB/s ,  936.4 dec MB/s
Kraken Fast      :  3.48:1 ,   39.2 enc MB/s , 1047.0 dec MB/s

Oodle 2.6.0 :
Kraken SuperFast :  3.12:1 ,  147.2 enc MB/s ,  920.9 dec MB/s
Kraken VeryFast  :  3.26:1 ,  107.8 enc MB/s ,  945.0 dec MB/s
Kraken Fast      :  3.50:1 ,   47.1 enc MB/s , 1043.3 dec MB/s

Oodle Lossless Image Compression

Because so many of our customers were using Oodle to compress PNG files, we have added Oodle Lossless Image Compression!

Oodle Lossless Image is an alternative to lossless image formats (like PNG), but it provides up to 25% more compression and decodes around 5x faster!

The format is completely lossless (like PNG), supports alpha, and is fully SIMD optimized for both x86 and ARM processors.

Oodle Lossless Image sits on top of Oodle and it can use Kraken or Leviathan (depending on whether decode speed or highest compression is more important) and you can tune the predicting filters for speed or compression as well.

The decoding library is available for all platforms and contains APIs that are compatible with both libPNG and stb_image, so that you can drop it in in minutes.

Oodle has it all

Oodle is a library of unique data compression algorithms that offer world-beating performance at a variety of compression ratios. Make your game smaller to download, make your levels load faster, and save money on bandwidth!

Oodle offers a family of data compressors with different performance tradeoffs, so you can choose the one that works best for your needs. Oodle runs on every game platform, and the data is the same on every platform - compress your data once and be done with it. Oodle comes with a simple C API that is separable, light weight and easy to integrate. Oodle also has a unique network packet compressor.

See everything Oodle has to offer!

Try it!

Oodle is easy to use, cross platform, and super fast. Don't take our word for it, email us for a free evaluation SDK.