Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
BD specs claims that the length of all run-length encoded lines must be smaller than the width of the image + 16 (some "coding overhead").
The RLE method described in US7912305B1 may only produce RLE lines longer than the bitmap width when color 0x00 alternates with another every other pixel. If the situtation arises with a color other than 0x00, the encoded line length will equal the width, at worst.
This MR prevents the usage of color 0x00 in the bitmap, but not for padding.
Additionally, the RLE encoders and decoders have been rewritten from scratch to improve the logic and efficiency.