Commit Graph

289 Commits

Author SHA1 Message Date
Parvatha Elangovan dd18811600 Digital cinema compliance for 4K chosen by "-cinema4K" option. Modification in image_to_j2k.c.
Bit rate limitation for each color component. Modification in image_to_j2k.c, t2.c.
Modified and tested Progression order change "-POC" option. Modification in image_to_j2k.c, j2k.c, pi.c.
Function j2k_check_poc_val() to check for possible loss of packets in case of wrong POC declaration. Modification in j2k.c.
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
2007-04-04 13:40:32 +00:00
Parvatha Elangovan 9ba672366e Enable accepting file names with `-´ symbol .Modification getopt.c
Rsiz profile name generation to be STD_RSIZ for profiles which are not DCI compliant.Modification in image_to_j2k.c
Renamed convert_progression_order to j2k_convert_progression_order. Modification j2k.c
Calculation of number of tile part in each tile in j2k_calculate_tp. Modification j2k.c
j2k_setup_encoder to set bit rate limitation for digital cinema compliance with quality option. Modification in j2k.c
Equation to check multiple tile precincts. Modification pi.c
array size generation of pi->include in pi_initialise_encode().Modification in pi.c
Modification in pi_create_encode for tile part generation.Modification in pi.c
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.
2007-03-29 14:15:14 +00:00
Francois-Olivier Devaux 5a3c1ffe7d Fixed an historical bug in t1.c that leaded to the inclusion of useless 0xFF in the codestream. Thanks to Sylvain, Pascal and Parvatha ! 2007-03-28 08:44:21 +00:00
Giuseppe Baruffa 144e1ff4e6 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); added linking to TIFF library in the JPWL VC6 workspaces 2007-03-27 17:18:56 +00:00
Parvatha Elangovan 6045158ce6 Fixed j2k_prog_order_list[]. Modifications in j2k.c.
Fixed t1_decode_cblks. Modifications in t1.c.
2007-03-21 13:01:15 +00:00
Parvatha Elangovan 694a173adb Added feature for generation of tile parts. Modifications in image_to_j2k.c, openjpeg.c, j2k.c, pi.c
Added function j2k_write_tlm(),to generate TLM marker for a Digital cinema compliant codestream. Modifications in j2k.c.
2007-03-20 17:15:18 +00:00
Parvatha Elangovan 78003a016a 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
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
Added feature for constant quality within bitrate defined in Digital cinema standards. Modification in tcd.c
Modified the method of generation of buffer length. Modification in cio.c
2007-03-07 16:04:33 +00:00
Parvatha Elangovan 192e46c32f 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 2007-02-28 15:31:56 +00:00
Antonin Descampe e5c5d1064e fixed a bug in context numerotation that prevented the RESET switch to work correctly : mqc_reset_enc in mqc.c 2007-02-28 14:27:20 +00:00
Francois-Olivier Devaux d268ea7d6a Changed version number from 1.1.0 to 1.1.1 in openjpeg.h 2007-02-23 10:48:11 +00:00
Giuseppe Baruffa 8a75823eea 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 2007-02-23 01:23:05 +00:00
Francois-Olivier Devaux 7cb2194c8e Algorithmic optimizations in t1.c, thanks to Guido J. ! 2007-02-21 07:57:27 +00:00
Francois-Olivier Devaux eac141b69a Added OPJ_LIMIT_DECODING enabling us to limit the decoding to main header 2007-02-19 09:59:29 +00:00
Francois-Olivier Devaux 3f5e8eb92b 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 2007-01-31 15:19:54 +00:00
Francois-Olivier Devaux a6d7377213 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 2007-01-30 10:51:29 +00:00
Francois-Olivier Devaux 521b9bef33 Modification of the context numbers, to reflect what has been specified in standard. 2007-01-23 11:41:16 +00:00
Francois-Olivier Devaux ed3aec55fd Copyright update 2007-01-15 09:55:40 +00:00
Francois-Olivier Devaux ef560f19a3 JP2 module: Tests during encoding if the number of components respects the JPEG 2000 standard. 2007-01-03 15:41:50 +00:00
Francois-Olivier Devaux 2c03b73dff First integration of JPWL code 2006-12-04 14:59:33 +00:00
Francois-Olivier Devaux 6cc148e226 Code optimization usinq vsprintf() command 2006-12-04 14:57:09 +00:00
Antonin Descampe 15949d43d1 fixed a cast problem in the maxlen variable 2006-10-31 18:10:03 +00:00
Antonin Descampe 696cd710df removed a debug test in the version just committed 2006-10-31 17:37:01 +00:00
Antonin Descampe 2d416a8017 fixed a bug in the computation of the mantissa (mu) 2006-10-31 17:11:15 +00:00
Antonin Descampe b565431251 added the ability to specify the rate as "float" (before : integer) 2006-10-31 17:10:14 +00:00
Antonin Descampe b5aee428ba remove some needless cvs files 2006-10-27 17:51:08 +00:00
Antonin Descampe 97a3327f99 testsvn 2006-10-26 19:54:44 +00:00
Antonin Descampe 7860407cb5 fixed a bug in pi.c, line 473, that appeared when more than 100 precincts were generated in a resolution level 2006-08-04 10:12:14 +00:00
Mathieu Malaterre 9aa9170110 ENH: Update CMake to do proper installation. Still using the 2.2 installation approach for now. 2006-07-22 03:47:02 +00:00
Antonin Descampe 817681fb98 fixed a bug in t1.c that prevented in some cases a true lossless compression (thanks to Don Mimlitch for reporting this bug) 2006-03-19 18:51:32 +00:00
Mathieu Malaterre 0108506433 COMP: Fix warning about C++ comment 2006-02-19 21:12:20 +00:00
Mathieu Malaterre b883da435b COMP: Fix declaration hides parameter len 2006-02-18 12:52:52 +00:00
Mathieu Malaterre 6a4572a56f COMP: Fix declaration hides parameter len 2006-02-18 12:51:35 +00:00
Mathieu Malaterre fba75d93c4 STYLE: Remove C++ comments 2006-02-18 12:48:49 +00:00
Freeimage c2b399b363 removed unneeded working variables in opj_tcd_t 2006-02-12 16:53:23 +00:00
Mathieu Malaterre 23eeec8769 ENH: Do the proper thing for static/shared 2006-02-05 21:39:19 +00:00
Freeimage 48311061c1 added the 'static' keyword to inline functions to keep gcc happy 2006-02-03 23:08:52 +00:00
Freeimage 8d7b0c9c05 changed function definitions of INT and FIX modules to 'inline' 2006-02-01 21:25:11 +00:00
Mathieu Malaterre 33b5757921 ENH: Update CMake to match the new shared lib system (no more def file) 2006-01-31 22:35:51 +00:00
Freeimage 355b88c15d fixed various minor warnings occuring under icc9 and bcc32, added MSVC project and compiler directives to build a 'standard' WIN32 DLL 2006-01-31 21:26:11 +00:00
Mathieu Malaterre 74c1b3637e COMP: Fix compilation on MINGW 2006-01-31 19:45:17 +00:00
Mathieu Malaterre 1460d23294 STYLE: Remove completely reference to OPJ_EXPORT 2006-01-31 14:51:39 +00:00
Mathieu Malaterre 75cf4f0906 STYLE: More verbose comments 2006-01-31 14:41:40 +00:00
Mathieu Malaterre 85c327861a STYLE: Add more comment, also use more feature from CMake to introduce the VERSION number of openjpeg 2006-01-31 14:32:40 +00:00
Mathieu Malaterre c5c3ca370e ENH: Move to a def solution to avoid polluting header file with declspec 2006-01-31 14:20:06 +00:00
Antonin Descampe 72de930d08 fixed two initialization problems in t1.c and tcd.c 2006-01-27 16:29:41 +00:00
Freeimage 8a662fa4b1 fixed various minor warnings occuring under gcc, added corrections proposed in the forum 2006-01-26 20:02:04 +00:00
Mathieu Malaterre 55fb4d0b67 ENH: Sync with ITK repository 2006-01-25 18:18:09 +00:00
Mathieu Malaterre 61e353d652 STYLE: Add a lot of comments for the CMake build system 2006-01-25 16:32:48 +00:00
Mathieu Malaterre ec2b3b3b3f COMP: Fix compilation on mingw (already had itoa) and borland (need __int64) 2006-01-25 15:21:28 +00:00
Antonin Descampe e6aae96217 added cmake files to the project 2006-01-25 09:23:17 +00:00
Antonin Descampe a1ec600b42 fix.c : replaced "WIN32" by "_MSC_VER" for int64 2006-01-25 09:04:36 +00:00
Antonin Descampe 5432a70c79 added "OPJ_EXPORT" in openjpeg.h to generate shared lib with win32 2006-01-25 08:50:18 +00:00
Antonin Descampe cc3e813786 event.c : replaced "WIN32" by "_MSC_VER" for i2a (line 33) + replaced win32 line breaks 2006-01-24 21:02:13 +00:00
Antonin Descampe 6a52f1a9df fixed various minor warnings with gdcm patches 2006-01-20 16:53:05 +00:00
Freeimage 197b0505cb fixed a bug in jp2_read_ihdr (need to allocate jp2->comps) 2006-01-19 20:25:44 +00:00
Freeimage d5ecae07ad fixed a bug in opj_cio_open when saving 48-bit images (wrong buffer size calculation) 2006-01-18 20:10:58 +00:00
Freeimage 8f9f70f922 changed the name of j2k_realloc to opj_realloc 2006-01-18 20:10:23 +00:00
Antonin Descampe 34c8a555fa fixed a bug when specifying a rate '-r' => no distortion info was available in the index 2005-12-08 14:47:40 +00:00
Antonin Descampe fe33ebe83c fixed a bug in t1_getwmsedec (stepsize was divided by 8192) 2005-12-08 11:01:59 +00:00
Antonin Descampe 95bc884365 OpenJPEG version 1.1 2005-12-08 09:38:47 +00:00
Antonin Descampe 884c8429fc Makefile moved to ROOT directory 2005-12-04 17:10:57 +00:00
Antonin Descampe 5cf0326dcb LibOpenJPEG project files moved to root directory 2005-12-04 17:07:44 +00:00
Antonin Descampe 08f7bfbb5f add an include <sys/time.h> before <sys/resource.h> 2005-12-02 13:48:10 +00:00
Antonin Descampe f61cda9b7d openjpeg version 1.0 (previous version still available with tag opj0-97) 2005-12-02 13:34:15 +00:00
Antonin Descampe 4458ef921c minor change for readability 2005-11-09 10:20:28 +00:00
Antonin Descampe c9ac67cd05 minor change to avoid warnings about signedness 2005-11-09 10:17:51 +00:00
Antonin Descampe e398154212 small changes to remove warnings related to signedness 2005-11-08 16:15:40 +00:00
Antonin Descampe 0ea26e7ba6 small change to avoid signed/unsigned warning during compilation 2005-11-04 11:10:38 +00:00
Antonin Descampe 8f3bd54c3d Changes proposed by Mathieu Malaterre from the GDCM project... Thanks a lot Mathieu
- '//' replaced by '/* */'
- inclusion of int.h in int.c
- inclusion of j2k.h in int.h in order to export symbols
- adding (void) var when a variable is declared but not used
- some explicit cast
- CLOCKS_PER_SEC is declared as float in bcc55, so there is a need to cast it to int for the modulo operation
- some variables changed from float -> double
2005-11-01 10:15:34 +00:00
Antonin Descampe 18a9bcb882 changed one of the 9-7 coefficients (value closer to the one in the std) 2005-10-27 07:51:11 +00:00
Antonin Descampe 7ee36c3a4c 1) quantization stepsizes stored as float instead of shifted integers -> fixes a pb of precision when using very small stepsizes. 2) bug fixed when decoding until bitplane 0 -> r-value (1/2) added to the coefficient. 2005-10-27 07:49:29 +00:00
Francois-Olivier Devaux 7f8f47566f Modifications to decoding of JP2H box in order to be compatible with JP2 conformance files 2005-10-20 07:43:55 +00:00
Antonin Descampe d6a523e091 major change in the dwt-module, thanks to Ive (aka Reiner Wahler): thanks a lot ! See note in dwt.c for more details. 2005-09-21 13:00:51 +00:00
Antonin Descampe ac634b1639 bug fixed when asking for an index with more than (layer*resolutions*100) packets per tile (2nd correction) 2005-09-21 08:11:27 +00:00
Antonin Descampe a0513798bb bug fixed when asking for an index with more than (layer*resolutions*100) packets per tile 2005-09-20 15:40:13 +00:00
Antonin Descampe 8f4d6bbeba bug fixed when freeing the memory allocated if ppm-marker or ppt-marker is used 2005-09-13 14:17:09 +00:00
Antonin Descampe cd98a4f740 bug fixed when freeing the memory allocated if ppm-marker or ppt-marker is used 2005-09-13 14:11:41 +00:00
Francois-Olivier Devaux e25e7e767e Modifications proposed by Rob Komar. Thanks for your contribution ! 2005-08-01 15:10:04 +00:00
Antonin Descampe de75303c38 Several bugs fixed when dealing with pgx-files with more than 8 bpp and the fixed_quality feature. 2005-07-18 15:21:56 +00:00
Francois-Olivier Devaux 32ba9920db At lines 577, 692 and 699, zeroing of effective region of code-block rather than the 1024*1024 allocated integers of code-block. This optimization has been proposed by Dmitry Kolyadin. Thanks for your help ! 2005-06-02 15:28:37 +00:00
Francois-Olivier Devaux 7ae6a670fa Conversions from int to unsigned int to ensure correct execution of int_min and int_max at lines 800 to 830 2005-06-02 15:25:25 +00:00
Francois-Olivier Devaux cf4f8be5f0 Conversions from int to unsigned int to ensure correct execution of int_min at line 626 to 628 2005-06-02 15:14:33 +00:00
Francois-Olivier Devaux 789f6f8e7a CVS test 2005-05-26 14:25:54 +00:00
Antonin Descampe 384068ce8c test 2005-05-26 12:22:00 +00:00
Francois-Olivier Devaux 7e518596e0 cio_read_to_buf(...) and cio_write_from_buf(...) functions syntax modification 2005-05-26 12:07:46 +00:00
Francois-Olivier Devaux f9eb8f93c2 Code optimization: t1_flags and t1_data set to zero with memset 2005-05-24 12:15:52 +00:00
Francois-Olivier Devaux d54925f777 2 functions were added, to fasten buffer transfers:
void cio_read_to_buf(unsigned char* buf, int n)
void cio_write_from_buf(unsigned char* buf, int n)
Code written by Glenn Pearson
2005-05-23 15:26:29 +00:00
Francois-Olivier Devaux eae26f958e 2 functions were added, to fasten buffer transfers:
void cio_read_to_buf(unsigned char* buf, int n)
void cio_write_from_buf(unsigned char* buf, int n)
2005-05-23 15:25:48 +00:00
Francois-Olivier Devaux 1de9535b8c #endif;
replaced by
#endif
2005-03-25 13:52:55 +00:00
Francois-Olivier Devaux 1f96f0e92a Modifications made to enable the decoding of a J2K file headers without decoding all packets using #NO_PACKETS_DECODING
Used with MJ2_to_metadata
2005-03-16 12:11:40 +00:00
Francois-Olivier Devaux ed0a46eff5 YUV_DFMT added 2005-02-09 09:55:13 +00:00
Antonin Descampe c83ae7397d Added layer option '-l' to the command line. This option allows user to
specify a maximum number of quality layers to be decoded.
2005-01-26 09:59:31 +00:00
Antonin Descampe 3b1bee0eec * function getopt added to the decoder (to efficiently manage arguments
in command line)
* reduce_on, reduce_value grouped in a single variable reduce
* up-to-date usage display
* image_type renamed --> decod_format
* JPEG2000_format renamed -->  cod_format
2005-01-26 08:59:49 +00:00
Antonin Descampe bfb2f9f58b Luke Lee optimization for fix_mul... Thanks to him 2005-01-03 17:39:30 +00:00
Francois-Olivier Devaux 9225f53d62 Modularity increase in jp2_init_stdjp2 function and jp2c box functions to enable new version of MJ2 module 2004-12-08 09:06:04 +00:00
Antonin Descampe eb1b017ec7 Index structure adpated for other progression orders than LRCP
(thanks to Stefano Pensa)
2004-11-29 14:48:20 +00:00
Francois-Olivier Devaux 0ddef9b2db Modifications to increase modularity of jp2 coding/decoding 2004-11-26 16:33:18 +00:00
Francois-Olivier Devaux 1bdb07cefe fprintf correctly redirected to stderr or stdout 2004-11-15 12:41:35 +00:00
Francois-Olivier Devaux e1278bc691 Small bug corrected: unsigned int to int conversion at line 417 2004-10-06 07:12:36 +00:00
Francois-Olivier Devaux 3c730a804b Order of data written to jp2_struct->cl inversed in jp2_read_ftyp function 2004-08-31 09:17:06 +00:00
Antonin Descampe bc5c5115cb * Inserted tool for memory leaks fixing in debug mode
* Fixed some memory leaks in the decoder (some are still present when multiple tiles!)
2004-08-06 14:13:51 +00:00
Antonin Descampe d116ca5d10 Better indentation 2004-08-03 14:14:44 +00:00
Antonin Descampe 26a630dad2 Bug fixed in lossless mode 2004-08-03 14:06:10 +00:00
Antonin Descampe 9fa68ca811 Bug fixed in MQ decoder initialization (keyword comment : initbug1) 2004-07-21 05:18:57 +00:00
Antonin Descampe d38080aa00 * Bug fixed in jpt decoding
* Bug fixed in pcrl progression order (profile-1 compliance)
* Change in tcd_dump
2004-07-20 05:40:55 +00:00
Francois-Olivier Devaux cc42bfbaaa Comments added 2004-07-16 13:39:09 +00:00
Francois-Olivier Devaux c785c1b82b minor changes 2004-07-16 13:17:23 +00:00
Francois-Olivier Devaux 5da1d86a03 Bug on jp2_struct->comps memory allocation fixed 2004-07-16 13:16:39 +00:00
Francois-Olivier Devaux 47dfe606bd Memory leaks at decoding fixed 2004-07-16 10:22:59 +00:00
Francois-Olivier Devaux 9653207b67 Multiple tile bug fixed (line 438) 2004-07-16 09:52:24 +00:00
Francois-Olivier Devaux 82eea41d24 Memory leaks fixed (line 1592: frees data of all components of current tile) 2004-07-16 09:14:31 +00:00
Antonin Descampe 8d2121606d Minor changes for RESET mode 2004-07-16 09:08:27 +00:00
Sebastien Lugan c81b74d91b Bugfix Makefile / jp2.c & jp2.h 2004-07-15 15:52:44 +00:00
Antonin Descampe 17a559b49e (Sampling + Offset) incompatibility bug fixed 2004-07-14 15:32:56 +00:00
Antonin Descampe 55e5910d6b * PPM markers handling modified (comment keyword : ppmbug1)
* empty resolution level or subband handling (comment keyword : sizebug1)
* index_on field forwarded to j2k_cp_t structure
2004-07-14 08:52:15 +00:00
Antonin Descampe de5a22aea0 Structure j2k_option_t deleted and option "-reduce" integrated to j2k_cp_t.
Parameters changed for j2k_decode, jp2_decode, j2k_decode_jpt_stream
2004-07-13 14:37:11 +00:00
Antonin Descampe bc563fc5ba * Quantization bug fixed when using 9x7 DWT (comment keyword : quantizbug1)
* Multiplication bug fixed when dividing by 8192 (comment keyword : multbug1)
2004-07-13 09:17:17 +00:00
Antonin Descampe f50f66c0c9 scalar_derived quantization type bug fixed (2) 2004-07-09 14:37:12 +00:00
Antonin Descampe 651f98ad06 Bug fixed for scalar_derived quantization type 2004-07-09 14:04:06 +00:00
Francois-Olivier Devaux d695f75c24 First version of JP2 file format 2004-07-07 08:24:36 +00:00
Francois-Olivier Devaux b391bfa718 Include jp2.h file 2004-07-07 07:38:15 +00:00
Francois-Olivier Devaux 77ca0769e3 New variable in cp structure for JP2 format 2004-07-07 07:37:44 +00:00
Francois-Olivier Devaux 06496c203e j2k_encode can output data to a buffer or to a file 2004-07-07 07:37:14 +00:00
Antonin Descampe 275b153fc2 small changes in the INDEX-file generation (in order to only use data from index data structures) 2004-05-07 14:41:45 +00:00
Antonin Descampe a4911967eb * Fixed_quality option added : specifying -q psnr1,psnr2,psnr3,... at the command line when encoding an image generates layers with the corresponding psnr. You have to specify values in the increase order. This option is incompatible with "-r" or "-f" options.
* Old -q option is now available with -f

* The INDEX-file structure has been modified and is now like this :
------------------------------
image_width image_height
progression order
tile_width tile_height
nb_tiles_width nb_tiles_height
nb_components
nb_layers
nb_decompositions
foreach resolution_level {[precinct_width,precinct_height]}
main_header_end
codestream_size
foreach tile {
  tileno start_pos end_header end_pos squarred_error_total nb_pixels mean_squarred_error
}
foreach tile {
  foreach packet {
    packetno tileno layerno resno compno precinctno start_pos end_pos SE_reduction
  }
}
SE max
SE total
-----------------------------
2004-05-07 13:50:47 +00:00
Antonin Descampe 32e7b1529b Various corrections to avoid "signed/unsigned mismatch" warnings during compilation 2004-04-30 09:20:22 +00:00
Sebastien Lugan 64c34e0d52 Reformatage : indent -kr -i2 -ci2 $(find . -name '*.c') $(find . -name '*.h') 2004-04-29 13:27:24 +00:00
Sebastien Lugan ec9bd9f6a4 Reformatage : indent -kr $(find . -name '*.c') $(find . -name '*.h') 2004-04-29 13:10:05 +00:00
Yannick Verschueren 4f83e82a74 Change in the IFDEF due to error with Windows users 2004-04-19 13:11:33 +00:00
Yannick Verschueren c74313aa15 remove obsolete part of code in t2_encode_packet 2004-04-19 13:08:55 +00:00
Yannick Verschueren 4bbd79b370 Potential error in tcd_init around L543 with p and q 2004-04-19 13:02:49 +00:00
Yannick Verschueren 1f7520c88b Update to version 0.9 : option -reduce added on decoder 2004-03-05 14:42:53 +00:00
Yannick Verschueren e4dafe5aa2 Automatic creation of building directories during make (OK for version >= 0.8) 2004-02-13 10:04:37 +00:00
Yannick Verschueren 9bf97dc1d0 File necessary for version >= 0.8 2004-02-13 10:02:12 +00:00
Yannick Verschueren bb349b2cee Update for version 0.8 2004-02-13 09:47:40 +00:00
Yannick Verschueren 4be829988a Update for version 0.8 2004-02-13 09:38:52 +00:00
Yannick Verschueren 28283c60ea update vor version 0.8 2004-02-13 09:29:59 +00:00
Sebastien Lugan a9cede2d5e Automatic creation of building directories during make 2004-02-12 16:07:03 +00:00
Sebastien Lugan 2ad6a9770a Initial revision 2003-11-27 10:10:17 +00:00