Oodle Compressor 2.5.2 by RAD Game Tools
This is a wrapper to use it with freearc and stdio
Comprssion levels:
None = 0,
SuperFast = 1,
VeryFast = 2,
Fast = 3,
Normal = 4,
Optimal1 = 5,
Optimal2 = 6,
Optimal3 = 7,
Count = 8
None don't compress, just copy raw bytes
SuperFast super fast mode, compression can be very poor; try VeryFast first
VeryFast fastest LZ mode for normal use, good for runtime encoding
Fast fast - good for daily use
Normal standard medium speed LZ mode
Optimal1 optimal parse level 1 (faster optimal encoder)
Optimal2 optimal parse level 2 <- recommended
Optimal3 optimal parse level 3 (slower optimal encoder)
Compression methods:
None = 3,
Kraken = 8,
Leviathan = 13,
Mermaid = 9,
Selkie = 11,
LZNA = 7,
BitKnit = 10,
LZB16 = 4,
Hydra = 12,
LZBLW = 5,
LZH = 0,
LZHLW = 1,
LZNIB = 2,
LZA = 6,
Count = 14
None None = memcpy
Kraken Fast decodes, high compression, amazing! NOTE : LARGE QUANTUM
Leviathan Leviathan = Kraken's big brother with higher compression. NOTE : LARGE QUANTUM
Mermaid Mermaid is between Kraken & Selkie - crazy fast, still decent compression. NOTE : LARGE QUANTUM
Selkie Selkie is a super-fast relative of Mermaid. Faster than LZB16/LZ4 but more compression. NOTE : LARGE QUANTUM ; NOTE : Selkie will show up as Mermaid data in the decoder
LZNA LZNA : the highest compression option in Oodle, comparable to LZMA (7zip) but much faster to decode
BitKnit BitKnit ; usually close to LZNA compression levels but faster. Particularly great on some types of structured binary, such as structs of DWORD/float.
LZB16 LZB16 = LZ-Bytewise ; 64k window ; fast, low compression. Generally prefer Selkie unless you need the 64k window
Hydra Hydra, the many-headed beast = Kraken, Mermaid, or Selkie
LZBLW OLD : LZBLW = LZB-LargeWindow ; often a free win over LZB16
LZH OLD : LZH , 128k sliding window ; generally use LZHLW instead
LZHLW OLD : LZH-LargeWindow ; fast to decode, good compression
LZNIB OLD : LZ-Nibbled ; fast to decompress + medium compression
LZA DO NOT USE : LZA = LZ-Arithmetic ; use LZNA instead
Multithreading is done by chunks, remember that highest RAM usage for decompression = Chunksize*2*threads
May contain bugs, not fully tested with multicore cpus, I only have 2 cores
Updated oodlemt
Changelog
Code:
1. Fixed some threading bugs.
2. Added a not-so-good progress indicator if you don't want to use stdio
3. Compatibility broken
OodleMT 1.3 (Final)
ChangeLog
Code:
1. Memory usage optimized a little.
2. DLL is now loaded from external file. Therefore other updated dlls can be used too.
3. 32 bit edition is now available too.
4. Default options changed. It's optimal for game compression and speed for now. You can always change though