Difference between revisions of "BEAR4 compression"
From ScienceZero
| Line 19: | Line 19: | ||
read symbol | read symbol | ||
output symbol | output symbol | ||
| − | |||
else | else | ||
read index, count | read index, count | ||
| + | for each count | ||
| + | read symbolFromDecompressed | ||
| + | output symbol | ||
| + | next | ||
endif | endif | ||
loop | loop | ||
Revision as of 12:26, 1 February 2011
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
else
read index, count
for each count
read symbolFromDecompressed
output symbol
next
endif
loop