Apple introduced the PackBits
format for run-length encoding
of data with the release of MacPaint
on the Macintosh
computer. This compression scheme is one of the types of compression that can be used in TIFF
A PackBits data stream consists of packets of one byte of header followed by data. The header is a signed byte; the data can be signed, unsigned, or packed (such as MacPaint pixels).
|0 to 127||1 + n literal bytes of data|
|0 to -127||One byte of data, repeated 1 - n times in the decompressed output|
Note that interpreting 0 as positive or negative makes no difference in the output. Runs of two bytes adjacent to non-runs are typically written as literal data.