openjpeg.git
6 years agoinstall static libraries 969/head
Jeroen [Thu, 13 Jul 2017 09:34:15 +0000 (11:34 +0200)]
install static libraries

6 years agoComment fix
Even Rouault [Thu, 6 Jul 2017 10:11:37 +0000 (12:11 +0200)]
Comment fix

6 years agoRemove unused m_DA_x0, m_DA_y0, m_DA_x1, m_DA_y1 members from opj_j2k_dec structure
Even Rouault [Wed, 5 Jul 2017 19:33:42 +0000 (21:33 +0200)]
Remove unused m_DA_x0, m_DA_y0, m_DA_x1, m_DA_y1 members from opj_j2k_dec structure

6 years agoAdd tests/fuzzers for OSS Fuzz (#965)
Even Rouault [Mon, 3 Jul 2017 12:14:03 +0000 (14:14 +0200)]
Add tests/fuzzers for OSS Fuzz (#965)

6 years agoopj_j2k_read_header_procedure(): validate marker size to avoid excessive memory alloc...
Even Rouault [Mon, 3 Jul 2017 12:33:57 +0000 (14:33 +0200)]
opj_j2k_read_header_procedure(): validate marker size to avoid excessive memory allocation attempt

6 years agoMerge pull request #954 from jeroen/static
Even Rouault [Mon, 3 Jul 2017 10:03:29 +0000 (12:03 +0200)]
Merge pull request #954 from jeroen/static

build both shared and static library

6 years agoMerge pull request #964 from rouault/remove_useless_knownfailures
Even Rouault [Sat, 1 Jul 2017 11:51:52 +0000 (13:51 +0200)]
Merge pull request #964 from rouault/remove_useless_knownfailures

Remove useless knownfailures (since LAZY encoding is fixed)

6 years agoMerge pull request #963 from rouault/travis_avx2
Even Rouault [Sat, 1 Jul 2017 10:54:39 +0000 (12:54 +0200)]
Merge pull request #963 from rouault/travis_avx2

Enable AVX2 at runtime on Travis-CI and AppVeyor

6 years agoAdd tools/travis-ci/knownfailures-Ubuntu14.04-clang3.8.0-x86_64-Release-3rdP.txt... 963/head
Even Rouault [Sat, 1 Jul 2017 02:15:36 +0000 (04:15 +0200)]
Add tools/travis-ci/knownfailures-Ubuntu14.04-clang3.8.0-x86_64-Release-3rdP.txt (copied from knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Release-3rdP.txt)

6 years agoappveyor.yml: add a /arch:AVX2 config on Windows
Even Rouault [Sat, 1 Jul 2017 00:53:55 +0000 (02:53 +0200)]
appveyor.yml: add a /arch:AVX2 config on Windows

Try running the tests if the CPU supports AVX2.

6 years agoRemove useless knownfailures (since LAZY encoding is fixed) 964/head
Even Rouault [Sat, 1 Jul 2017 02:24:46 +0000 (04:24 +0200)]
Remove useless knownfailures (since LAZY encoding is fixed)

6 years ago.travis.yml: try to run tests in -mavx2 mode if the CPU supports it
Even Rouault [Fri, 30 Jun 2017 23:46:55 +0000 (01:46 +0200)]
.travis.yml: try to run tests in -mavx2 mode if the CPU supports it

And modify settings so as to hae a AVX2 compatible CPU

6 years agoIDWT 5x3: fix bug in AVX2 implementation (#953, #957)
Even Rouault [Thu, 29 Jun 2017 22:03:05 +0000 (00:03 +0200)]
IDWT 5x3: fix bug in AVX2 implementation (#953, #957)

6 years agoINSTALL.md: add section discussing how to enable CPU specific optimizations
Even Rouault [Mon, 26 Jun 2017 11:13:26 +0000 (13:13 +0200)]
INSTALL.md: add section discussing how to enable CPU specific optimizations

6 years agoMerge pull request #957 from rouault/idwt_53_improvements
Even Rouault [Mon, 26 Jun 2017 10:45:34 +0000 (12:45 +0200)]
Merge pull request #957 from rouault/idwt_53_improvements

IDWT 5x3 single-pass lifting and SSE2/AVX2 implementation

6 years agoStyle fix
Even Rouault [Wed, 21 Jun 2017 11:20:35 +0000 (13:20 +0200)]
Style fix

6 years agoFix mingw related warnings
Even Rouault [Wed, 21 Jun 2017 10:54:40 +0000 (12:54 +0200)]
Fix mingw related warnings

6 years agoFix clang warning about extraneous parentheses
Even Rouault [Wed, 21 Jun 2017 10:49:01 +0000 (12:49 +0200)]
Fix clang warning about extraneous parentheses

6 years ago.travis.yml: add a configuration to test compilation of AVX2 (but disable tests since... 957/head
Even Rouault [Wed, 21 Jun 2017 10:28:51 +0000 (12:28 +0200)]
.travis.yml: add a configuration to test compilation of AVX2 (but disable tests since Travis doesn't have AVX2 compatible machines)

6 years agoIDWT 5x3: generalize SSE2 version for AVX2
Even Rouault [Wed, 21 Jun 2017 10:12:58 +0000 (12:12 +0200)]
IDWT 5x3: generalize SSE2 version for AVX2

Thanks to our macros that abstract SSE use, the functions can use
AVX2 when available (at compile time)

This brings an extra 23% speed improvement on bench_dwt in 64bit builds
with AVX2 compared to SSE2.

6 years agodwt.c: small cleanup
Even Rouault [Tue, 20 Jun 2017 23:07:56 +0000 (01:07 +0200)]
dwt.c: small cleanup

6 years agoEnable __SSE__ / __SSE2__ with Visual Studio
Even Rouault [Tue, 20 Jun 2017 16:24:21 +0000 (18:24 +0200)]
Enable __SSE__ / __SSE2__ with Visual Studio

6 years agoImprove performance of inverse DWT 5x3 (#953)
Even Rouault [Tue, 20 Jun 2017 15:56:25 +0000 (17:56 +0200)]
Improve performance of inverse DWT 5x3 (#953)

* 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.

6 years agoAdd bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)
Even Rouault [Tue, 20 Jun 2017 15:56:19 +0000 (17:56 +0200)]
Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)

6 years agoMerge pull request #955 from rouault/remove_opj_nosanitize
Even Rouault [Sat, 17 Jun 2017 22:49:20 +0000 (00:49 +0200)]
Merge pull request #955 from rouault/remove_opj_nosanitize

Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)

6 years agoRemove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761) 955/head
Even Rouault [Sat, 17 Jun 2017 17:15:00 +0000 (19:15 +0200)]
Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)

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.

6 years agoFix astyle issue
Even Rouault [Sat, 17 Jun 2017 14:37:56 +0000 (16:37 +0200)]
Fix astyle issue

6 years agoFix warning about unused arguments
Even Rouault [Sat, 17 Jun 2017 12:10:15 +0000 (14:10 +0200)]
Fix warning about unused arguments

6 years agoFix warnings with recent GCC versions
Even Rouault [Sat, 17 Jun 2017 12:09:31 +0000 (14:09 +0200)]
Fix warnings with recent GCC versions

6 years agoonly build both static and dynamic on non-windows 954/head
Jeroen Ooms [Fri, 16 Jun 2017 11:58:25 +0000 (13:58 +0200)]
only build both static and dynamic on non-windows

6 years agobuild both shared and static library
Jeroen Ooms [Fri, 16 Jun 2017 11:27:19 +0000 (13:27 +0200)]
build both shared and static library

6 years agoMerge pull request #928 from RussellMcOrmond/master
Antonin Descampe [Wed, 14 Jun 2017 15:23:06 +0000 (17:23 +0200)]
Merge pull request #928 from RussellMcOrmond/master

Quiet mode for opj_decompress via -quiet long parameter.

6 years agoMerge branch 't1_flag_optimizations'
Even Rouault [Tue, 13 Jun 2017 10:09:52 +0000 (12:09 +0200)]
Merge branch 't1_flag_optimizations'

6 years agoPacket header writing: set empty packet header bit to 0 when appropriate (small optim... fix_bypass_pterm_termall_and_lossless_decomposition_issue 949/head
Even Rouault [Mon, 12 Jun 2017 16:15:23 +0000 (17:15 +0100)]
Packet header writing: set empty packet header bit to 0 when appropriate (small optimization)

6 years agoEncoder: fix packet writing of empty sub-bands (#891, #892)
Even Rouault [Mon, 12 Jun 2017 10:23:55 +0000 (11:23 +0100)]
Encoder: fix packet writing of empty sub-bands (#891, #892)

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.

6 years agoT1: fix BYPASS/LAZY, TERMALL/RESTART and PTERM/ERTERM encoding modes. (#674) fix_bypass_pterm_termall 947/head
Even Rouault [Fri, 9 Jun 2017 08:47:13 +0000 (10:47 +0200)]
T1: fix BYPASS/LAZY, TERMALL/RESTART and PTERM/ERTERM encoding modes. (#674)

There were a number of defects regarding when and how the termination of
passes had to done and the computation of their rate.

6 years agoopj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methods 945/head
Even Rouault [Fri, 2 Jun 2017 17:22:15 +0000 (19:22 +0200)]
opj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methods

6 years agoMQC/RAW decoder: use an artificial 0xFF 0xFF terminating marker.
Even Rouault [Fri, 2 Jun 2017 14:49:26 +0000 (16:49 +0200)]
MQC/RAW decoder: use an artificial 0xFF 0xFF terminating marker.

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.

6 years agoFix documentation of opj_t1_decode_cblks()
Even Rouault [Fri, 2 Jun 2017 12:32:12 +0000 (14:32 +0200)]
Fix documentation of opj_t1_decode_cblks()

6 years agoSimplify VSC handling: instead of masking out bits when reading the 4th row.
Even Rouault [Fri, 2 Jun 2017 12:25:57 +0000 (14:25 +0200)]
Simplify VSC handling: instead of masking out bits when reading the 4th row.

Do not set them when updating flags of the 1st row

6 years agoForce inlining of mqc decoding and pass steps through heavy use of macros, so as...
Even Rouault [Fri, 2 Jun 2017 09:52:16 +0000 (11:52 +0200)]
Force inlining of mqc decoding and pass steps through heavy use of macros, so as to get better register allocation

6 years agot1_generate_luts.c: fix compiler warnings
Even Rouault [Fri, 2 Jun 2017 07:36:25 +0000 (09:36 +0200)]
t1_generate_luts.c: fix compiler warnings

6 years agoOptimize opj_t1_update_flags()
Even Rouault [Thu, 1 Jun 2017 17:42:03 +0000 (19:42 +0200)]
Optimize opj_t1_update_flags()

6 years agoT1: remove use of neghalf variable. It is useless since bpno is always > 0
Even Rouault [Thu, 1 Jun 2017 15:02:50 +0000 (17:02 +0200)]
T1: remove use of neghalf variable. It is useless since bpno is always > 0

6 years agoT1: avoid pointer indirection for mqc and raw members of opj_t1_t
Even Rouault [Thu, 1 Jun 2017 09:15:25 +0000 (11:15 +0200)]
T1: avoid pointer indirection for mqc and raw members of opj_t1_t

6 years agoT1: remove flags_stride variable from opj_t1_t
Even Rouault [Thu, 1 Jun 2017 08:23:30 +0000 (10:23 +0200)]
T1: remove flags_stride variable from opj_t1_t

6 years agoInline opj_raw_decode()
Even Rouault [Wed, 31 May 2017 17:45:03 +0000 (19:45 +0200)]
Inline opj_raw_decode()

6 years agoT1: loop unrolling in dec_sigpass_raw and dec_refpass_raw
Even Rouault [Wed, 31 May 2017 15:15:27 +0000 (17:15 +0200)]
T1: loop unrolling in dec_sigpass_raw and dec_refpass_raw

6 years agoT1: Transpose coder optimizations to decoder, and cleanup code
Even Rouault [Wed, 31 May 2017 12:35:56 +0000 (14:35 +0200)]
T1: Transpose coder optimizations to decoder, and cleanup code

6 years agoFix compiler warnings
Even Rouault [Tue, 23 May 2017 12:55:45 +0000 (14:55 +0200)]
Fix compiler warnings

6 years agoFactor index computation for lut_enc_ctxno_sc and lut_enc_spb
Even Rouault [Tue, 23 May 2017 11:02:24 +0000 (13:02 +0200)]
Factor index computation for lut_enc_ctxno_sc and lut_enc_spb

6 years agoOptimize a bit opj_t1_enc_clnpass()
Even Rouault [Mon, 22 May 2017 22:40:30 +0000 (00:40 +0200)]
Optimize a bit opj_t1_enc_clnpass()

6 years agoT1: remove unused code in decoder
Even Rouault [Mon, 22 May 2017 21:30:30 +0000 (23:30 +0200)]
T1: remove unused code in decoder

6 years agoT1: fix VSC mode in encoder
Even Rouault [Mon, 22 May 2017 16:42:46 +0000 (18:42 +0200)]
T1: fix VSC mode in encoder

6 years agoT1: use more compact flags to optimize cache usage in encoder passes. (#172)
Even Rouault [Sat, 20 May 2017 12:05:07 +0000 (14:05 +0200)]
T1: use more compact flags to optimize cache usage in encoder passes. (#172)

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.

6 years agoMerge pull request #936 from rouault/master_warnings
Even Rouault [Tue, 23 May 2017 14:15:55 +0000 (16:15 +0200)]
Merge pull request #936 from rouault/master_warnings

CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement

6 years agoCMake: add stronger warnings for openjp2 lib/bin by default, and error out on declara... 936/head
Even Rouault [Tue, 23 May 2017 13:12:19 +0000 (15:12 +0200)]
CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement

And remove occurences of unused arguments in src/lib/openjp2

6 years agoMerge pull request #935 from rouault/add_compress_vsc_test
Even Rouault [Tue, 23 May 2017 12:49:38 +0000 (14:49 +0200)]
Merge pull request #935 from rouault/add_compress_vsc_test

Tests: test opj_compress in VSC mode (related to #172)

6 years agoTests: test opj_compress in VSC mode (related to #172) 935/head
Even Rouault [Tue, 23 May 2017 11:46:04 +0000 (13:46 +0200)]
Tests: test opj_compress in VSC mode (related to #172)

6 years agot1.c: fix compiler warnings
Even Rouault [Tue, 23 May 2017 11:54:28 +0000 (13:54 +0200)]
t1.c: fix compiler warnings

6 years agoFixed formatting issues ASTYLE 928/head
Russell McOrmond [Tue, 16 May 2017 13:31:07 +0000 (09:31 -0400)]
Fixed formatting issues ASTYLE

6 years agoQuiet mode for opj_decompress via -quiet long parameter.
Russell McOrmond [Mon, 15 May 2017 18:39:54 +0000 (14:39 -0400)]
Quiet mode for opj_decompress via -quiet long parameter.

6 years agoMQC: remove disabled MQC_PERF_OPT mode, which brings no performance improvements...
Even Rouault [Mon, 15 May 2017 12:11:47 +0000 (14:11 +0200)]
MQC: remove disabled MQC_PERF_OPT mode, which brings no performance improvements (see #923)

6 years agoAdd comments about non successfull attempt of implementing alternate INITDEC, DECODE...
Even Rouault [Mon, 15 May 2017 12:09:51 +0000 (14:09 +0200)]
Add comments about non successfull attempt of implementing alternate INITDEC, DECODE and BYTEIN procedures (refs #921)

6 years agoMerge pull request #926 from rouault/reformat_h_files
Even Rouault [Mon, 15 May 2017 11:08:03 +0000 (13:08 +0200)]
Merge pull request #926 from rouault/reformat_h_files

Reformat: apply reformattin on .h files (#128)

6 years agoReformat: apply reformattin on .h files (#128) 926/head
Even Rouault [Mon, 15 May 2017 10:21:30 +0000 (12:21 +0200)]
Reformat: apply reformattin on .h files (#128)

6 years agoMerge pull request #919 from rouault/reformat
Even Rouault [Mon, 15 May 2017 10:09:45 +0000 (12:09 +0200)]
Merge pull request #919 from rouault/reformat

Add mechanisms to reformat and check code style, and reformat whole codebase (#128)

6 years agoperf_test.py: implement -i option
Even Rouault [Thu, 11 May 2017 18:18:42 +0000 (20:18 +0200)]
perf_test.py: implement -i option

6 years agoastyle.options: use non deprecated option name 919/head
Even Rouault [Thu, 11 May 2017 09:21:37 +0000 (11:21 +0200)]
astyle.options: use non deprecated option name

6 years agoReformat whole codebase with astyle.options (#128)
Even Rouault [Tue, 9 May 2017 13:44:46 +0000 (15:44 +0200)]
Reformat whole codebase with astyle.options (#128)

6 years agoAdd mechanisms to reformant and check code style (#128)
Even Rouault [Tue, 9 May 2017 13:28:09 +0000 (15:28 +0200)]
Add mechanisms to reformant and check code style (#128)

Use an internal version of astyle (astyle 3.0). Scripts taken from QGIS.
astyle.options from https://github.com/uclouvain/openjpeg/issues/128

scripts/prepare-commit.sh can be used locally to automatically reformat
edited files.

Travis-CI will run scripts/verify-indentation.sh to verify committed files.

6 years agoMerge pull request #918 from rouault/profile
Even Rouault [Tue, 9 May 2017 11:16:53 +0000 (13:16 +0200)]
Merge pull request #918 from rouault/profile

Add profiling of CPU and memory usage (#912)

6 years agoAdd profiling of CPU and memory usage (#912) 918/head
Even Rouault [Sat, 6 May 2017 13:06:24 +0000 (15:06 +0200)]
Add profiling of CPU and memory usage (#912)

6 years agoMerge pull request #917 from rouault/bench
Even Rouault [Tue, 9 May 2017 10:33:07 +0000 (12:33 +0200)]
Merge pull request #917 from rouault/bench

Add performance benchmarking scripts

6 years agoAdd performance benchmarking scripts 917/head
Even Rouault [Thu, 4 May 2017 13:22:14 +0000 (15:22 +0200)]
Add performance benchmarking scripts

And run them by Travis-CI

7 years agoMerge pull request #915 from rouault/appveyor_fix_attempt
Even Rouault [Wed, 3 May 2017 10:41:02 +0000 (12:41 +0200)]
Merge pull request #915 from rouault/appveyor_fix_attempt

Fix retrieval of jpylyzer in AppVeyor

7 years agoFix retrieval of jpylyzer in AppVeyor 915/head
Even Rouault [Wed, 3 May 2017 10:03:00 +0000 (12:03 +0200)]
Fix retrieval of jpylyzer in AppVeyor

7 years agoMerge pull request #893 from rouault/remove_tagtree_warnings
Even Rouault [Wed, 3 May 2017 09:48:02 +0000 (11:48 +0200)]
Merge pull request #893 from rouault/remove_tagtree_warnings

Remove warnings related to empty tag-trees.

7 years agoMerge pull request #899 from jwilk/man-warnings
Even Rouault [Wed, 3 May 2017 09:46:45 +0000 (11:46 +0200)]
Merge pull request #899 from jwilk/man-warnings

Remove spurious .R macros from manpages

7 years agoMerge pull request #914 from alexwlchan/fix-readme
Even Rouault [Wed, 3 May 2017 09:46:01 +0000 (11:46 +0200)]
Merge pull request #914 from alexwlchan/fix-readme

Escape quotes to ensure README renders on GitHub correctly

7 years agoEscape quotes to ensure README renders on GitHub correctly 914/head
Alex Chan [Fri, 28 Apr 2017 08:43:05 +0000 (09:43 +0100)]
Escape quotes to ensure README renders on GitHub correctly

7 years agoRemove spurious .R macros from manpages 899/head
Jakub Wilk [Sun, 5 Mar 2017 15:08:57 +0000 (16:08 +0100)]
Remove spurious .R macros from manpages

Fixes the following warnings from man:

    `R' is a string (producing the registered sign), not a macro.

7 years agoFixed CRLF auto conversion issue in openjpeg-data #655
Antonin Descampe [Fri, 3 Mar 2017 22:23:39 +0000 (23:23 +0100)]
Fixed CRLF auto conversion issue in openjpeg-data #655

7 years agoRemove warnings related to empty tag-trees. 893/head
Even Rouault [Mon, 13 Feb 2017 11:36:45 +0000 (12:36 +0100)]
Remove warnings related to empty tag-trees.

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.

7 years agoUpdate THANKS.md
Antonin Descampe [Mon, 3 Oct 2016 21:47:10 +0000 (23:47 +0200)]
Update THANKS.md

7 years agoUpdate CHANGELOG.md
Antonin Descampe [Mon, 3 Oct 2016 21:45:44 +0000 (23:45 +0200)]
Update CHANGELOG.md

7 years agofix abi-check and limit upload to website for master
Antonin Descampe [Thu, 29 Sep 2016 20:06:23 +0000 (22:06 +0200)]
fix abi-check and limit upload to website for master

7 years agofix abi-check
Antonin Descampe [Thu, 29 Sep 2016 19:44:38 +0000 (21:44 +0200)]
fix abi-check

7 years agofix abi-check
Antonin Descampe [Thu, 29 Sep 2016 18:23:01 +0000 (20:23 +0200)]
fix abi-check

7 years agoUpdate abi-check scripts for v2.1.2
Antonin Descampe [Wed, 28 Sep 2016 18:33:31 +0000 (20:33 +0200)]
Update abi-check scripts for v2.1.2

7 years agoUpdate NEWS.md for v2.1.2
Antonin Descampe [Wed, 28 Sep 2016 18:15:53 +0000 (20:15 +0200)]
Update NEWS.md for v2.1.2

7 years agoUpdate Changelog for v2.1.2
Antonin Descampe [Wed, 28 Sep 2016 18:14:06 +0000 (20:14 +0200)]
Update Changelog for v2.1.2

7 years agoUpdate version number for future release 2.2.0
Antonin Descampe [Wed, 28 Sep 2016 16:55:02 +0000 (18:55 +0200)]
Update version number for future release 2.2.0

7 years agoOPENJPEG_NAMESPACE is configurable by user
Mathieu Malaterre [Mon, 26 Sep 2016 10:01:31 +0000 (12:01 +0200)]
OPENJPEG_NAMESPACE is configurable by user

7 years agoRemove typos from comments and man pages
Mathieu Malaterre [Mon, 26 Sep 2016 09:26:55 +0000 (11:26 +0200)]
Remove typos from comments and man pages

7 years agoFix PNM file reading (#847)
Matthieu Darbois [Wed, 21 Sep 2016 22:30:34 +0000 (00:30 +0200)]
Fix PNM file reading (#847)

Malformed PNM file could cause a crash in opj_compress.
Checks were added to prevent this.

Fixes #843
Updates #440

7 years agoFix some issues reported by Coverity Scan (#846)
Stefan Weil [Wed, 21 Sep 2016 19:15:25 +0000 (21:15 +0200)]
Fix some issues reported by Coverity Scan (#846)

* 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>
7 years agoFix potential out-of-bounds read (coverity) (#844)
Stefan Weil [Wed, 21 Sep 2016 11:17:09 +0000 (13:17 +0200)]
Fix potential out-of-bounds read (coverity)  (#844)

* 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>
7 years agoMerge pull request #834 from trylab/issue833
Antonin Descampe [Tue, 20 Sep 2016 16:59:30 +0000 (18:59 +0200)]
Merge pull request #834 from trylab/issue833

Fix issue 833.

7 years agoDisable automatic compilation of t1_generate_luts
Antonin Descampe [Tue, 20 Sep 2016 16:48:06 +0000 (18:48 +0200)]
Disable automatic compilation of t1_generate_luts

Fix #831