summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-05-25Use thread-pool for T1 decodingEven Rouault
2016-05-25Add opj_codec_set_threads() in public API and propagate resulting thread ↵Even Rouault
pool to tcd level By default, only the main thread is used. If opj_codec_set_threads() is not used, but the OPJ_NUM_THREADS environment variable is set, its value will be used to initialize the number of threads. The value can be either an integer number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called, this function will override the behaviour of the environment variable.
2016-05-25Add threading and thread pool APIEven Rouault
2016-05-23Fix MSVC210 build issue (use of C99 declaration after statement) introduced ↵Even Rouault
in ba1edf6cd41415594729bc90ad3b0008af48251e
2016-05-23Improve perf of opj_t1_dec_sigpass_mqc_vsc() and ↵Even Rouault
opj_t1_dec_refpass_mqc_vsc() with loop unrolling
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 Heap Buffer Overflow in function color_cmyk_to_rgbmayeut
Fix uclouvain/openjpeg#774
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 bad call to fclose with NULL pointermayeut
2016-04-30Fix warnings (#763)Matthieu Darbois
2016-04-30Fix Out-Of-Bounds Read in sycc42x_to_rgb function (#745)Matthieu Darbois
42x Images with an odd x0/y0 lead to subsampled component starting at the 2nd column/line. That is offset = comp->dx * comp->x0 - image->x0 = 1 Fix #726
2016-04-29Fix heap-buffer-overflow in color_esycc_to_rgb (#748)Matthieu Darbois
When all components do not have the same dx/dy, components buffer are read beyond their end. Do not convert in this case. Update uclouvain/openjpeg#725
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-23Allow to write 3/5/7/9/11/13/15 bpp TIF filesmayeut
Update uclouvain/openjpeg#729
2016-04-23Allow to read 3/5/7/9/11/13/15 bpp TIF filesmayeut
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-12Merge pull request #734 from senbox-org/opj_dump_dead_codeAntonin Descampe
Remove dead code in opj_dump
2016-04-09Fix uninitialized variable reported by cppcheckJulien Malik
Also reorder initialization to follow declaration order
2016-04-09Remove dead code in opj_dumpJulien Malik
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