[ https://issues.apache.org/jira/browse/IMAGING-265?focusedWorklogId=486725&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-486725
]
ASF GitHub Bot logged work on IMAGING-265:
------------------------------------------
Author: ASF GitHub Bot
Created on: 21/Sep/20 00:10
Start Date: 21/Sep/20 00:10
Worklog Time Spent: 10m
Work Description: gwlucastrig commented on a change in pull request #98:
URL: https://github.com/apache/commons-imaging/pull/98#discussion_r491752054
##########
File path: src/test/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStripsTest.java
##########
@@ -24,7 +24,7 @@
@Test
public void testApplyPredictor() throws Exception {
final int[] bitsPerPixel = {1,2,3};
- final DataReaderStrips strips = new DataReaderStrips(null, null, 3, bitsPerPixel,
2, 4, 0, 3, 1, 1, null, 2, null);
+ final DataReaderStrips strips = new DataReaderStrips(null, null, 3, bitsPerPixel,
2, 4, 0, 3, 1, 1, 1, null, 2, null);
Review comment:
Agreed. Good catch.
##########
File path: src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
##########
@@ -291,25 +318,50 @@ public BufferedImage readImageData(final Rectangle subImage)
// or working
final ImageBuilder workingBuilder =
new ImageBuilder(width, workingHeight, false);
-
- for (int strip = strip0; strip <= strip1; strip++) {
- final long rowsPerStripLong = 0xFFFFffffL & rowsPerStrip;
- final long rowsRemaining = height - (strip * rowsPerStripLong);
- final long rowsInThisStrip = Math.min(rowsRemaining, rowsPerStripLong);
- final long bytesPerRow = (bitsPerPixel * width + 7) / 8;
- final long bytesPerStrip = rowsInThisStrip * bytesPerRow;
- final long pixelsPerStrip = rowsInThisStrip * width;
-
- final byte[] compressed = imageData.getImageData(strip).getData();
-
- final byte[] decompressed = decompress(compressed, compression,
- (int) bytesPerStrip, width, (int) rowsInThisStrip);
-
- interpretStrip(
- workingBuilder,
- decompressed,
- (int) pixelsPerStrip,
- yLimit);
+ if (planarConfiguration != 2) {
Review comment:
Agreed. Good catch.
##########
File path: src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
##########
@@ -898,7 +921,7 @@ TiffRasterData getFloatingPointRasterData(
final ImageDataReader dataReader = imageData.getDataReader(directory,
photometricInterpreter, bitsPerPixel, bitsPerSample, predictor,
- samplesPerPixel, width, height, compression, byteOrder);
+ samplesPerPixel, width, height, compression, 1, byteOrder);
Review comment:
Agreed. Good catch.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Issue Time Tracking
-------------------
Worklog Id: (was: 486725)
Time Spent: 1.5h (was: 1h 20m)
> ArrayIndexOutOfBoundsException on reading simple GeoTIFF
> --------------------------------------------------------
>
> Key: IMAGING-265
> URL: https://issues.apache.org/jira/browse/IMAGING-265
> Project: Commons Imaging
> Issue Type: Bug
> Components: Format: TIFF
> Affects Versions: 1.0-alpha2
> Reporter: edgar soldin
> Assignee: Bruno P. Kinoshita
> Priority: Major
> Attachments: small_world.tif, small_world_split.jpg
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> hi,
>
> we on the OpenJUMP project cannot open some GeoTIFFs with commons.imaging . for details
you may find a ticket in our bug tracker [https://sourceforge.net/p/jump-pilot/bugs/498/] .
>
> the gist is: on loading the attached file getBufferedImage() fails with this stack
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 8000Caused by: java.lang.ArrayIndexOutOfBoundsException:
8000 at org.apache.commons.imaging.formats.tiff.datareaders.DataReaderStrips.interpretStrip(DataReaderStrips.java:196)
at org.apache.commons.imaging.formats.tiff.datareaders.DataReaderStrips.readImageData(DataReaderStrips.java:254)
at org.apache.commons.imaging.formats.tiff.TiffImageParser.getBufferedImage(TiffImageParser.java:665)
at org.apache.commons.imaging.formats.tiff.TiffDirectory.getTiffImage(TiffDirectory.java:254)
at org.apache.commons.imaging.formats.tiff.TiffImageParser.getBufferedImage(TiffImageParser.java:469)
at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1442) at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1335)
at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1304) at com.vividsolutions.jump.workbench.imagery.graphic.CommonsImage.initImage(CommonsImage.java:108)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
|