OpenJPEG 2.2.0 released

10 August 2017

Good news everyone !

OpenJPEG 2.2.0 is released today.

This new release includes a significant number of improvements and bug fixes. In particular:

  • Multi-threading support at decoding side
  • Several speed optimisations both at encoder and decoder, and both on Wavelet Transform and Entropy Coding parts. On our test set, a single-threaded execution is now around 20% faster (encoding or decoding).
  • Huge memory consumption reduction at decoding side (~60% reduction on large images)
  • Several important bug fixes, in particular the one that was preventing OpenJPEG to encode lossless in some specific situations, as well as those related to mode switches (BYPASS/LAZY, RESTART/TERMALL, etc).
  • Several security fixes thanks to the inclusion of OpenJPEG in the Google OSS Fuzz project.

Beside that, several improvements have been brought to the project maintenance, like inclusion of benchmarking scripts to compare speed with latest available kakadu binaries.

And, last but not least, API and ABI are 100% compatible with previous version.



Full Changelog

As described in a previous post, all this has been made possible thanks to a funding from academic institutions and archival organizations, namely:

And logistic support of the International Image Interoperability Framework (IIIF), the Council on Library and Information Resources (CLIR), intoPIX, and of course the Image and Signal Processing Group (ISPGroup) from University of Louvain (UCL, Belgium) hosting the OpenJPEG project. Thanks to all of them !

Many thanks also to Even Rouault, the developper who actually implemented these improvements, and of course to all contributors having suggested fixes or enhancements.

I hope you will find this new version useful, don’t hesitate to provide feedback to improve it even further. By the way, more improvements are yet to come in the coming months.