BEAR4 compression

From ScienceZero
Revision as of 12:11, 1 February 2011 by Bjoern (Talk | contribs)

Jump to: navigation, search
WORK IN PROGRESS...

BEAR2 is designed for microcontrollers that has little RAM. It uses the data decompressed so far as the dictionary.

Header

BEAR2 (used in files)
ssssss - symbol size (1-64) 
iiiii - maximum index size (1-32)
cccc - maximum count size (1-16)
0 <symbol>
1 <index> <count>
do
  indexSize = min(log2(decompressedSize), maximumIndexSize)
  countSize = min(indexSize, maximumCountSize)
  read classBit
  if classBit = 0 then
    read symbol
    output symbol
    decompressedSize += 1
  else
    read index, count
  endif
loop