X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=517e86a2170f8801354684b4a39390718338a353;hb=8359fbd5e7744408a74e90e4075b4ce4d922aa0f;hp=063da5f86e8d1dbf78be8072fd17a6237b44ca60;hpb=1cfbdcc9ceedc96dac508a68f4d1cf59d3696b6f;p=openjpeg.git diff --git a/ChangeLog b/ChangeLog index 063da5f8..517e86a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,179 @@ What's New for OpenJPEG ! : changed + : added +January 17, 2008 ++ [antonin] Initial commit of Xcode project directory (XCode 2.5 for macosx) + available targets : libopenjpeg (stat and dyn), image_to_j2k, j2k_to_image + +January 16, 2008 +* [antonin] fixed opj_malloc.h for macosx (bugfix provided by janpeder, thanks) + +January 11, 2008 ++ [FOD] Added missing files to JavaOpenJPEG project (files from Patrick Piscaglia) + +January 4, 2008 +* [Parvatha] Patch by Callum Lerwick. Fixed bug during encoding using tile option in tcd.c + +---------------------- +December 21, 2007 +VERSION 1.3.0 RELEASED +---------------------- + +December 21, 2007 +* [FOD] Bug fixed by David Bruken. Fixed memory allocation issue in opj_malloc.h +! [FOD] Possible errors in pi_create_encode handled + +December 19, 2007 +* [Antonin] changed variables names alpha, beta, gamma, delta in dwt.c to avoid re-declarations on Macosx +! [Parvatha] In pi.c, removed the Recursive function pi_check_next_level() and modified the code. +* [FOD] Fixed allocation problem in pi.c + +December 19, 2007 ++ [FOD] In mqc.h, changed MQC_NUMCTXS from 32 to 19 as there are only 19 possible contexts + +December 10, 2007 ++ [FOD] First import of JAVAOpenJPEG, a Java wrapper of OpenJPEG, developed by Patrick Piscaglia of Telemis (www.telemis.com). + Thank you Patrick for this new module ! + +November 29, 2007 +! [GB] Added index.h and index.c in VC6 projects; wrapped index.h in the C++ preprocessor; modified OPJViewer project and some files. + +November 14, 2007 ++ [FOD] Created the file index.c in the codec directory. This file handles the creation of index files, + at encoding and decoding. +* [FOD] Fixed bugs during the creation of the index (PCRL progression order) +* [FOD] Fixed the maximum number of resolutions a user can discard while decoding. + Added an error state in J2K_STATE (j2k.c) + +November 14, 2007 +! [FOD] - First Patch by Callum Lerwick. Instead of reinventing realloc, j2k_read_sod now just uses opj_realloc in j2k.c + - Second Patch by Callum Lerwick. This patch rearranges the largest memory allocations so they're allocated as + late as possible, and freed as soon as possible. This cuts memory usage by about half on two large test images. + - Third Patch by Callum Lerwick. The opj_tcd_cblk array is one of the largest allocations, because it + contains a bunch of static buffers. This also makes it a major source of cache thrashing. This patch allocates + the buffers from the heap, and dynamically sizes them in the decoder. I have not yet managed to dynamically size + them in the encoder, getting the decoder to do it was tricky enough... I also split opj_tcd_cblk_t into separate + encode and decode versions. A lot of fields were not used by both, so this cuts its size even further. + +* [FOD] Avoided ABI breakage + +November 13, 2007 +! [FOD] Patch by Dzonatas and Callum Lerwick. + Fp/vectorization patch which basically converts most of the irreversible decode codepath to floating point, + eliminating a few rounds of int/fp conversion, resulting in a vast performance improvement, + and an increase in accuracy. + +November 8, 2007 +! [FOD] In t1.c, small change to avoid calling twice t1_getwmsedec() + Patches from Callum Lewick: + - Basic gcc optimization flags in cmake and makefile match. + - Fixed some spelling errors in dwt.c. + +November 5, 2007 +*+ [GB] Fixed a bug which prevented JPWL from working on multi-tiled images; added some more fields in the interface info structures +(keep a list of markers, save start packet number for each tile) + +October 23, 2007 +* [GB] Improved success for the linux build; OPJViewer shows all the COM contents + +October 18, 2007 +* [FOD] Changed the ROI parameter in the image_to_j2k codec to make it correspond to the documentation (i.e. -ROI c=0,U=25) +* [FOD] Patch from Callum Lewick. Memset patch. + The main idea of the patch is that currently opj_malloc clears all allocations, which unnecessarily + dirties up the cache and eats bandwidth. This patch makes it no longer do so, and I've painstakingly determined which allocations actually need + to be cleared and changed them to use opj_calloc() instead. I previously tried to just get rid of the opj_*alloc wrappers but that + idea was nixed, so this time I'm trying it with macros. I also put in a gcc pragma that helps enforce their use. Which got messy. :) It caught a + few places they weren't used but it also revealed that the mj2 tools are not very cleanly separated from the library. It includes all the + internal headers, but it wasn't using the malloc wrappers. I figured the binaries should be "external" and have minimal knowledge of the + internals of the library. I patched them to not include opj_includes.h, and include only the internal headers they actually need. However, + they're using the opj_clock() function, which is in with the malloc wrappers. So I decided to move the malloc wrappers to their own header. + But mj2.c seems to want to be "internal", so I patched it to use the wrappers. Note that this patch changes the semantics of opj_malloc, it no longer + clears the memory it allocates. If you need it to be cleared, you must use opj_calloc instead, or memset it yourself. It is also somewhat + invasive, please test it extensively. I've been pounding on it all summer with my test suite, Second Life, and valgrind, and it checks out clean. + +October 12, 2007 +* [FOD] Changed the way the image structure is allocated when the decoding parameters include some resolutions to discard. + This should have a significant impact for the decoding of huge images when some resolutions are discarder (-r parameter) + Warning: The output image size is now reduced when discarding resolutions ! + +October 10, 2007 +* [FOD] Patch from Callum Lewick. Clean up of j2klib.h for the aligned malloc stuff. + It makes it work right with mingw, as _mm_malloc() isn't a macro, attempts to pave the way to using cmake + to check for this stuff and combines a patch from Dana Fagerstrom at Sun that makes it use memalign() on Solaris + convert.c: Changed some error comments for TIFF images + +September 27, 2007 +* [FOD] Patch from Callum Lewick. Fixed dwt.c where an alignment in buffer was problematic under x86_64. + +September 25, 2007 +* [Mathieu Malaterre] BUG: Fix previous patch from Callum Lerwick. I have no + clue what CMAKE_INSTALL_LIBDIR refers too. Bump up cmake 2.2 restriction to + cmake 2.4 because of previous patch (not backward compatible). Properly set the SOVERSION in a cross plateform way (yes WIN32 is a platform) + +September 19, 2007 +* [Parvatha] Fixed issues with generation of SOP marker. + +September 18, 2007 +* [Parvatha] Fixed issues with Reading and Writing TIF images in convert.c to avoid segmentation fault. +* [Parvatha] Fixed issues relating to using user specified rates for CINEMA option for multiple images. + +September 17, 2007 +* [FOD] Fixed issues with cstr_info when codestream has components with different number of resolutions. +! [FOD] OpenJPEG library interface modified to retain compatibility with version 1.2 + +September 12, 2007 +* [FOD] Patch from Callum Lerwick. + Fixed the library linking so it links with the soversion properly set. + Fixes up the install targets so that it interacts properly with RPM. + Install target for MJ2. Sets some necessary and useful CFLAGS if gcc is in use. +* [FOD] Updated the MJ2 codec to be compatible with the recent changes in the OpenJPEG library + +September 11, 2007 +* [GB] JPWL encoding is finalized correctly into the JP2 file format; added an additional structure in opj_codestream_info, to keep a record of the written markers + +September 8, 2007 +* [GB] Adapted the JPWL and OPJViewer code to new interface; fixed a samll bug in JPWL which created large EPBs even when null protection was specified + +September 7, 2007 ++ [FOD] Indexes can now be generated when decoding J2K codestreams. +* [Mathieu Malaterre] Upon failure, properly return error code (!=0). +* [Mathieu Malaterre] CMake: Add cmake code to do testing if user has properly setup a testimages directory + +September 6, 2007 ++ [Mathieu Malaterre] CMake: start compiling mj2, jpwl and jp3d ++ [Mathieu Malaterre] CMake: output all executable/libs into one single directory ++ [Mathieu Malaterre] CMake: start compiling index_create ++ [Mathieu Malaterre] OpenJPEG.rc update copyright year ++ [Mathieu Malaterre] CMake: add Java j2kviewer but do not compile it using cmake since cmake has too poor support for Java. Should create a custom command running ant instead. ++ [Mathieu Malaterre] CMake: Add doxygen output ++ [GB] One more field in the codestream_info struct for recording the number of packets per tile part; JPWL now distributes the EPBs in all the tile part headers ++ [Mathieu Malaterre] CMake: Add very simple tests (simply run command line with no option) +* [Mathieu Malaterre] Fix unitialized read in img_fol (we may need a smarter initialize than memset) + +September 4, 2007 ++ [GB] Added some fields in the codestream_info structure: they are used to record the position of single tile parts. + Changed also the write_index function in the codec, to reflect the presence of this new information. + +September 3, 2007 ++ [GB] Added the knowledge of JPSEC SEC and INSEC markers (you have to compile the JPWL project). Management of these markers is limited to skipping them without crashing: + no real security function at this stage. Deprecated USE_JPSEC will be removed next + +August 31, 2007 +* [GB] Fixed save capabilities in OPJViewer due to recent code upgrade + +August 30, 2007 +* [FOD] Changed the OpenJPEG library interface to enable users to access information regarding the codestream (also called codestream index). + This index is usefull for all applications requiring to have a scalable acces to the codestream (like JPIP applications, ...) + Currently, this information is only available when encoding an image. ++ [FOD] Added the information regarding the end of packet position in the index + +August 28, 2007 +* [FOD] Fixed wrong destructors called in openjpeg.c +* [FOD] Fixed bug in j2k_decode_jpt_stream + +August 24, 2007 +* [Parvatha] The end of main header is calculated after TLM and POC marker for Dcinema. + August 21, 2007 + [FOD] Added support for Visual Studio 2005 * [FOD] Robustified MJ2 codecs @@ -16,6 +189,8 @@ August 21, 2007 * [Callum Lerwick] mqc_setcurctx moved to the header to allow it to be inlined into the t1. * [Callum Lerwick] Consolidated some calls to mqc_setcurctx. * [Callum Lerwick] Cleaned up t1_generate_luts to output the proper types. +* [Callum Lerwick] Replaced the large ctxno_mag lookup table with a small bit of inline-able branchless code +* [Callum Lerwick] Moved the orient flipping into the ctxno_zc table. August 20, 2007 + [FOD] Added support for the TGA file format in the codec @@ -37,12 +212,15 @@ July 17, 2007 + [FOD] Added support for RAW images. This module has been developped by the University of Perugia team. Thanks to them ! [image_to_j2k.c j2k_to_image.c convert.c convert.h] July 13, 2007 -! [FOD] Modified the memory allocation for codestreams containing multiple tiles. The memory is now allocated for each tile indenpendently, leading to an important decrease of the virtual memory needed. [j2k.c tcd.h tcd.c] +! [FOD] Modified the memory allocation for codestreams containing multiple tiles. The memory is now allocated for each tile indenpendently, + leading to an important decrease of the virtual memory needed. [j2k.c tcd.h tcd.c] ! [FOD] Modified old comments about the ability to decode mega-images and comments about the disk size necessary to do this. [image_to_j2k.c and frames_to_mj2.c] * [FOD] Added 2000 bytes for the memory allocation in cio.c for the minimum size of headers (useful in case of very small images) [cio.c] July 12, 2007 -* [GB] fixed a bug in JPWL module, which prevented to exploit the full error correction capability of RS codes (e.g. it gave up at 5 errors, even if 6 were correctable); defined a JPWL_MAXIMUM_EPB_ROOM for better customization of the maximum dimension of EPBs (the dimension is pre-calculated on an hypothesis, if it goes beyond 65535 there will be problems, thus we give a little less than the max, let's say 65450) +* [GB] fixed a bug in JPWL module, which prevented to exploit the full error correction capability of RS codes (e.g. it gave up at 5 errors, + even if 6 were correctable); defined a JPWL_MAXIMUM_EPB_ROOM for better customization of the maximum dimension of EPBs (the dimension + is pre-calculated on an hypothesis, if it goes beyond 65535 there will be problems, thus we give a little less than the max, let's say 65450) July 8, 2007 * [ANTONIN] fixed the size of the memory allocation in cio.c (confusion between bits and bytes) @@ -77,13 +255,16 @@ May 31, 2007 * [FOD] Fixed the parameters used for cinema compression (9-7 transform used instead of 5-3). Modified "image_to_j2k.c" May 24, 2007 -* [FOD] Bug fixed by Sylvain Munaut. Change in the reading of the POC marker. Since COD/COC can be anywhere in the header, the decoder cannot always know while decoding the POC marker the value of numlayers and numresolution. +* [FOD] Bug fixed by Sylvain Munaut. Change in the reading of the POC marker. Since COD/COC can be anywhere in the header, the decoder cannot always know while decoding the POC marker + the value of numlayers and numresolution. May 23, 2007 ! [FOD] Patch suggested by Callum Lerwick : "This makes the t1 data arrays dynamic, which greatly reduces cache thrashing. Also, some minor cleanup to prevent unnecessary casts" May 22, 2007 -! [FOD] Patch suggested by Callum Lerwick : "Some formatting cleanups, so that the long function definitions and calls fit on screen. Use of prefix increment which is theoretically faster, in practice any sane compiler can optimize a postfix increment but its best not to count on such things. Consolidation of some redundant calculations in the inner loops, which becomes very useful in the future autovectorize patch." +! [FOD] Patch suggested by Callum Lerwick : "Some formatting cleanups, + so that the long function definitions and calls fit on screen. Use of prefix increment which is theoretically faster, in practice any sane compiler can optimize a postfix + increment but its best not to count on such things. Consolidation of some redundant calculations in the inner loops, which becomes very useful in the future autovectorize patch." ! [FOD] Patch suggested by Callum Lerwick : "This changes the flag code in t1 to use a flag_t type, which can then be changed to reduce RAM usage. It is now typedef to a short." ! [FOD] Patch suggested by Callum Lerwick : "This patch makes the t1 LUTs static. I actually intend this as a prelude to possibly eliminating some or all of the LUTs entirely." @@ -132,14 +313,17 @@ March 29, 2007 * [Parvatha] Equation to check multiple tile precincts. Modification pi.c ! [Parvatha] array size generation of pi->include in pi_initialise_encode().Modification in pi.c * [Parvatha] modification in pi_create_encode for tile part generation.Modification in pi.c -+ [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. ++ [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. March 28, 2007 * [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 ! March 27, 2007 -+ [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 -* [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) ++ [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 +* [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) + [GB] Added linking to TIFF library in the JPWL VC6 workspaces March 23, 2007 @@ -185,7 +369,8 @@ VERSION 1.1.1 RELEASED ---------------------- February 23, 2007 -* [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 +* [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 + [GB] Linux makefile for the JPWL module; newlines at end of JPWL files February 22, 2007