1 What's New for OpenJPEG
9 + [Parvatha] Digital cinema compliance for 4K chosen by "-cinema4K" option. Modification in image_to_j2k.c.
10 + [Parvatha] Bit rate limitation for each color component. Modification in image_to_j2k.c, t2.c.
11 * [Parvatha] Modified and tested Progression order change "-POC" option. Modification in image_to_j2k.c, j2k.c, pi.c.
12 + [Parvatha] Function j2k_check_poc_val() to check for possible loss of packets in case of wrong POC declaration. Modification in j2k.c.
13 + [Parvatha] Structure T2_MODE. This tells if the t2_encode_packets() is called during Threshold calculation or in Final pass. Modification in j2k.h, tcd.c
16 * [GB] OPJViewer should now work under Linux, at least with not big j2k files. Tested under Suse 10.1 64 bit.
19 * [Parvatha] Enable accepting file names with `-� symbol .Modification getopt.c
20 * [Parvatha] Rsiz profile name generation to be STD_RSIZ for profiles which are not DCI compliant.Modification in image_to_j2k.c
21 ! [Parvatha] renamed convert_progression_order to j2k_convert_progression_order. Modification j2k.c
22 * [Parvatha] Calculation of number of tile part in each tile in j2k_calculate_tp. Modification j2k.c
23 ! [Parvatha] j2k_setup_encoder to set bit rate limitation for digital cinema compliance with quality option. Modification in j2k.c
24 * [Parvatha] Equation to check multiple tile precincts. Modification pi.c
25 ! [Parvatha] array size generation of pi->include in pi_initialise_encode().Modification in pi.c
26 * [Parvatha] modification in pi_create_encode for tile part generation.Modification in pi.c
27 + [Parvatha] In tcd_rateallocate a variable stable_threshold which holds the valid threshold value. This is used to avoid error in case of a wrong threshold value in the last iteration. Modification in tcd.c.
30 * [FOD] Fixed an historical bug in t1.c that leaded to the inclusion of useless 0xFF in the codestream. Thanks to Sylvain, Pascal and Parvatha !
33 + [GB] Improved parsing in OPJViewer, as well some minor aesthetic modifications; support for image rendering with bit depths lower than 8 bits; can display an arbitrary frame of an MJ2 file (only in B/W, though); can reload a file; better resizing capabilities
34 * [GB] Following to Herv�'s suggestions, all the exit() calls, added by JPWL strict checking in t2.c and j2k.c, have been substituted with (object free'ing + opj_evt_message(EVT_ERROR) + return)
35 + [GB] Added linking to TIFF library in the JPWL VC6 workspaces
38 * [antonin] Fixed Makefile.osx and changed Readme.osx accordingly
41 * [Parvatha] Fixed j2k_prog_order_list[]. Modifications in j2k.c.
42 * [Parvatha] Fixed t1_decode_cblks. Modifications in t1.c.
45 + [Parvatha] Added feature for generation of tile parts. Modifications in image_to_j2k.c, openjpeg.c, j2k.c, pi.c
46 + [Parvatha] Added function j2k_write_tlm(),to generate TLM marker for a Digital cinema compliant codestream. Modifications in j2k.c.
49 * [FOD] Fixed linux makefile, with help from David Fries and Guido
52 + [Parvatha] Added option for Digital cinema profile compliant codestream. This can be chosen by "-cinema2K" or "-cinema4K" for a 2K and 4K compliance respectively. The feature for tileparts has not been implemented in this version. Modification in image_to_j2k.c
53 + [Parvatha] Added the Digital Cinema profiles (CINEMA2K and CINEMA4K) to the list of profiles recognized in the codestream SIZ marker segment. Modification in openjpeg.h,j2k.c
54 + [Parvatha] Added feature for constant quality within bitrate defined in Digital cinema standards. Modification in tcd.c
55 ! [Parvatha] Modified the method of generation of buffer length. Modification in cio.c
59 * [FOD] Modified codec projects (*.dsp) and makefile to include the tiff library (modified codec/image_to_j2k.dsp codec/j2k_to_image.dsp and codec/makefile)
60 + [GB] Zoom capability and decoder settings dialog in OPJViewer; modified JPWL library .dsp project in order to create a library with embedded JPWL functions
63 + [Parvatha] Enabled compression of TIF image format to j2k by tifftoimage() and decompression of codestream to TIF image format using imagetotif(). Modifications in image_to_j2k.c, j2k_to_image.c, convert.c, convert.h
64 * [antonin] fixed a bug in context numerotation that prevented the RESET switch to work correctly : mqc_reset_enc in mqc.c
65 * [Fod] Corrected codec Makefile by adding the compilation of "compat/getopt.c"
68 * [Parvatha] Made get_file_format function more robust. Modifications in image_to_j2k.c, j2k_to_image.c, getopt.c, getopt.h
71 + [Parvatha] Option to read images from a Folder whose path is specified in the Input parameters by "-ImgDir" along with output decod format specified by "-OutFor" . Modifications in image_to_j2k.c, j2k_to_image.c, getopt.c, getopt.h
72 + [Parvatha] Enabling use of multi character input parameters in the codec. Modifications in image_to_j2k.c, j2k_to_image.c, getopt.c, getopt.h
75 * [GB] Fixed a copy-and-paste type assignment error (bool instead of int) in the JPWL section of decoder parameters structure in openjpeg.h; minor type-casting in jpwl_lib.c. As a result, now OPJViewer should run correctly when built against the most current SVN trunk of LibOpenJPEG.lib
76 * [FOD] Changed version number from 1.1.0 to 1.1.1 in openjpeg.h
77 + [GB] Linux makefile for the JPWL module; newlines at end of JPWL files
80 + [FOD] Added the OPJViewer Module (/OPJViewer), developed by Giuseppe Baruffa of the university of Perugia
83 + [FOD] Algorithmic optimizations in t1.c, thanks to Guido J. !
86 + [FOD] Added OPJ_LIMIT_DECODING enabling us to limit the decoding to main header (modified openjpeg.c, openjpeg.h, j2k.c and j2k.h)
89 ! [FOD] David Fries suggestions. In image_to_j2k and j2k_to_image, strncpy() functions: instead of specifying the path size macro, let the compiler read the length out of the array entry.
90 ! [FOD] David Fries suggestions. Makefile modified. -fPIC flag used for 64-bit compilation. Move operation (rather than copy) for the dist library creation, and -p flag added.
93 ! [FOD] Extra tokens at the end of #endif directive corrected in openjpeg.c, j2k.c and image_to_j2k.c -> no more warnings in linux compilation
94 ! [FOD] Linux Makefile added for the codec
97 ! [FOD] Use of OPJ_PATH_LEN (defined as 4096) to be the maximum allowed size for filenames instead of MAX_PATH which is not always defined. This caused some programs using OpenJPEG to crash. Modifications in openjpeg.h j2k_to_image.c and image_to_j2k.c
98 ! [FOD] Correction of the syntax usage in MJ2_codec/mj2_to_frames.c
101 ! [FOD] Modification in the context numbers, to reflect what has been specified in standard, in libopenjpeg/t1.h
104 + [Giuseppe Baruffa] Antonin verified that the MacOS build suffered from a missing definition of the "min" macro; I've added this definition (properly #ifndef'ed) into both jpwl.h and rs.h
107 * [Giuseppe Baruffa] Better fix of the TPH EPBs bug in JPWL module
108 * [GB] Fixed the UEP bug in JPWL module; now, during a UEP specification, RS protection or CRC check can be switched off for selected range of packets, and consequently reswitched on without confusing the decoder
109 + [GB] Added some lines in the help of JPWL_image_to_j2k, specifying that when using error protection on data packets, this must be paired with header protection, i.e. there cannot be packet protection without header protection
113 + [Francois-Olivier Devaux] New tag: version1.0 (includes codec and libopenjpeg directories)
114 Total update of JPWL module
115 - [FOD] removed directories jpwl/decoder, jpwl/encoder, jpwl/decoder_02, jpwl/encoder_02
116 + [FOD] added in JPWL directory crc.h, jpwl.h, rs.h, crc.c, jpwl.c, jpwl_lib.c, rs.c, JPWL_image_to_j2k.dsp, JPWL_j2k_to_image.dsp, LibOpenJPEG_JPWL.dsp, JPWL_image_to_j2k.dsw, JPWL_j2k_to_image.dsw
117 ! [FOD] Modifications of libopenjpeg to integrate JPWL module (in libopenjpeg directory): j2k.c, j2k.h, openjpeg.c, openjpeg.h, opj_includes.g, t2.c
118 ! [FOD] Modification of codec to integrate JPWL module (in codec directory): image_to_j2k.c, j2k_to_image.c
119 * [FOD] Corrected incorrect fprintf() formatting in codec/convert.c
120 * [FOD] Code optimization usinq vsprintf() command in libopenjpeg/event.c
121 * [Giuseppe Baruffa] Fixed a bug in TPH EPBs parameters: now, "last in current header" information is correctly signaled
124 * [Antonin] fixed a bug in the computation of the mantissa (mu)
125 + [Antonin] added the ability to specify the rate as "float" (before : integer)
128 * [Antonin] fixed a bug in j2k_to_image.c, that prevented the -l option to work correctly.
131 * [Antonin] fixed a bug in pi.c, line 473, that appeared when more than 100 precincts were generated in a resolution level.
134 + [Antonin Descampe] added a readme in /mj2 to warn people that it only works with opj0.97
137 * [Mathieu Malaterre] Install exe and lib and include correctly
138 * [Mathieu Malaterre] Fixed mem leaks and greyscale bmp
139 * [Mathieu Malaterre] Fix pgx name length + random memory access
140 ! [Mathieu Malaterre] API is now const
143 * [Antonin] fixed a bug in t1.c that prevented in some cases a true lossless compression (thanks to Don Mimlitch for reporting this bug)
146 - [Herve Drolon] removed unneeded working variables in opj_tcd_t
149 * [galt] fixed a bug in codec/convert.c::imagetobmp
152 ! [Herve Drolon] changed function definitions of INT and FIX modules to 'inline'
153 + [Herve Drolon] added a VERSION resource to the DLL version of OpenJPEG
156 * [Mathieu Malaterre] Fix compilation using default openjpeg.dsw
157 * [Herve Drolon] fixed various minor warnings occuring under icc9 and bcc32
158 - [Mathieu Malaterre] Remove all references to OPJ_EXPORT, no declspec in header file anymore
159 + [Mathieu Malaterre] Add a def.in file which is a template for Module Definition
160 + [Herve Drolon] added MSVC project and compiler directives to build a 'standard' WIN32 DLL
161 ! [Mathieu Malaterre] Update CMake to match the new shared lib system (no more def file)
164 * [Antonin Descampe] fixed a two initialization problems in t1.c and tcd.c
167 * [Herve Drolon] fixed various minor warnings occuring under gcc
168 * [__david__] fixed a segfault in codec/image_to_j2k.c & codec/j2k_to_image.c
169 * [__david__] fixed help option in codec/j2k_to_image & codec/image_to_j2k
172 ! [Mathieu Malaterre] Sync with ITK repository, also add ref to doxygen
173 ! [Mathieu Malaterre] Add a lot of comments on the CMake build system
174 ! [Mathieu Malaterre] Fix MINGW32 and BORLAND compilation problems.
177 * [Antonin Descampe] fixed a problem in convert.c when multiple comments
178 + [Antonin Descampe] added cmake files to the project
179 ! [Antonin Descampe] fix.c : replaced "WIN32" by "_MSC_VER" for int64
180 + [Antonin Descampe] added "OPJ_EXPORT" in openjpeg.h to generate shared lib with win32
181 ! [Antonin Descampe] removed all CtrlM from files
184 ! [Antonin Descampe] event.c : replaced "WIN32" by "_MSC_VER" for i2a
187 * [Antonin Descampe] fixed various minor warnings with gdcm patches
190 * [Herve Drolon] fixed a bug in jp2_read_ihdr (need to allocate jp2->comps)
193 * [Herve Drolon] changed the name of j2k_realloc to opj_realloc
194 * [Herve Drolon] fixed a bug in opj_cio_open when saving 48-bit images (wrong buffer size calculation)
197 * [Antonin Descampe] fixed a bug when specifying a rate '-r' => no distortion info was available in the index
198 * [Antonin Descampe] fixed a bug in t1_getwmsedec (stepsize was divided by 8192)
200 December 5, 2005 - 1.1.0