When compressing, the code adds some padding toward the end to preserve 32-bit alignment. This could be removed, at the cost of portability.