Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6175765
Votes 1
Synopsis Unable to decode low res image of huge JP2 file (100k*100k pixels)
Category jai:codec_imageio
Reported Against
Release Fixed
State 3-Accepted, bug
Priority: 4-Low
Related Bugs 5101502 , 5089981
Submit Date 07-OCT-2004
Description
The JPEG2000 codec is unable to decode a low  resolution version of huge JP2 files. This appears to affect both the java and native decoder. This occurs with the image-io tools for JAI v1.0 and v1.0_01 releases.

Note that while a bug has already been filed against the inability of the java.awt.image.SampleModel class to represent very large images (CR 5101502), this bug is being filed for a different problem. Due to the bug just mentioned (CR 5101502), it is not possible to read in the full resolution version of very large JPEG2000 images, however it should be possible to read in lower resolution levels of such large images, since the lower resolution level image can be easily represented by java.awt.image.SampleModel. This inability to read in lower res images is the point of this report.
 
A test demonstrating the problem is attached. Simply run the test case as

java JP2Test huge_gray_image.jp2

Here are the exceptions reported on running the above:

reader =   xxxxx@xxxxx  
java.lang.IllegalArgumentException: Dimensions (width=100000 height=100000) are too large
        at java.awt.image.SampleModel.<init>(SampleModel.java:112)
        at java.awt.image.ComponentSampleModel.<init>(ComponentSampleModel.java:128)
        at java.awt.image.PixelInterleavedSampleModel.<init>(PixelInterleavedSampleModel.java:69)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.createSampleModel(J2KRenderedImageCodecLib.java:591)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.createOriginalSampleModel(J2KRenderedImageCodecLib.java:579)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KRenderedImageCodecLib.<init>(J2KRenderedImageCodecLib.java:191)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReaderCodecLib.read(J2KImageReaderCodecLib.java:281)
        at JP2Test.main(JP2Test.java:28)


reader =   xxxxx@xxxxx  
java.lang.IllegalArgumentException: Dimensions (width=100000 height=100000) are too large
        at java.awt.image.SampleModel.<init>(SampleModel.java:112)
        at java.awt.image.ComponentSampleModel.<init>(ComponentSampleModel.java:128)
        at java.awt.image.PixelInterleavedSampleModel.<init>(PixelInterleavedSampleModel.java:69)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KReadState.getSampleModel(J2KReadState.java:803)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KReadState.getColorModel(J2KReadState.java:843)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KReadState.readBufferedImage(J2KReadState.java:306)
        at com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReader.read(J2KImageReader.java:356)
        at JP2Test.main(JP2Test.java:28)
  xxxxx@xxxxx   10/7/04 20:50 GMT
Work Around
N/A
Evaluation
N/A
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang