if ((b & 0xFF00u) != 0x8000u || (b & 0xFFu)) {
if ((b & 0xFF00u) != 0x8000u) {
bytestream2_put_le16(pb, b);
- } else if (b & 0xFFu) {
+ } else {
idx = 0;
for (int i = 0; i < (b & 0xFFu); i++)
bytestream2_put_le32(pb, 0);
}
c = b >> 16;
if (c & 0xFF00u) {
- c = (((c >> 8) & 0xFFu) | (c & 0xFF00)) & 0xF00F;
fill = lut[2 * idx + 1];
- if ((c & 0xFF00u) == 0x1000) {
+ if ((c & 0xF000u) == 0x1000) {
bytestream2_put_le16(pb, fill);
- c &= 0xFFFF00FFu;
} else {
bytestream2_put_le32(pb, fill);
- c &= 0xFFFF00FFu;
}
+ c = (c >> 8) & 0x0Fu;
}
while (c) {
a <<= 4;