J2K-Codec ™
   just plug & see     home    news    history







News

Subscribe
Unsubscribe




Legend
Feature added
Improved
Bug fixed

Version 2.2
11 Sep 2012
Incorrect image size returned on subsequent calls to J2K_GetInfo() if “resolution” was not 0.
More robust support for JP2 files with junk at the end.
Up to 4 Gb files support in the 16-bit version.
Added specific packing order for J2K_Image in C#, otherwise 64-bit version crashed sometimes.
Support for additional parameters in JPX 'colr' box. Now more JPX files are correctly parsed.
New metadata type added (JP2_METADATA_COLR) to return additional raw parameters from JPX 'colr' box.
Support for files that indicate SOP markers, but don't actually use them.
Allow using “co=Y000” to block writing 0xFF into the 4-th byte of the output buffer.
Some minor improvements.

Version 2.1
26 Sep 2011
x64 libraries are now included into the main package and static linking.
Memory leak when using C++ Wrapper and allowing it to allocate buffer memory inside. Thanks to Juha Toivonen.
More robust support for CPRL and PCRL progressions. More files are now supported.
When J2K-Codec was compiled without assembler support there was a bug in the C version of irreversible MCT.
Incorrect instructions order in the MMX assembler code in reversible transform that affected images with 1-pixel width. Thanks to Juan Jose Tasso.
Hard-coded middle point of 128 in 8-bit version ruined any files with precision < 8 bits. Slight performance hit, but more files are now supported.
Again, thanks to Juan Jose Tasso.
Minor code improvements.
Some minor bugs fixed.

Version 2.0
12 Apr 2011
API significantly changed and simplified. Now a special structure represents J2K image and holds all the information about it. It is also used to pass some parameters to API functions.
Multi-core CPUs support: up to 50% speed boost!
Solved the problem with blurry images when reversible wavelet with compression was used.
No options without the “=” sign allowed now. No alternatives allowed either.
UNICODE support for all functions that require text strings.
ADV212 header is now detected and skipped.
Indexed (paletted) files support.
Packed packet headers support.
DLL was attached and detached on each thread creation/deletion.
The automatic video-mode activation disabled. You have to turn it on manually now.
Fixed a nasty bug with SOP and EPH markers. More files are now correctly supported.
Demo-version limitations changed: now instead of beeping and opening the purchase page a watermark will be placed on all decoded images.
New option to disable the new multi-core CPU support: “thread=0”.
Ability to override MCT (multi-component transform) with the “mct” option, not only to disable it.
“Last error” removed. All error codes are immediately returned by functions now.
All API functions now have undecorated names in the DLL.
Log-file format changed.
The whole file is now parsed in J2K_Open(), instead of parsing on demand.
No more fixed-size metadata: everything is unlimited (to the extent of available memory).
Huge files support was “flipped”: 16-bit version was limited to 16-bit dimensions and PRO had 32-bit.
LITE version removed.
ActiveX control removed.
J2K_Frames class removed.
Incorrect calculation of the number of resolution levels if no tiles are selected.
If BPP is 0 it is now assumed with concern of precision.
SaveAsBMP() updated to use J2K_Image and support image precision.
16-bit version key caused LITE limitations in J2K_GetMetaData().
Incorrect colors in 16-bit version for irreversible MCT.
Also irreversible MCT in 16-bit version is slightly faster now.
Incorrect component reversal if no MCT specified.
Incorrect packet iterator logic if components have different resolution.
C# sample updated to allow decoding different resolution levels.
J2K_StartLogging() has no arguments now.
C++ Wrapper's easyDecode() can now be used as:
easyDecode(“file”)
easyDecode(“file”, resolution)
easyDecode(“file”, resolution, “options”)
easyDecode(“file”, “options”)
easyDecode(“file”, “options”, resolution)

Version 1.9
09 May 2006
16-bit version of J2K-Codec that supports up to 16 bits per component ($349).
.NET static linking libraries added.
Region of Interest (ROI) decoding.
Internal auto-test application to batch-decode images, combining various options (i.e. “bpp”, “rl”, “co”, etc.).
So 78 J2K and JP2 files have been decoded into 1210 BMP files that were then visually tested for quality, one-by-one. This approach allowed to find several minor, nasty bugs that remained undetected.
PRO version price increased from $149 to $179.
Static Linking price increased from $49 to $79.
“Precision” field added into J2K_Info structure.
“precision” variable added into J2K_Image class.
“nomct” option added to skip multi-component transform and get YUV image.
J2K_EasyDecode() added into C#, VB and VB.NET header files.
Non-standard files with QCC before COD support.
Parser significantly optimized.
Internal memory allocation optimized.
Protection against zero length of JP2 box added (corrupted data protection).
Incorrect decorated names in “J2K_Codec.cs” fixed.
Bug fixed that turned red into magenta if using “mba” option.
“bmp” option didn't work for the smallest resolution level.
“bmp“ option caused an exception on some tiled images on small res. levels.
“video=1“ left 1-pixel holes on tiled images.
Bounds crossing if image has odd width and horizontally down-sampled components or odd height and vertically down-sampled components.

