diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java index 7a284249..d22821c7 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java @@ -183,24 +183,31 @@ final class CCITTFaxDecoderStream extends FilterInputStream { case VALUE_PASSMODE: int pChangingElement = getNextChangingElement(index, white) + 1; - if(pChangingElement >= changesReferenceRowCount || pChangingElement == -1){ + + if (pChangingElement >= changesReferenceRowCount || pChangingElement == -1) { index = columns; - }else{ + } + else { index = changesReferenceRow[pChangingElement]; } + break; default: // Vertical mode (-3 to 3) int vChangingElement = getNextChangingElement(index, white); - if(vChangingElement >= changesReferenceRowCount || vChangingElement == -1){ + + if (vChangingElement >= changesReferenceRowCount || vChangingElement == -1) { index = columns + n.value; - }else{ - index = changesReferenceRow[vChangingElement]+ n.value; } + else { + index = changesReferenceRow[vChangingElement] + n.value; + } + changesCurrentRow[changesCurrentRowCount] = index; changesCurrentRowCount++; white = !white; + break; } diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java index 60c50ec3..b41b6d96 100644 --- a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java @@ -80,7 +80,15 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest