summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-06-21dwt.c: implement SSE2 idwt5x3 horizontal when len is multiple of 8. Speed ↵opj_idwt53_h_cas0_SSE2Even Rouault
gain is very marginal however
2017-06-21dwt.c: small cleanupEven Rouault
2017-06-20Enable __SSE__ / __SSE2__ with Visual StudioEven Rouault
2017-06-20Improve performance of inverse DWT 5x3 (#953)Even Rouault
* Use single-pass lifting inverse wavelet transform. * For vertical pass, use SSE2 when available so as to process 8 columns in parallel. This is the most beneficial improvement, since the vertical pass involves a lot of cache trashing. With the bench_dwt utility with default arguments (16383x16383 image), time goes from 4.064 s to 1.212 s.
2017-06-20Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)Even Rouault
2017-06-17Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)Even Rouault
Commit 29313eb5 introduced those flags to avoid issues with -fsanitize=unsigned-integer-overflow However it is better just to rewrite the loop to avoid such condition to occur.
2017-06-17Fix astyle issueEven Rouault
2017-06-17Fix warning about unused argumentsEven Rouault
2017-06-17Fix warnings with recent GCC versionsEven Rouault
2017-06-14Merge pull request #928 from RussellMcOrmond/masterAntonin Descampe
Quiet mode for opj_decompress via -quiet long parameter.
2017-06-13Merge branch 't1_flag_optimizations'Even Rouault
2017-06-12Packet header writing: set empty packet header bit to 0 when appropriate ↵fix_bypass_pterm_termall_and_lossless_decomposition_issueEven Rouault
(small optimization)
2017-06-12Encoder: fix packet writing of empty sub-bands (#891, #892)Even Rouault
There are situations where, given a tile size, at a resolution level, there are sub-bands with x0==x1 or y0==y1, that consequently don't have any valid codeblocks, but the other sub-bands may be non-empty. Given that we recycle the memory from one tile to another one, those ghost codeblocks might be non-0 and thus candidate for packet inclusion.
2017-06-09T1: fix BYPASS/LAZY, TERMALL/RESTART and PTERM/ERTERM encoding modes. (#674)fix_bypass_pterm_termallEven Rouault
There were a number of defects regarding when and how the termination of passes had to done and the computation of their rate.
2017-06-02opj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methodsEven Rouault
2017-06-02MQC/RAW decoder: use an artificial 0xFF 0xFF terminating marker.Even Rouault
This saves comparing the current pointer with the end of buffer pointer. This results at least in tiny speed improvement for raw decoding, and smaller code size for MQC as well. This kills the remains of the raw.h/.c files that were only used for decoding. Encoding using the mqc structure already.
2017-06-02Fix documentation of opj_t1_decode_cblks()Even Rouault
2017-06-02Simplify VSC handling: instead of masking out bits when reading the 4th row.Even Rouault
Do not set them when updating flags of the 1st row
2017-06-02Force inlining of mqc decoding and pass steps through heavy use of macros, ↵Even Rouault
so as to get better register allocation
2017-06-02t1_generate_luts.c: fix compiler warningsEven Rouault
2017-06-02Optimize opj_t1_update_flags()Even Rouault
2017-06-02T1: remove use of neghalf variable. It is useless since bpno is always > 0Even Rouault
2017-06-02T1: avoid pointer indirection for mqc and raw members of opj_t1_tEven Rouault
2017-06-02T1: remove flags_stride variable from opj_t1_tEven Rouault
2017-06-02Inline opj_raw_decode()Even Rouault
2017-06-02T1: loop unrolling in dec_sigpass_raw and dec_refpass_rawEven Rouault
2017-06-02T1: Transpose coder optimizations to decoder, and cleanup codeEven Rouault
2017-05-23Fix compiler warningsEven Rouault
2017-05-23Factor index computation for lut_enc_ctxno_sc and lut_enc_spbEven Rouault
2017-05-23Optimize a bit opj_t1_enc_clnpass()Even Rouault
2017-05-23T1: remove unused code in decoderEven Rouault
2017-05-23T1: fix VSC mode in encoderEven Rouault
2017-05-23T1: use more compact flags to optimize cache usage in encoder passes. (#172)Even Rouault
Ported from Carl Hetherington work (actually through Matthieu Darbois's port on top of OpenJPEG 2.1.0) Can reduce total encoding time by 10-15% WARNING: VSC mode is not implemented, and so is a temporary regression that must be fixed.
2017-05-23CMake: add stronger warnings for openjp2 lib/bin by default, and error out ↵Even Rouault
on declaration-after-statement And remove occurences of unused arguments in src/lib/openjp2
2017-05-23t1.c: fix compiler warningsEven Rouault
2017-05-16Fixed formatting issues ASTYLERussell McOrmond
2017-05-15Quiet mode for opj_decompress via -quiet long parameter.Russell McOrmond
2017-05-15MQC: remove disabled MQC_PERF_OPT mode, which brings no performance ↵Even Rouault
improvements (see #923)
2017-05-15Add comments about non successfull attempt of implementing alternate ↵Even Rouault
INITDEC, DECODE and BYTEIN procedures (refs #921)
2017-05-15Reformat: apply reformattin on .h files (#128)Even Rouault
2017-05-09Reformat whole codebase with astyle.options (#128)Even Rouault
2017-02-13Remove warnings related to empty tag-trees.Even Rouault
Decoding some valid .jp2 files like Sentinel2 datasets leads to warnings like: No incltree created. tgt_create tree->numnodes == 0, no tree created. No imsbtree created. tgt_create tree->numnodes == 0, no tree created. Besides that, the image is correctly decoded. So there is no reason to emit those warnings.
2016-09-26OPENJPEG_NAMESPACE is configurable by userMathieu Malaterre
2016-09-26Remove typos from comments and man pagesMathieu Malaterre
2016-09-22Fix PNM file reading (#847)Matthieu Darbois
Malformed PNM file could cause a crash in opj_compress. Checks were added to prevent this. Fixes #843 Updates #440
2016-09-21Fix some issues reported by Coverity Scan (#846)Stefan Weil
* test_tile_decoder: Fix potential buffer overflow (coverity) CID 1190155 (#1 of 1): Unbounded source buffer (STRING_SIZE) Using a pointer instead of buffer of fixed size avoids the limit for the length of the input file name. Signed-off-by: Stefan Weil <sw@weilnetz.de> * test_tile_encoder: Fix potential buffer overflow (coverity) CID 1190154 (#1 of 1): Unbounded source buffer (STRING_SIZE) Using a pointer instead of buffer of fixed size avoids the limit for the length of the output file name. This implies that the length can exceed 255, so the data type for variable len had to be fixed, too. Signed-off-by: Stefan Weil <sw@weilnetz.de> * openjpip: Initialize data before returning it This fixes an error reported by Coverity: CID 1190143 (#1 of 1): Uninitialized scalar variable (UNINIT) Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-09-21Fix potential out-of-bounds read (coverity) (#844)Stefan Weil
* query_parser: Fix potential out-of-bounds read (coverity) CID 1190207 (#1 of 1): Out-of-bounds read (OVERRUN) Variable i must be checked before testing query_param.box_type. Signed-off-by: Stefan Weil <sw@weilnetz.de> * jpip_parser: Fix potential out-of-bounds read (coverity) CID 1190206 (#1 of 1): Out-of-bounds read (OVERRUN) Variable i must be checked before testing query_param.box_type. Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-09-20Merge pull request #834 from trylab/issue833Antonin Descampe
Fix issue 833.
2016-09-20Disable automatic compilation of t1_generate_lutsAntonin Descampe
Fix #831
2016-09-16renamed USE_THREAD to OPJ_USE_THREADAntonin Descampe
renaming to be consistent with previous OPJ CMake options