The Blues Brothers RLE compression
Jump to navigation
Jump to search
The Blues Brothers RLE compression is a variant of RLE Compression. If the control byte is non-negative (0-127), it loads the same number of bytes + 1 (no compression). If the control byte is negative (128-255) / ((-128)-(-1)), it repeats the next byte as many times as the negative number + 1.
Pseudocode:
1.) Stop if output size is 0x7D00
2.) Get a byte
3.) Is the value of this byte larger than 127? (0x80-0xFF - signed byte)
-> If yes, then:
-> Output the next byte [256 - Value + 1] times
-> Move forward a byte and go to 1
-> If no then:
-> Output the next [Value + 1] bytes
-> Move forward a byte and go to 1