diff --git a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/LSBBitReader.java b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/LSBBitReader.java index 7f03b092..ab19f722 100644 --- a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/LSBBitReader.java +++ b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/LSBBitReader.java @@ -21,7 +21,7 @@ public final class LSBBitReader { public long readBits(int bits) throws IOException { long result = 0; for (int i = 0; i < bits; i++) { - result |= readBit() << i; + result |= (long) readBit() << i; } return result; diff --git a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/vp8/VP8Frame.java b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/vp8/VP8Frame.java index 72cb27ca..7ab7a3c5 100644 --- a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/vp8/VP8Frame.java +++ b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/vp8/VP8Frame.java @@ -1034,9 +1034,8 @@ public final class VP8Frame { long partitionsStart = offset + first_partition_length_in_bytes; long partition = partitionsStart; multiTokenPartition = bc.readLiteral(2); -// logger.log("multi_token_partition: " + multiTokenPartition); int num_part = 1 << multiTokenPartition; -// logger.log("num_part: " + num_part); + if (num_part > 1) { partition += 3 * (num_part - 1); }