summaryrefslogtreecommitdiff
path: root/libopenjpeg/t1.c
AgeCommit message (Collapse)Author
2010-10-07The original v1.3 branch had:Mathieu Malaterre
((int*)tiledp)[(j * tile_w) + i] = tmp / 2; while v2 had: ((OPJ_INT32*)tiledp)[(j * tile_w) + i] = tmp >> 1; Divide by two and a right shift operation are only equivalent when the data is unsigned. In this case the data is signed, so the right shift operation is incorrectly clearing the sign bit. Patch from: Sheet Spotter
2008-07-31Deleting obsolete files and directories, adding v2-specific files and ↵Antonin Descampe
directories, updating existing files to v2. See README.v2 for more info
2007-11-14Patch by Callum Lerwick. The opj_tcd_cblk array is one of the largest ↵Francois-Olivier Devaux
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-14Patch by Callum Lerwick. This patch rearranges the largest memory ↵Francois-Olivier Devaux
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-13Patch by Dzonatas and Callum Lerwick. Fp/vectorization patch which ↵Francois-Olivier Devaux
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-08In t1.c, small change to avoid calling twice t1_getwmsedec()Francois-Olivier Devaux
Patch from Callum Lewick. Basic gcc optimization flags in cmake and makefile match.
2007-10-18Patch from Callum Lewick. Memset patch. See ChangeLog for more details. ↵Francois-Olivier Devaux
Thanks Callum !
2007-09-07Indexes can now be generated when decoding J2K codestreams.Francois-Olivier Devaux
2007-08-21Use <xmmintrin.h> for WIN32, else use <mm_malloc.h> Francois-Olivier Devaux
2007-08-21Moved the orient flipping into the ctxno_zc table.Francois-Olivier Devaux
Thanks to Callum Lerwick who provided all these great patches !
2007-08-21Replaced the large ctxno_mag lookup table with a small bit of inline-able ↵Francois-Olivier Devaux
branchless code
2007-08-21Consolidated some calls to mqc_setcurctx. Cleaned up t1_generate_luts to ↵Francois-Olivier Devaux
output the proper types.
2007-08-21Reworks of t1_updateflags to get rid of the shift operation. mqc_setcurctx ↵Francois-Olivier Devaux
moved to the header to allow it to be inlined into the t1.
2007-08-21Aligned malloc using Intel's _mm_malloc(), cleanup on the t1 memory ↵Francois-Olivier Devaux
allocation, getting rid of some leftover debug code
2007-06-04Bugs corrected in decoding of command line (getopt.c), in the handling of 16 ↵Francois-Olivier Devaux
bit files (t1.c and tcd.c) and the calculation of elapsed time for multiple tiles parts (tcd.c and tdc.h).
2007-05-22Patch suggested by Callum Lerwick <seg@haxxed.com>: "This makes the t1 data ↵Francois-Olivier Devaux
arrays dynamic, which greatly reduces cache thrashing. Also, some minor cleanup to prevent unnecessary casts"
2007-05-21Patch suggested by Callum Lerwick <seg@haxxed.com>: "Some formatting ↵Francois-Olivier Devaux
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."
2007-05-21Patch suggested by Callum Lerwick <seg@haxxed.com>: "This changes the flag ↵Francois-Olivier Devaux
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."
2007-05-21Patch suggested by Callum Lerwick <seg@haxxed.com>: "This patch makes the t1 ↵Francois-Olivier Devaux
LUTs static. I actually intend this as a prelude to possibly eliminating some or all of the LUTs entirely."
2007-04-05fix.h, dwt.c and t1.c optimized. Thanks a lot to Dzonatas <dzonatas at ↵Francois-Olivier Devaux
dzonux.net> and Callum Lerwick <seg at haxxed.com> for these great patches !
2007-03-28Fixed an historical bug in t1.c that leaded to the inclusion of useless 0xFF ↵Francois-Olivier Devaux
in the codestream. Thanks to Sylvain, Pascal and Parvatha !
2007-03-21Fixed j2k_prog_order_list[]. Modifications in j2k.c.Parvatha Elangovan
Fixed t1_decode_cblks. Modifications in t1.c.
2007-02-21Algorithmic optimizations in t1.c, thanks to Guido J. !Francois-Olivier Devaux
2007-01-15Copyright updateFrancois-Olivier Devaux
2006-03-19fixed a bug in t1.c that prevented in some cases a true lossless compression ↵Antonin Descampe
(thanks to Don Mimlitch for reporting this bug)
2006-01-27fixed two initialization problems in t1.c and tcd.cAntonin Descampe
2005-12-08fixed a bug in t1_getwmsedec (stepsize was divided by 8192)Antonin Descampe
2005-12-08OpenJPEG version 1.1Antonin Descampe
2005-12-02openjpeg version 1.0 (previous version still available with tag opj0-97)Antonin Descampe
2005-11-04small change to avoid signed/unsigned warning during compilationAntonin Descampe
2005-11-01Changes proposed by Mathieu Malaterre from the GDCM project... Thanks a lot ↵Antonin Descampe
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-10-271) quantization stepsizes stored as float instead of shifted integers -> ↵Antonin Descampe
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-06-02At lines 577, 692 and 699, zeroing of effective region of code-block rather ↵Francois-Olivier Devaux
than the 1024*1024 allocated integers of code-block. This optimization has been proposed by Dmitry Kolyadin. Thanks for your help !
2005-05-24Code optimization: t1_flags and t1_data set to zero with memsetFrancois-Olivier Devaux
2004-11-15fprintf correctly redirected to stderr or stdoutFrancois-Olivier Devaux
2004-07-16Minor changes for RESET modeAntonin Descampe
2004-07-13* Quantization bug fixed when using 9x7 DWT (comment keyword : quantizbug1)Antonin Descampe
* Multiplication bug fixed when dividing by 8192 (comment keyword : multbug1)
2004-05-07* Fixed_quality option added : specifying -q psnr1,psnr2,psnr3,... at the ↵Antonin Descampe
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-04-29 Reformatage : indent -kr -i2 -ci2 $(find . -name '*.c') $(find . -name '*.h')Sebastien Lugan
2004-04-29 Reformatage : indent -kr $(find . -name '*.c') $(find . -name '*.h')Sebastien Lugan
2004-02-13 Update for version 0.8Yannick Verschueren
2003-11-27Initial revisionSebastien Lugan