Skip to content

maxim-zhao/oapack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimal aPLib compressor

aPLib is data compression format developed by Jørgen Ibsen. Here is some specific compressor implementation in C language.

The idea behind this particular compressor is achieving maximum compression possible for aPLib compression scheme. It does exhaustive search, trying all possible states using dynamic programming. For this reason, the compressor is slow and has the following limitations:

  • input file size is limited to 65536 bytes;
  • file must not contain long repetitive runs; processing these is extremely slow;
  • severe amounts of memory -- up to 9*N2 bytes -- required; for this reason 64-bit mode is recommended.

The implementation is pretty straight and does not involve complex data structures. The resulting algorithm complexity is O(n3), which seems insane, but in most practical cases it finishes in reasonable time span.

This compressor produces raw compressed stream, no headers, no decompressor included.

Supports back-to-front compression (-b option).

Other compressors