Version 1.8
12 Mar 2006
“a_ActiveX” C# sample added.
“b_Decode” C# sample added.
“a_ActiveX” VB.NET sample added.
“b_Decode” VB.NET sample added.
“c_MetaData” VB.NET sample added.
“v_EvenOdd” VisualBasic sample added that demonstrates how to combine even and odd fields of a video frame.
Better protection from truncated files.
sYCC color space support.
Arbitrary vertically down-sampled components support.
More image types are now properly decoded.
J2K_GetCustomData() renamed to J2K_GetMetaData(). It now can extract comments, XML, URL, GeoTIFF, palette, ICC profile and any other metadata from JP2 files.
Added check for colors being already pre-multiplied by alpha. If so — the “mba” option won't affect anything.
More robust components handling using JP2 information.
“ReadMe.txt” files added for all samples.
Bug fixed that caused lots of order pages to open under .NET.

Version 1.7
15 Jan 2006
J2K-Codec ($99) has been split into LITE ($49) and PRO ($149) versions.
Everyone who has already purchased J2K-Codec automatically becomes the PRO version owner.
You can evaluate the LITE version by using J2K_Unlock(“LITE”);
New component order option: for grayscale images and BPP > 1 you can now use '0' (zero) and 'Y' to denote which bytes in the buffer to fill.
For example, “bpp=3,co=0YY” will result in a black-and-yellow image.
Static linking is now available as a purchasable add-on.
MCT auto-assume now works only for horizontally down-sampled images (ADV202 bug workaround).
Incorrect component order if no MCT is used (fixed).
Luratech's non-standard “.JP2” files support.
Incorrect component order reversal for 4 component images (fixed).

Version 1.6
18 Oct 2005
“video” option added to control a special live-video decoding mode.
Video decoding boost increased - you can now gain 40%-50% speed-up!
Video decoding mode is now available for lossless images.
About 4% general speed-up.
J2K-Codec now supports 128x32 code-blocks.
It is now possible to determine the default (COD) compression type (lossless or lossy) of an image using J2K_GetInfoEx() function.
J2K_GetInfoEx() usage example added into “C++\c_GetInfo” sample.
Options string added to J2K-Control ActiveX. It is now possible to decode a particular resolution level using our ActiveX control.
Visual Basic samples minor improvements.
Uninstall feedback form has been simplified.
Incorrect BMP saving under C++ Borland Builder fixed (“bmp.h”).

Version 1.51
27 Sep 2005
J2K Control ActiveX scaling bug fixed.
Visual Basic and Delphi samples minor improvements.

Version 1.5
12 Sep 2005
20%-30% speed boost!
Added support for the images with horizontally down-sampled components.
Such images are produced by some video hardware, such as Matrox Morphis or ADV202. There is a significant performance gain (plus auto deinterlacing) for these images.
Protection has been changed to allow live-video decoding evaluation.
J2K-Control ActiveX decoding has been improved. Performance boost.
Delphi 6 support.
One more Delphi sample.
MMX is now required.
Uninstall feedback form.
Several bugs were fixed.

Version 1.4
18 Jul 2005
GeoJP2 (embedded GeoTIFF) support.
New sample “i_GeoTIFF” added to demonstrate embedded GeoTIFF extraction.

Version 1.3
11 Jul 2005
Delphi sample added. Thanks to Vyacheslav Kalitkin!
Scaling of images has been improved in the “J2K-Control” ActiveX.
Resources support added into C++ Wrapper (including easyDecode() function).
New sample “h_Resources” added to demonstrate decoding from resources.

Version 1.21
20 Jun 2005
j2k-codec.dll placed into each sample.
Installer will now open installation directory automatically.
'J2' icon of “f_Alpha” sample fixed for 256-color modes.
Minor documentation fixes.

Version 1.2
13 Jun 2005
DirectX Alpha sample with MMX alpha drawing routine (see “C++\f_Alpha” folder).
Alpha correction (“mul_by_alpha” options flag).
Selective tiles decoding via J2K_SelectTiles() and J2K_Image::selectTiles().
API: J2K_GetInfoEx() added.
C++ Wrapper: “hTiles”, “vTiles” and “fileType” members were added.
Windows Bitmaps support for fast GDI drawing (via “bmp” option).
One more VisualBasic sample: how to use DLL functions directly (see “VBasic\Sample2” folder).
J2K_Frames class for game developers.
Installer.
If BPP > 1 for grayscale images, all bytes will contain the same value.
Some minor bugs were fixed.

Version 1.1
17 May 2005
API has been significantly simplified. Now it is even easier to start using J2K-Codec right away!
JP2 files support.
ActiveX control.
VisualBasic sample (ActiveX).
Alpha-channel support.
Custom Data Sources support via a callback mechanism.
Custom Data Source sample.
Significant performance increase on file parsing and T1 decoding.
J2K-Codec now requires less memory for T1 decoding.
Memory allocation optimized by using our own memory pool.
Layered images decoding problem solved.
Lots of minor bugs were fixed. Thanks to everyone who have sent their bug reports!

Version 1.0
12 Mar 2005
Initial release.

news | home | download | order | f.a.q. | more info | contact | links 2004-2012 © Alex Saveliev