Commit Graph

186 Commits

Author SHA1 Message Date
Mickael Savinaud ac59fd1476 WIP: begin to test opj_decode_tile_data 2011-09-19 16:34:44 +00:00
Mickael Savinaud 6561d70664 WIP: update t1, t2, tcd to use same strut as in V2 2011-09-19 16:09:19 +00:00
Mickael Savinaud 1a5c59326a WIP: begin to test opj_read_tile_header with V2 style 2011-09-19 16:05:43 +00:00
Mickael Savinaud d44375aece WIP: create a new framework to output file information 2011-09-19 16:01:49 +00:00
Mickael Savinaud cf37058d7c WIP: remove a piece of code copy by the merge op at the wrong place 2011-09-19 15:51:20 +00:00
Mickael Savinaud 6ece3f6792 WIP: enchance the new version with some bug fixes from v1 and from me 2011-09-19 13:47:35 +00:00
Mickael Savinaud 3b30e42551 WIP: add support of jp2 for new j2k_dump function and some other small stuff 2011-09-19 13:36:07 +00:00
Mickael Savinaud b0ef524b9e WIP: new image_header struct is used and enable used of cstr_info 2011-09-19 13:30:21 +00:00
Mickael Savinaud b551844cc2 Work In Progress: insert elements from V2 framework into the trunk 2011-09-19 13:04:04 +00:00
Antonin Descampe fa720c1858 TRUNK:added a new indexer functionality to the library. With the new -jpip option at encoding, the user can now generate a JP2 file including an XML box with the index used when browsing the image with JPIP 2011-09-09 14:49:08 +00:00
Mickael Savinaud e3e2dc1f6e fixed build error with position of variable declaration after patch 856 2011-08-11 08:37:11 +00:00
Mickael Savinaud 9e419fdaf7 fixed glibc error with broken2 and broken4 images 2011-08-10 08:47:20 +00:00
Mickael Savinaud 676f8f189f removed unused parameters warnings with the solution proposed by myself and Bob Friesenhahn 2011-08-10 08:12:10 +00:00
Mickael Savinaud e716a316f6 manage case 0 frames inside yuv_num_frames function and correct some warnings with gcc4.5 (credit to Winfried) 2011-07-28 10:45:22 +00:00
Mathieu Malaterre 3da66d4d79 adding partno and numpart info as part of the warning message (issue #69) 2011-06-03 08:47:30 +00:00
Antonin Descampe 88f43b15fa defined new type "opj_bool", and new constants OPJ_FALSE and OPJ_TRUE, to avoid having to deal with "stdbool.h" (patch from Winfried) 2011-05-18 11:02:27 +00:00
Antonin Descampe 18cb325a8e fixed part of issue 69, when tile-part index is inconsistent with the total number of tile-parts 2011-05-16 11:07:37 +00:00
Antonin Descampe 73a6ed7c21 bug fixes to enable cmake compilation on WIN32 platform (see CHANGES for details) 2011-01-02 18:10:09 +00:00
Mathieu Malaterre f30f4c744e Also dump the image info as well as cp info. 2010-06-22 14:03:52 +00:00
Francois-Olivier Devaux 54214fb65f Code improvements using 'g++-4.4.0' to trace the code (v1.4). Thanks to Winfried for this patch. 2010-03-24 11:20:45 +00:00
Antonin Descampe 295ad6b112 fixed a bug in j2k.c (j2k_write_sod) that allowed to get negative rates, thanks zhong1985624 for pointing this. 2008-05-22 16:39:40 +00:00
Antonin Descampe f4d394d932 additional test to avoid crash due to invalid image size, patch by Christopher Layne 2008-05-22 12:34:29 +00:00
Parvatha Elangovan 64ed560f4f In pi.c, removed the Recursive function pi_check_next_level() and modified the code. 2007-12-19 12:28:40 +00:00
Francois-Olivier Devaux 9e5d165e79 Fixed the maximum number of resolutions a user can discard while decoding.
Added an error state in J2K_STATE (j2k.c)
2007-11-27 14:00:45 +00:00
Francois-Olivier Devaux 61a15672bb Patch by Callum Lerwick. Instead of reinventing realloc, j2k_read_sod now just uses opj_realloc in j2k.c 2007-11-14 08:29:12 +00:00
Giuseppe Baruffa 95d760a173 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) 2007-11-05 13:05:07 +00:00
Francois-Olivier Devaux 9e114bcaa4 Patch from Callum Lewick. Memset patch. See ChangeLog for more details. Thanks Callum ! 2007-10-18 12:26:11 +00:00
Francois-Olivier Devaux 1f11a4fe90 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 !
2007-10-12 15:04:34 +00:00
Parvatha Elangovan 7e40a9475a Fixed issues with generation of SOP marker. 2007-09-19 14:56:19 +00:00
Francois-Olivier Devaux 569bbb0077 Fixed issues with cstr_info when codestream has components with different number of resolutions. 2007-09-17 14:00:43 +00:00
Giuseppe Baruffa 1e705438e4 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 2007-09-11 15:21:12 +00:00
Francois-Olivier Devaux 3816e0edf4 Indexes can now be generated when decoding J2K codestreams. 2007-09-07 15:01:55 +00:00
Giuseppe Baruffa dfcacb8247 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 2007-09-06 15:59:39 +00:00
Giuseppe Baruffa d3d2a36fbc 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. 2007-09-04 14:19:55 +00:00
Giuseppe Baruffa 564e16d5ce 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 and USE_JPWL will be removed next 2007-09-03 13:30:59 +00:00
Francois-Olivier Devaux acfe0ad645 Changed the OpenJPEG library interface to enable users to access information regarding the codestream (also called index). 2007-08-30 09:51:20 +00:00
Francois-Olivier Devaux d07fa5d9d0 Fixed wrong destructors called in openjpeg.c
Fixed bug in j2k_decode_jpt_stream
2007-08-28 10:13:58 +00:00
Parvatha Elangovan c101f8049c The end of main header is calculated after TLM and POC marker for Dcinema. 2007-08-24 15:11:01 +00:00
Francois-Olivier Devaux adca52578d Memory leaks fixed 2007-08-21 12:21:35 +00:00
Francois-Olivier Devaux 7dcb817e6a Fixed the DCinema filesize allocation. It now includes the SOT marker size 2007-08-08 09:41:16 +00:00
Francois-Olivier Devaux 5dec8bbbe9 2007-07-13 13:07:07 +00:00
Francois-Olivier Devaux 3d626da232 Fixed the generation of index files. Now works with cinema formats. 2007-06-15 13:27:43 +00:00
Francois-Olivier Devaux 1f55aaf4a6 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. 2007-05-23 16:04:50 +00:00
Francois-Olivier Devaux f3170bf64e Possibility to choose to apply MCT (multiple component transform) enabled, and new decoding_limit: DECODE_ALL_BUT_PACKETS 2007-05-10 14:13:30 +00:00
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
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
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 ed3aec55fd Copyright update 2007-01-15 09:55:40 +00:00
Francois-Olivier Devaux 2c03b73dff First integration of JPWL code 2006-12-04 14:59:33 +00:00
Antonin Descampe b565431251 added the ability to specify the rate as "float" (before : integer) 2006-10-31 17:10:14 +00:00
Freeimage 8f9f70f922 changed the name of j2k_realloc to opj_realloc 2006-01-18 20:10:23 +00:00
Antonin Descampe 95bc884365 OpenJPEG version 1.1 2005-12-08 09:38:47 +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 e398154212 small changes to remove warnings related to signedness 2005-11-08 16:15:40 +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 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
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 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
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 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 1bdb07cefe fprintf correctly redirected to stderr or stdout 2004-11-15 12:41:35 +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
Francois-Olivier Devaux c785c1b82b minor changes 2004-07-16 13:17:23 +00:00
Francois-Olivier Devaux 47dfe606bd Memory leaks at decoding fixed 2004-07-16 10:22:59 +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 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 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 1f7520c88b Update to version 0.9 : option -reduce added on decoder 2004-03-05 14:42:53 +00:00
Yannick Verschueren 4be829988a Update for version 0.8 2004-02-13 09:38:52 +00:00
Sebastien Lugan 2ad6a9770a Initial revision 2003-11-27 10:10:17 +00:00