diff --git a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/WebPImageReader.java b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/WebPImageReader.java index 64d2bc6d..546ce22d 100644 --- a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/WebPImageReader.java +++ b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/WebPImageReader.java @@ -153,7 +153,7 @@ final class WebPImageReader extends ImageReaderBase { Rectangle bounds = new Rectangle(x, y, w, h); // TODO: Expose duration/flags in image metadata - int duration = (int) imageInput.readBits(24); + int duration = (int) lsbBitReader.readBits(24); int flags = imageInput.readUnsignedByte(); // 6 bit reserved + blend mode + disposal mode frames.add(new AnimationFrame(chunkLength, chunkStart, bounds, duration, flags)); diff --git a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/VP8LDecoder.java b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/VP8LDecoder.java index be067cf9..860f2b9e 100644 --- a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/VP8LDecoder.java +++ b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/VP8LDecoder.java @@ -155,7 +155,7 @@ public final class VP8LDecoder { System.err.println("transformType: COLOR_INDEXING_TRANSFORM"); // 8 bit value for color table size - int colorTableSize = imageInput.readUnsignedByte() + 1; // 1-256 + int colorTableSize = ((int) lsbBitReader.readBits(8)) + 1; // 1-256 System.err.println("colorTableSize: " + colorTableSize); // If the index is equal or larger than color_table_size,