ImageGear for C and C++ on Linux v19.10 - Updated
Migration Guide from v16 to v17 or Later
User Guide > How to Work with... > Formats with Additional Functionality > JPEG 2000 > Migration Guide from v16 to v17 or Later

Starting in ImageGear v17, the third-party JPEG2K library used by ImageGear in previous versions has been replaced with Accusoft’s own implementation. This implementation has been used in Accusoft's PICTools implementation since 2005, and includes many patented and patent pending speed optimizations.

As a result of this update, several changes have been made to the JPEG2K component. The differences between the toolkit versions are summarized in the following table.

IG JPEG2K v17 (or later)

IG JPEG2K v16

Suggested Action

Motion JPEG2000 (MJ2) file format reading is not supported.

Motion JPEG2000 (MJ2) file format reading is not supported.

Support for this file format can be added in a future version of ImageGear.

Gy + Extra, Gy + Premultiplied Alpha, RGB + Extra, RGB + Premultiplied Alpha colorspaces are not supported for writing JPEG2000 codestream images.

Gy + Extra, Gy + Premultiplied Alpha, RGB + Extra, RGB + Premultiplied Alpha colorspaces are supported for writing JPEG2000 codestream images.

Use JP2 file format for writing images in these color spaces.

Composition mode for multi-codestream JPX images is not supported. Error is returned on an attempt to set LOAD_COMPOSITION control parameter to TRUE.

The implementation supports compositing layers of multi-codestream JPX images.

Load codestreams separately; implement the compositing logic in your application.

MODE control parameter (controls the level of image compliance checking) is not supported.

MODE control parameter supports FAST (less checking), FUSSY (most checking) and RESILIENT (recover from errors if possible) modes.

ImageGear v17 behavior is similar to both “FAST” and “RESILIENT” modes.  “FUSSY” mode is not supported.

When ICC_PROFILE_MODE control parameter is set to  JPEG2K_ICC_PROFILE_APPLY, non-RGB JPX images are converted into working RGB colorspace.

ICC_PROFILE_MODE  control parameter is ignored for non-RGB JPX images on reading

Set ICC_PROFILE_MODE control parameter to JPEG2K_ICC_PROFILE_LOAD if you need to preserve the original image colorspace.

Default value for the QUANT_STEP control parameter is -1. This provides automatic selection of the quantization step.

Default value of QUANT_STEP control parameter is 1/256

Automatic selection is expected to work better than a fixed value in most cases. Use filter control parameter API to set a specific value if needed.

ImageGear sets CompressionType JPEG2K metadata tag to IG_JPEG2K_TYPE_LOSSY for lossy images and to IG_JPEG2K_TYPE_LOSSLESS for lossless images.

ImageGear sets CompressionType JPEG2K metadata tag to IG_JPEG2K_TYPE_LOSSY for lossy images and to IG_JPEG2K_TYPE_LOSSLESS for lossless images (values are reversed)

Update the application logic if it was accounting for the reversed values in v16.

If a quality layer specified by QUALITY_LAYERS control parameter contains no image data (quality of this layer is the same as that of the previous layer), ImageGear skips the creation of this layer.

If a quality layer specified by QUALITY_LAYERS control parameter contains no image data (quality of this layer is the same as that of the previous layer), ImageGear writes the layer with no image data.

Image quality is not affected, so no change to the application code is necessary.

ImageGear writes YCbCr images using YCbCr(2) colorspace definition.

ImageGear writes YCbCr images using YCbCr(1) colorspace definition.

No change is necessary.