These issues are listed in order of bug ID.
We do not promise that all will get fixed before the
next release. If a bug listed below is affecting your work with
the JavaTM Advanced Imaging API,
please let us know so we may assign it the proper priority or vote for it
yourself in the Bug Database.
These bugs are due to code within JAI itself.
| Bug ID | Synopsis |
| 4231474 | Rotate with BL/BC and border extended generates shifted image edges |
| 4435009 | BilinearScaleTest medialib and java version generates different images |
| 4453915 | Localized JAI operation names are not case-insensitive |
| 4453918 | auto-install of JAI 1.1 over 1.0.2 problem |
| 4460746 | PixelAccessor(RenderedImage) constructor specification may be misleading |
| 4489762 | Error decoding 4-bit RLE compressed BMP image |
| 4503613 | InterpolationBilinear may cause overflow for integer type |
| 4505742 | SubsampleBinaryToGrayDescriptor operation specification is flawed. |
| 4505744 | SubsampleBinaryToGray gives incorrect results if xScale*yScale < 1.0/256.0 |
| 4514367 | javax.media.jai.JAI.getBuildVersion() is broken in applets |
| 4527703 | finishedLines/Pixels are not documented well |
| 4548827 | Minor typo in GradientMagnitudeDescriptor |
| 4620706 | Histogram threshold computation methods documentation is inadequate |
| 4628212 | Unregistering an image factory is incorrect when preferences are present. |
| 4638861 | Composite operator doesn't generate pre-multiplied ARGB image |
| 4647648 | FPX images acquired over IIP have incorrect color component mapping |
| 4653693 | Warp documentation needs improvement |
| 4659779 | Argument 'element' in ImageFunction.getElements(...) is not documented |
| 4664747 | When SerializableRenderedImage is serialized again, NPE is thrown |
| 4665080 | When rendering Renderable image generated from gif, the color index was lost |
| 4667086 | The "invert" operation causes out of bounds exception on large images. |
| 4668327 | RasterAccessor.findCompatibleTags() incorrect for bilevel dst & non-bilevel src |
| 4690773 | Multipage TIFF file decoding is not thread safe |
| 4713596 | TIFF LZW decoder generates wrong number of uncompressed sample in some case |
| 4718766 | PixelAccessor.getPixels behavior not specified for various values of isDest arg |
| 4720195 | Resulting image from RenderableOp.createScaledRendering has incorrect dimensions |
| 4737768 | Properties like tile_cache_key should not be copied from source to destination |
| 4737803 | Renderable composite does not work with Remote Imaging |
| 4741153 | Minor javadoc problems in TileCache specification |
| 4775530 | Tiles from the "fileload" operation are not recycled |
| 4825225 | setClip seems to be broken on Graphics2D object obtained from TiledImage |
| 4828493 | TiledImage does not process invalid region event when region object is null |
| 4850933 | PNMImageEncoder has problem when the tile offset is not at the image corner |
| 4850965 | LookupTableJAI.getFloatData(1) generates different exception on current JAI |
| 4855142 | ColorQuantizerRIF I18N problem |
| 4857245 | SubsampleAverage throws ArrayIndexOutOfBoundsException |
| 4862755 | IntegerSequence constructor ignore the range |
| 4878790 | Should not assume DataBuffer subclass based on DataBuffer type |
| 4889578 | Inconsistent on the float value in IHSColorSpace and ColorConvert |
| 4899296 | Erosion on bilevel image fails when kernel height is smaller then the width |
| 4904435 | TIFF Codec generate larger compressed image than TIFF plugin |
| 4906854 | "Affine" operation with bilinear interp. and ImageLayout hint crash medialib |
| 4906856 | Problem with Histogram operator with polygon ROI on tiled images (TIFF files) |
| 4906964 | The results of java and native version for subsample average are different |
| 4908419 | Loading transparent GIF and storing as JPEG results in a corrupt image. |
| 4909122 | ColorQuantizer operation emits image property with incorrect name |
| 4909129 | ErrorDiffusion throws ArrayIndexOutOfBoundsException |
| 4916119 | "Composite" operation in renderable mode does not accept null "source2Alpha" |
| 4918956 | TIFF decoder does not support RGB color, 4 bits per sample images. |
| 4931727 | TIFFDirectory should unsigned 32 bit equivalent for data offsets |
| 4934121 | Probable bug in IHS->RGB conversion |
| 4936736 | Native version of transpose changes the minX of the image when flip horizontal |
| 4944464 | Convolution using mediaLib returns a blank image |
| 4945743 | TIFF decoder ignores lsb-to-msb fill order for all but fax images |
| 4957501 | ErrorDiffusion only supports up to 256 colors |
| 4974616 | MlibRotateRIF assigns integer value to float parameters |
| 4979025 | mapDestPoint() fails for "Rotate" of 90, 180, 270 degrees |
| 4981286 | ArrayIndexOutOfBoundsException when scaling GIF image |
| 4982347 | TileCache thrashing may hang op chain |
| 4986288 | BMP image written with "top down" set to "true" is incorrect |
| 4990552 | Native exception encountered in "Histogram" operation |
| 4992274 | "Scale" throws ArrayIndexOutOfBoundsException |
| 4996204 | The TIFF codec sometimes throws an IllegalArgumentException |
| 5005684 | GIF ImageDecoder.getNumPages() throws exception |
| 5005714 | Operation-specified property characteristics should be queryable |
| 5005724 | Operation-specified property characteristics should have PropertyGenerators |
| 5009010 | Cannot set ParameterBlockJAI parameter to a DeferredData object |
| 5014427 | Optimized bilevel erosion throws ArrayIndexOutOfBoundsException |
| 5021785 | TIFF reader should be robust to datatype errors in FillOrder tag |
| 5023710 | ROIShape rasterization of Polygon is inaccurate |
| 5023753 | "BoxFilter" throws exception when no parameters supplied |
| 5023777 | MlibBinarizeOpImage truncates threshold |
| 5024908 | "ColorConvert" operation throws Exception when source has an IndexColorModel |
| 5027695 | In some cases, Rotate calls Scale with invalid parameter block causing Exception |
| 5034086 | BMPEncoder allows compression to be set for encoding with topDown images |
| 5034146 | BMPImageReader does not correctly read certain BI_BITFIELDS encoded images |
| 5074509 | Misleading link and description |
| 5074619 | mapDestPoint() is incorrect for non-zero rotation |
| 5094349 | TIFF decoder garbles deflate-compressed RGB data |
| 5095110 | Blue hues lost during ColorConvert via IHS |
| 5095479 | MemoryCacheSeekableStream appends extra bytes to end of data |
| 5095529 | ROI.setThreshold() has no effect on ROI instance contains() capability |
| 5096947 | CMYK TIFF images should be assigned a CMYK ColorModel |
| 5098627 | PointOpImage should set created SampleModel data type based on sample size |
| 5099236 | Erode and Dilate over Binary Images throws exception |
| 5102837 | PlanarImage.toString() should refer to instance methods not instance variables |
| Bug ID | Synopsis |
| 4220980 | Inconsistent data types for affine, crop, point ops etc. (float vs double) |
| 4260474 | JAI 1.0 BMP Encoder only saves Version 3.0 |
| 4301684 | JAI jpeg codec cannot process abbreviated streams |
| 4310251 | FlashPix reader throws AI exception |
| 4382579 | Add a hint to specify critical or non-critical array transfers with JNI |
| 4388309 | considering indexed color model; ScaleOpImage bounds |
| 4397791 | ImageCodec.createComponentColorModel() returns null for SHORT data type. |
| 4404148 | white space in applet with scale (nearest) operator |
| 4404563 | applet blinks with white painting in the beginning |
| 4423395 | Use EnumeratedParameter for the "dataType" parameter of the "format" operator |
| 4430307 | KernelJAI.is{Horizontally,Vertically}Symmetric is never set |
| 4435022 | Make available example code for native code interface to operators. |
| 4475967 | JAI javadoc lacks package descriptions |
| 4485617 | ushort data medialib acceleration overhead still exists for numerous operator |
| 4485633 | some operators are faster in pure java (medialib overhead may be too big) |
| 4500845 | InvertOpImage can speed up for Byte and UShort loops |
| 4529967 | Provide sample code for implementing each type of operation. |
| 4529971 | Provide a base class for point operations on unions of sources. |
| 4640635 | TiledImage.set() specification unclear about overwriting of data |
| 4664025 | TileCodecParameterList constr should not need a ParameterListDescriptor argument |
| 4666852 | OperationNodes do not react to RenderingChangeEvents of OperationNode parameters |
| 4667080 | ImageUtil.copyRaster() not optimized to handle bilevel data |
| 4675735 | Online javadoc should have versions. |
| 4727744 | Resource strings in OperationDescriptorImpl subclasses should contain # of srcs |
| 4740959 | Adds convenient methods in KernelJAI to generate the popular kernels |
| 4745234 | RFE: mediaLibException in convolve operation if kernel size greater than 128x128 |
| 4754795 | WBMP decoder cannot read the attached image |
| 4763599 | Update PointOpImage to honor the JAI.KEY_REPLACE_INDEX_COLOR_MODEL hint value. |
| 4783727 | Operations which have no net effect should have minimal overhead |
| 4823151 | Insufficient exception handling |
| 4823200 | Make TIFF decoder robust to (comp) images with no strip/tile byte counts field |
| 4827849 | Enhance PlanarImage.createColorModel() for N-band ComponentSampleModels |
| 4835312 | The pages on JAI tutorial needs to be updated |
| 4857216 | getProperty("roi") is slower when the ROI isn't set |
| 4862749 | RFE: Convenience methods in IntegerSequence |
| 4897382 | AreaOpImage documentation of BorderExtender handling could be improved. |
| 4909110 | PlanarImage.createColorModel() should support TYPE_SHORT |
| 4918478 | Provide programmatic mechanism to detect use of native acceleration |
| 4919665 | Consider using ImagingListener to hanle all the exception in JAI |
| 4926926 | Geometric operations should provide a clip range for in-bounds pixels |
| 4927100 | Operation chain traversal, especially in the forward sense, is cumbersome |
| 4937658 | JAI should have an operation that composites two images that have alpha channels |
| 4938177 | Documentation of StatisticsOpImage could be better |
| 4948558 | Mapping of array indices to matrix indices in Interpolation classes unclear |
| 4954602 | Document on the deprecated constructors can be improved |
| 4964400 | Add a IHSColor class |
| 4970022 | TileCache should not cache tiles which exceed its memory capacity |
| 4990539 | PNG image decoder does not return a procedural image |
| 4994545 | mediaLib exceptions should be re-thrown as ImagingExceptions |
| 5024397 | In IHSColorSpace javadoc change tg() to tan() |
| 5027670 | Provide info reg. sources for operations that take arbitrary number of sources |
| 5029451 | The "filestore" operation does not close the file descriptor for the output file |
| 5032347 | JAI installer should use PACK200 |
| 5037226 | MediaLibAccessor should use ImagingListener from default JAI instead of println |
| 5064751 | Provide API for driving a tracking image operation progress |
| 5073090 | JAI Image I/O Tools should have a webpage dedicated to it on the JAI web site. |
| 5074624 | "Piecewise" is not accelerated for USHORT data |
| 5086246 | The JPEG encoder reserves a lot of memory to convert large images |
These are items which are not bugs per se.
Some of this information is duplicated from the
README page.