summaryrefslogtreecommitdiff
path: root/src/lib
AgeCommit message (Collapse)Author
2016-05-23Better inlining of opj_t1_updateflagscolflags() w.r.t. flags_strideEven Rouault
2016-05-23opj_t1_dec_clnpass(): remove useless test in the runlen decoding path (of ↵Even Rouault
the non VSC case)
2016-05-23opj_t1_decode_cblks(): tiny perf increase when loop unrollingEven Rouault
2016-05-23Tier 1 decoding: add a colflags arrayEven Rouault
Addition flag array such that colflags[1+0] is for state of col=0,row=0..3, colflags[1+1] for col=1, row=0..3, colflags[1+flags_stride] for col=0,row=4..7, ... This array avoids too much cache trashing when processing by 4 vertical samples as done in the various decoding steps.
2016-05-22Const'ify lut arrays so they are in the read-only data sectionEven Rouault
2016-05-22Reduce number of occurrences of orient function argumentEven Rouault
This is essentially used to shift inside the lut_ctxno_zc, which we can precompute at the beginning of opj_t1_decode_cblk() / opj_t1_encode_cblk()
2016-05-21Specialize decoding passes for 64x64 code blocksEven Rouault
2016-05-21Improve code generation in opj_t1_dec_clnpass()Even Rouault
Add a opj_t1_dec_clnpass_step_only_if_flag_not_sig_visit() method that does the job of opj_t1_dec_clnpass_step_only() assuming the conditions are met. And use it in opj_t1_dec_clnpass(). The compiler generates more efficient code.
2016-05-21opj_t1_updateflags(): tiny optimizationEven Rouault
We can avoid using a loop-up table with some shift arithmetics.
2016-05-21Move some MQC functions into a header for speedKal Conley
Allow these hot functions to be inlined. This boosts decode performance by ~10%.
2016-05-10Update implementation of opj_calloc (#705)Stefan Weil
2016-05-10Add missing source for the JPIP library and executables (issue #658) (#659)Stefan Weil
They all need opj_malloc and other functions from opc_malloc.c. Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-05-08Fix Out-of-Bounds Access in function opj_tgt_resetmayeut
Fix uclouvain/openjpeg#775
2016-05-08Fix division by zeromayeut
Fix uclouvain/openjpeg#733
2016-05-02Use lowercase for cmake commands consistenlyJulien Malik
Inspired from https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/Maintenance/HowToCreateTheCMakeCaseConversion.txt This needs vim 7.3 and fails with vim 7.4 This also fixes a number of : - missing empty line at end of files - useless space at end of lines
2016-05-02Fix UBSan gcc warning for first arg to memset non nullJulien Malik
2016-04-30Merge pull request #706 from mayeut/issue135Antonin Descampe
Fix issue 135 The fix is legal regarding the standard but I did not manage to find out if it covers a bug in opj_t2_read_packet_data or if the file is corrupted
2016-04-30Fix some coverity warningsmayeut
2016-04-30Fix warnings (#763)Matthieu Darbois
2016-04-29cppcheck fix for openjp2 (#740)julienmalik
2016-04-28Check SSIZ is valid in opj_j2k_read_siz (#762)Matthieu Darbois
2016-04-28Fix unsigned int overflow reported by UBSan (#761)Matthieu Darbois
* Fix unsigned int overflow reported by UBSan Please add -DOPJ_UBSAN_BUILD to CFLAGS when building with -fsanitize=undefined,unsigned-integer-overflow It seems clang/gcc do not allow to disable checking for block of code other than function or file.
2016-04-28Fix implicit float-to-bool conversions (#752)julienmalik
2016-04-28Fix unsigned int overflow reported by UBSan (#759)Matthieu Darbois
2016-04-27Fix issue 135mayeut
dwt_interleave_h.gsr105.jp2 now has the same output as kakadu issue399 is corrupted. Only the corrupted part changes. Update known failures for x86 MD5 NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5 NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5 NR-DEC-issue135.j2k-68-decode-md5
2016-04-27Fix negative shift left reported by UBSan (#758)Matthieu Darbois
Follow-up of #757 This shall have no performance impact on 2’s complement machine where the compiler replaces the multiplication by power of two (constant) by a left shift. Verified at least on MacOS Xcode 7.3, same assembly generated after fix.
2016-04-26Remove whitespace and CR at line endings (#678)Stefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-26Fix negative shift left reported by UBSan (#757)Matthieu Darbois
This shall have no performance impact on 2’s complement machine where the compiler replaces the multiplication by power of two (constant) by a left shift. Verified at least on MacOS Xcode 7.3, same assembly generated after fix.
2016-04-23Do not define __attribute__ in opj_includes.h (#751)Matthieu Darbois
Fix #727
2016-04-18Merge pull request #708 from GrokImageCompression/issue_695Antonin Descampe
issue #695 MQ Encode: ensure that bp pointer never points to uninitialized memory
2016-04-09Fix uninitialized variable reported by cppcheckJulien Malik
Also reorder initialization to follow declaration order
2016-01-30suppress valgrind error - avoid accessing uninitialized memory in mq encoderAaron Boxer
2016-01-28issue #695 MQ Encode: ensure that bp pointer never points to uninitialized ↵Aaron Boxer
memory
2016-01-25fixed tile numberingAntonin Descampe
Fixes #245
2016-01-23Merge pull request #648 from stweil/allocAntonin Descampe
Fix support of posix_memalloc for Linux
2016-01-11Merge pull request #551 from mayeut/coc-qccMatthieu Darbois
Add COC/QCC in main header when needed
2016-01-09Add comment explaining bj is not use when l_data_size == 0Even Rouault
2016-01-08[git/2.1 regression] Fix opj_write_tile() failure when numresolutions=1Even Rouault
When trying the GDAL OpenJPEG driver against openjpeg current master HEAD, I get failures when trying to create .jp2 files. The driver uses opj_write_tile() and in some tests numresolutions = 1. In openjp2/dwt.c:410, l_data_size = opj_dwt_max_resolution( tilec->resolutions,tilec->numresolutions) * (OPJ_UINT32)sizeof(OPJ_INT32); is called and returns l_data_size = 0. Now in git opj_malloc() has a special case for 0 to return a NULL pointer whereas previously it relied on system malloc(), which in my case didn't return NULL. So only test the pointer value if l_data_size != 0. This makes the GDAL autotest suite to pass again.
2016-01-06Fix fatal crash on 64 bit LinuxStefan Weil
By default, OpenJPEG uses the function memalign to allocate aligned memory on Linux systems. That function needs malloc.h which was missing. This results in a compiler warning: openjpeg/src/lib/openjp2/opj_malloc.c:63:3: warning: implicit declaration of function ‘memalign’ [-Wimplicit-function-declaration] On hosts where sizeof(int) < sizeof(void *) the return value of memalign will be truncated which results in an invalid pointer. That caused "make test" to produce lots of segmentation faults when running on a 64 bit Linux host. Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06Fix whitespace issues in opj_malloc.cStefan Weil
Some lines ended with spaces. Remove them. Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06Fix support of posix_memalign for LinuxStefan Weil
posix_memalign is only declared conditionally in stdlib.h, so add one of the possible definitions to get the declaration. Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06Fix duplicate article in commentsStefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-12-31Fix grammar in commentStefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-11-27Fix typosJakub Wilk
2015-11-07Fix undefined size jp2 box handlingmayeut
Update #653
2015-11-01Fin compiler warningsmayeut
2015-10-29Fix typo in commentsStefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-10-21Merge branch 'master' into coc-qccmayeut
2015-10-21Avoid pointer arithmetic with (void *) pointers.Stephan Mühlstrasser
2015-10-21Generic aligned malloc implementation update.mayeut
Update #642