Francois-Olivier Devaux
010ae27471
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.
2007-11-14 10:52:02 +00:00
Francois-Olivier Devaux
24e189e4d8
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.
2007-11-14 08:45:00 +00:00
Francois-Olivier Devaux
dbeebe72b9
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.
2007-11-13 17:35:12 +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
a6ba04cdf4
Fixed issues with Reading and Writing TIF images in convert.c to avoid segmentation fault.
...
Fixed issues relating to using user specified rates for CINEMA option for multiple images.
2007-09-18 13:07:29 +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
Francois-Olivier Devaux
3816e0edf4
Indexes can now be generated when decoding J2K codestreams.
2007-09-07 15:01:55 +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
3810e943b1
Aligned malloc using Intel's _mm_malloc(), cleanup on the t1 memory allocation, getting rid of some leftover debug code
2007-08-21 12:13:54 +00:00
Francois-Olivier Devaux
00e440ebdb
Corrected allocation to take into account the EOC marker
2007-08-21 09:06:13 +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
ea9335ff48
Bugs corrected in decoding of command line (getopt.c), in the handling of 16 bit files (t1.c and tcd.c) and the calculation of elapsed time for multiple tiles parts (tcd.c and tdc.h).
2007-06-04 13:23:26 +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
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
ed3aec55fd
Copyright update
2007-01-15 09:55:40 +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
b565431251
added the ability to specify the rate as "float" (before : integer)
2006-10-31 17:10:14 +00:00
Mathieu Malaterre
0108506433
COMP: Fix warning about C++ comment
2006-02-19 21:12:20 +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
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
Antonin Descampe
72de930d08
fixed two initialization problems in t1.c and tcd.c
2006-01-27 16:29:41 +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
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
4458ef921c
minor change for readability
2005-11-09 10:20:28 +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
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
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
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
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
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
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
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
82eea41d24
Memory leaks fixed (line 1592: frees data of all components of current tile)
2004-07-16 09:14:31 +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
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
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