openjpeg.git
6 years agoMerge pull request #1090 from stweil/utf8
Even Rouault [Sun, 25 Feb 2018 18:59:18 +0000 (19:59 +0100)]
Merge pull request #1090 from stweil/utf8

Convert files to UTF-8 encoding

6 years ago.travis.yml: temporarily disable OPJ_CI_ASAN=1 (refs #1091)
Even Rouault [Sun, 25 Feb 2018 18:20:38 +0000 (19:20 +0100)]
.travis.yml: temporarily disable OPJ_CI_ASAN=1 (refs #1091)

6 years agoopenjp3d: Convert ISO-8859 to UTF-8 1090/head
Stefan Weil [Sat, 24 Feb 2018 13:55:33 +0000 (14:55 +0100)]
openjp3d: Convert ISO-8859 to UTF-8

Signed-off-by: Stefan Weil <sw@weilnetz.de>
6 years agojp3d: Convert ISO-8859 to UTF-8
Stefan Weil [Sat, 24 Feb 2018 13:51:28 +0000 (14:51 +0100)]
jp3d: Convert ISO-8859 to UTF-8

Signed-off-by: Stefan Weil <sw@weilnetz.de>
6 years agoMerge pull request #1080 from setharnold/patch-1
Even Rouault [Sun, 25 Feb 2018 17:21:23 +0000 (18:21 +0100)]
Merge pull request #1080 from setharnold/patch-1

fix unchecked integer multiplication overflow

6 years agobench_dwt: fix wrong index in iteration (issue found by Fethi Migaou)
Even Rouault [Sun, 18 Feb 2018 13:38:16 +0000 (14:38 +0100)]
bench_dwt: fix wrong index in iteration (issue found by Fethi Migaou)

6 years agofix unchecked integer multiplication overflow 1080/head
setharnold [Thu, 15 Feb 2018 01:46:38 +0000 (17:46 -0800)]
fix unchecked integer multiplication overflow

Hello, this fixes an unchecked integer multiplication overflow. Thanks.

6 years agoAvoid out-of-bounds write overflow due to uint32 overflow computation on images with...
Even Rouault [Sun, 11 Feb 2018 12:31:04 +0000 (13:31 +0100)]
Avoid out-of-bounds write overflow due to uint32 overflow computation on images with huge dimensions. Credit to Google Autofuzz project for providing test case

6 years agoMerge pull request #1055 from ideasman42/patch-1
Even Rouault [Mon, 5 Feb 2018 16:31:49 +0000 (17:31 +0100)]
Merge pull request #1055 from ideasman42/patch-1

Note that seek uses SEEK_SET behavior.

6 years agoNote that seek uses SEEK_SET behavior. 1055/head
Campbell Barton [Thu, 18 Jan 2018 04:16:03 +0000 (15:16 +1100)]
Note that seek uses SEEK_SET behavior.

6 years agoopj_t2_encode_packet(): disable setting empty packet header bit to 1 when there is...
Even Rouault [Mon, 8 Jan 2018 08:38:44 +0000 (09:38 +0100)]
opj_t2_encode_packet(): disable setting empty packet header bit to 1 when there is an empty packet

This effectively reverts commit 2609fb8077125b5b31f1bcc2f98c12ff1e6572d7
since it has been reported that
such packets cause decoding issues with cinema J2K hardware
decoders: https://groups.google.com/forum/#!topic/openjpeg/M7M_fLX_Bco

6 years agoMerge pull request #1047 from stweil/coverity
Even Rouault [Sun, 7 Jan 2018 16:49:37 +0000 (17:49 +0100)]
Merge pull request #1047 from stweil/coverity

Fix resource leak (CID 179466)

6 years agoMerge pull request #1050 from szukw000/changes-for-obsolete-doxygen-tags
Even Rouault [Sun, 7 Jan 2018 16:49:08 +0000 (17:49 +0100)]
Merge pull request #1050 from szukw000/changes-for-obsolete-doxygen-tags

Some Doxygen tags are removed

6 years agoAdd known failure for Windows VC10 i386 target (refs #1043)
Even Rouault [Sun, 7 Jan 2018 16:45:53 +0000 (17:45 +0100)]
Add known failure for Windows VC10 i386 target (refs #1043)

6 years agoSome Doxygen tags are removed 1050/head
szukw000 [Sun, 7 Jan 2018 16:11:09 +0000 (17:11 +0100)]
Some Doxygen tags are removed

6 years agoFix resource leak (CID 179466) 1047/head
Stefan Weil [Fri, 15 Dec 2017 15:49:33 +0000 (16:49 +0100)]
Fix resource leak (CID 179466)

Coverity report:

CID 179466 (#1 of 1): Resource leak (RESOURCE_LEAK)
93. leaked_storage: Variable name going out of scope leaks the storage it points to.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
6 years agoAdd known failure for i386 target (refs #1043)
Even Rouault [Thu, 30 Nov 2017 14:39:45 +0000 (15:39 +0100)]
Add known failure for i386 target (refs #1043)

6 years agoopj_j2k_read_cod: remove check for 'No more than one COD marker per tile' (fixes...
Even Rouault [Thu, 30 Nov 2017 13:48:34 +0000 (14:48 +0100)]
opj_j2k_read_cod: remove check for 'No more than one COD marker per tile' (fixes #1043)

This check was added per https://github.com/uclouvain/openjpeg/commit/daed8cc9195555e101ab708a501af2dfe6d5e001
to fix https://github.com/uclouvain/openjpeg/issues/476 , but it does not seem
to be necessary with latest master (issue476.jp2 doesn't cause memory issues),
and breaks reading legit files.

6 years agoFix typo in comments
Even Rouault [Thu, 30 Nov 2017 13:26:17 +0000 (14:26 +0100)]
Fix typo in comments

6 years agoMerge pull request #1042 from radarhere/cmake
Even Rouault [Tue, 14 Nov 2017 11:28:44 +0000 (12:28 +0100)]
Merge pull request #1042 from radarhere/cmake

Changed cmake version test to allow for cmake 2.8.11.x

6 years agoChanged cmake version test to allow for cmake 2.8.11.x 1042/head
Andrew Murray [Tue, 14 Nov 2017 10:45:09 +0000 (21:45 +1100)]
Changed cmake version test to allow for cmake 2.8.11.x

6 years agoMerge pull request #1037 from gfiumara/master
Even Rouault [Fri, 20 Oct 2017 19:59:14 +0000 (21:59 +0200)]
Merge pull request #1037 from gfiumara/master

Add missing fclose() statement in error condition.

6 years agoAdd missing fclose() statement in error condition. 1037/head
Gregory Fiumara [Fri, 20 Oct 2017 19:31:45 +0000 (15:31 -0400)]
Add missing fclose() statement in error condition.

6 years agoCMakeLists.txt: turn BUILD_PKGCONFIG_FILES ON by default on Windows if compiler is GCC
Even Rouault [Sat, 14 Oct 2017 20:42:12 +0000 (22:42 +0200)]
CMakeLists.txt: turn BUILD_PKGCONFIG_FILES ON by default on Windows if compiler is GCC

6 years agoopj_j2k_set_threads(): add sanity check to error out if called after opj_read_header()
Even Rouault [Wed, 11 Oct 2017 23:16:23 +0000 (01:16 +0200)]
opj_j2k_set_threads(): add sanity check to error out if called after opj_read_header()

6 years agoImprove doc of opj_codec_set_threads()
Even Rouault [Wed, 11 Oct 2017 23:05:04 +0000 (01:05 +0200)]
Improve doc of opj_codec_set_threads()

6 years agoUnix build: fix regression of 2.3.0 where a shared-only or static-only build lacks...
Even Rouault [Mon, 9 Oct 2017 09:40:43 +0000 (11:40 +0200)]
Unix build: fix regression of 2.3.0 where a shared-only or static-only build lacks the installation target for the library (#1019, fixes regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b)

6 years agoopj_decompress -h: document -threads ALL_CPUS
Even Rouault [Fri, 6 Oct 2017 17:25:07 +0000 (19:25 +0200)]
opj_decompress -h: document -threads ALL_CPUS

6 years agoFinalise ABI check update for v2.3.0
Antonin Descampe [Thu, 5 Oct 2017 02:17:04 +0000 (23:17 -0300)]
Finalise ABI check update for v2.3.0

6 years agoUpdate ABI check for v2.3.0
Antonin Descampe [Thu, 5 Oct 2017 01:59:08 +0000 (22:59 -0300)]
Update ABI check for v2.3.0

6 years agoUpdate CHANGELOG.md v2.3.0
Antonin Descampe [Wed, 4 Oct 2017 22:23:14 +0000 (19:23 -0300)]
Update CHANGELOG.md

6 years agoUpdate NEWS.md
Antonin Descampe [Tue, 3 Oct 2017 20:48:44 +0000 (17:48 -0300)]
Update NEWS.md

6 years agoUpdate CHANGELOG.md
Antonin Descampe [Tue, 3 Oct 2017 20:48:09 +0000 (17:48 -0300)]
Update CHANGELOG.md

6 years agoUpdate NEWS.md
Antonin Descampe [Tue, 3 Oct 2017 20:15:44 +0000 (17:15 -0300)]
Update NEWS.md

6 years agoPreparing v2.3.0 release
Antonin Descampe [Tue, 3 Oct 2017 20:08:30 +0000 (17:08 -0300)]
Preparing v2.3.0 release

6 years agoMerge pull request #1028 from quangnh89/master
Even Rouault [Thu, 28 Sep 2017 09:24:59 +0000 (11:24 +0200)]
Merge pull request #1028 from quangnh89/master

update instructions to build with Visual Studio and 64-Bit Visual C++ Toolset.

6 years agoupdate instructions to build with Visual Studio and 64-Bit Visual C++ Toolset. 1028/head
Quang Nguyen [Thu, 28 Sep 2017 03:00:09 +0000 (10:00 +0700)]
update instructions to build with Visual Studio and 64-Bit Visual C++ Toolset.

6 years agoMerge pull request #1022 from rouault/partial_component_decoding
Antonin Descampe [Tue, 26 Sep 2017 21:30:20 +0000 (18:30 -0300)]
Merge pull request #1022 from rouault/partial_component_decoding

Add capability to decode only a subset of all components of an image.

6 years agoRemove opjstyle binary that went inadvertently committed in d4e54e9f35d532062533f1d36...
Even Rouault [Fri, 22 Sep 2017 19:43:09 +0000 (21:43 +0200)]
Remove opjstyle binary that went inadvertently committed in d4e54e9f35d532062533f1d369c159810b01d224 (#1026)

6 years agoINSTALL.md: add instructions to build with Visual Studio (#1023, from Winfried instru...
Even Rouault [Fri, 22 Sep 2017 10:03:29 +0000 (12:03 +0200)]
INSTALL.md: add instructions to build with Visual Studio (#1023, from Winfried instructions)

6 years agoMerge pull request #1024 from stweil/warnings
Even Rouault [Thu, 21 Sep 2017 15:39:24 +0000 (17:39 +0200)]
Merge pull request #1024 from stweil/warnings

Add missing newline at end of file

6 years agoAdd missing newline at end of file 1024/head
Stefan Weil [Thu, 14 Sep 2017 20:02:41 +0000 (22:02 +0200)]
Add missing newline at end of file

This fixes warnings from the clang compiler:

/openjpeg/src/lib/openjp2/sparse_array.h:141:32: warning:
 no newline at end of file [-Wnewline-eof]

Signed-off-by: Stefan Weil <sw@weilnetz.de>
6 years agoAdd assertion
Even Rouault [Thu, 21 Sep 2017 12:37:01 +0000 (14:37 +0200)]
Add assertion

6 years agoComment dead code (Coverity CID 94681)
Even Rouault [Thu, 21 Sep 2017 12:14:32 +0000 (14:14 +0200)]
Comment dead code (Coverity CID 94681)

6 years agoWorkaround Coverity CID 113061
Even Rouault [Thu, 21 Sep 2017 12:13:16 +0000 (14:13 +0200)]
Workaround Coverity CID 113061

6 years agoWorkaround Coverity CID 169392
Even Rouault [Thu, 21 Sep 2017 12:10:49 +0000 (14:10 +0200)]
Workaround Coverity CID 169392

6 years agoopj_j2k_get_default_thread_count(): validate value of OPJ_NUM_THREADS to fix Coverity...
Even Rouault [Thu, 21 Sep 2017 12:06:03 +0000 (14:06 +0200)]
opj_j2k_get_default_thread_count(): validate value of OPJ_NUM_THREADS to fix Coverity 179465 and 179463

6 years agoFix copy&paste error (Coverity CID 169394)
Even Rouault [Thu, 21 Sep 2017 11:54:14 +0000 (13:54 +0200)]
Fix copy&paste error (Coverity CID 169394)

6 years agoopj_decompress: add a warning when -d and -t are used together (#693) 1008/head
Even Rouault [Tue, 19 Sep 2017 23:06:02 +0000 (01:06 +0200)]
opj_decompress: add a warning when -d and -t are used together (#693)

6 years agoUse a #define J2K_MAX_POCS 32 to avoid hard-coded constant (#349)
Even Rouault [Tue, 19 Sep 2017 22:55:22 +0000 (00:55 +0200)]
Use a #define J2K_MAX_POCS 32 to avoid hard-coded constant (#349)

6 years agoAvoid index-out-of-bounds access when invoking opj_compress with -n 11 or higher...
Even Rouault [Tue, 19 Sep 2017 22:43:54 +0000 (00:43 +0200)]
Avoid index-out-of-bounds access when invoking opj_compress with -n 11 or higher. But not a proper fix itself (refs #493)

6 years agoAvoid relying on operator precedence (raised by cppcheck)
Even Rouault [Tue, 19 Sep 2017 16:35:52 +0000 (18:35 +0200)]
Avoid relying on operator precedence (raised by cppcheck)

6 years agoWorkaroudn cppcheck (correct) warning about same code in then and else branches
Even Rouault [Tue, 19 Sep 2017 16:35:31 +0000 (18:35 +0200)]
Workaroudn cppcheck (correct) warning about same code in then and else branches

6 years agoFix badly named variable in function prototype (raised by cppcheck)
Even Rouault [Tue, 19 Sep 2017 16:35:07 +0000 (18:35 +0200)]
Fix badly named variable in function prototype (raised by cppcheck)

6 years agoRemove redundant test (raised by cppcheck)
Even Rouault [Tue, 19 Sep 2017 16:34:49 +0000 (18:34 +0200)]
Remove redundant test (raised by cppcheck)

6 years agoReplace C++ style comments by C ones
Even Rouault [Tue, 19 Sep 2017 16:25:55 +0000 (18:25 +0200)]
Replace  C++ style comments by C ones

6 years agoReplace C++ style comments by C ones
Even Rouault [Tue, 19 Sep 2017 16:22:07 +0000 (18:22 +0200)]
Replace  C++ style comments by C ones

6 years agoopj_set_decoded_components(): add a provision for a apply_color_transforms parameter... 1022/head
Even Rouault [Tue, 19 Sep 2017 15:48:07 +0000 (17:48 +0200)]
opj_set_decoded_components(): add a provision for a apply_color_transforms parameter in case we support it in the future

6 years agoAdd capability to decode only a subset of all components of an image.
Even Rouault [Tue, 19 Sep 2017 14:52:07 +0000 (16:52 +0200)]
Add capability to decode only a subset of all components of an image.

This adds a opj_set_decoded_components(opj_codec_t *p_codec,
OPJ_UINT32 numcomps, const OPJ_UINT32* comps_indices) function,
and equivalent "opj_decompress -c compno[,compno]*" option.

When specified, neither the MCT transform nor JP2 channel transformations
will be applied.

Tests added for various combinations of whole image vs tiled-based decoding,
full or reduced resolution, use of decode area or not.

6 years agosrc/bin/jp3d/convert.c: add missing fclose() in error code path (#1018)
Even Rouault [Tue, 19 Sep 2017 10:48:12 +0000 (12:48 +0200)]
src/bin/jp3d/convert.c: add missing fclose() in error code path (#1018)

6 years agoFix warnings and errors when compiling with a c++ compiler (#1021)
Even Rouault [Tue, 19 Sep 2017 10:46:20 +0000 (12:46 +0200)]
Fix warnings and errors when compiling with a c++ compiler (#1021)

6 years agoFix compilation with AppleClang 8.1.0.8020042 (#1020)
Even Rouault [Tue, 19 Sep 2017 10:13:34 +0000 (12:13 +0200)]
Fix compilation with AppleClang 8.1.0.8020042 (#1020)

6 years agoBuild: make sure that -DBUILD_SHARED_LIBS:bool=off is honoured to build only the...
Even Rouault [Sun, 17 Sep 2017 10:17:49 +0000 (12:17 +0200)]
Build: make sure that -DBUILD_SHARED_LIBS:bool=off is honoured to build only the static lib (#1019)

6 years agoopj_tcd_mct_decode(): avoid heap buffer overflow when components have not the same...
Even Rouault [Fri, 8 Sep 2017 08:56:49 +0000 (10:56 +0200)]
opj_tcd_mct_decode(): avoid heap buffer overflow when components have not the same number of resolutions. Also fixes an issue with subtile decoding. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3331. Credit to OSS Fuzz

6 years agoopj_j2k_update_image_data(): restrict optimized path
Even Rouault [Fri, 8 Sep 2017 07:53:52 +0000 (09:53 +0200)]
opj_j2k_update_image_data(): restrict optimized path

6 years agoUse opj_image_data_free() where appropriate (adapted from https://github.com/uclouvai...
Even Rouault [Fri, 8 Sep 2017 07:16:51 +0000 (09:16 +0200)]
Use opj_image_data_free() where appropriate (adapted from https://github.com/uclouvain/openjpeg/pull/1015/commits/dab9db0723a5bb9f3d745f9dd7a0b8b3b18b8054, #1014)

6 years agoProperly fix cc893a4ebfaf8c42cf1221ac82c83df91e77340b to avoid heap-buffer-overflow...
Even Rouault [Thu, 7 Sep 2017 16:01:33 +0000 (18:01 +0200)]
Properly fix cc893a4ebfaf8c42cf1221ac82c83df91e77340b to avoid heap-buffer-overflow when numcomps < 3

6 years agoAvoid malloc poisoning issue when including <pthread.h> of uclibc (#1013)
Even Rouault [Thu, 7 Sep 2017 15:52:59 +0000 (17:52 +0200)]
Avoid malloc poisoning issue when including <pthread.h> of uclibc (#1013)

6 years agoopj_tcd_mct_decode(): fix checks to verify MCT can be done safely. Fixes https:/...
Even Rouault [Thu, 7 Sep 2017 13:32:54 +0000 (15:32 +0200)]
opj_tcd_mct_decode(): fix checks to verify MCT can be done safely. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3305 (master only)

6 years agoFix invalid access out of bounds, and bad behaviour, when calling repeatdly opj_get_d...
Even Rouault [Wed, 6 Sep 2017 15:33:38 +0000 (17:33 +0200)]
Fix invalid access out of bounds, and bad behaviour, when calling repeatdly opj_get_decoded_tile() on an image with a color palette

6 years agoFix 2.2.0 regression when reading codestream with reperated calls to opj_get_decoded_...
Even Rouault [Wed, 6 Sep 2017 14:49:28 +0000 (16:49 +0200)]
Fix 2.2.0 regression when reading codestream with reperated calls to opj_get_decoded_tile() where tile parts of a same tile are not consecutive

This check was introduced per #939, but relied on the incorrect assumption
we decode all the tile parts of all tiles.

6 years agoFix null pointer dereference on partial tile decoding when they are empty. Fixes...
Even Rouault [Wed, 6 Sep 2017 13:59:19 +0000 (15:59 +0200)]
Fix null pointer dereference on partial tile decoding when they are empty. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3297 (master only)

6 years agoAdd knownfailures-Ubuntu12.04-gcc4.6.3-x86_64-Release-3rdP.txt
Even Rouault [Tue, 5 Sep 2017 21:32:03 +0000 (23:32 +0200)]
Add knownfailures-Ubuntu12.04-gcc4.6.3-x86_64-Release-3rdP.txt

For some reason, the OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_NUM_THREADS=2
configuration fails once PR1010 has been merged in master
( https://travis-ci.org/uclouvain/openjpeg/jobs/272219011 ) whereas (almost) the same
code in my branch didn't fail per https://travis-ci.org/rouault/openjpeg/jobs/271738113

The errors we get are the same as with the other x86_64 compilers, so nothing alarming here.

6 years agoMerge pull request #1010 from rouault/subtile_decoding_stage3
Even Rouault [Tue, 5 Sep 2017 20:18:58 +0000 (22:18 +0200)]
Merge pull request #1010 from rouault/subtile_decoding_stage3

Subtile decoding: memory use reduction and perf improvements

6 years agoReplace uses of size_t by OPJ_SIZE_T 1010/head
Even Rouault [Mon, 4 Sep 2017 15:35:52 +0000 (17:35 +0200)]
Replace uses of size_t by OPJ_SIZE_T

6 years agoopj_getopt.c: avoid crash on invalid input (#301)
Even Rouault [Sat, 2 Sep 2017 22:30:36 +0000 (00:30 +0200)]
opj_getopt.c: avoid crash on invalid input (#301)

6 years agoImprove error message when specifying a too big cp_reduce parameter (#474)
Even Rouault [Sat, 2 Sep 2017 07:10:53 +0000 (09:10 +0200)]
Improve error message when specifying a too big cp_reduce parameter (#474)

6 years agoopj_v4dwt_decode_step1_sse(): rework a bit to improve code generation
Even Rouault [Fri, 1 Sep 2017 20:09:58 +0000 (22:09 +0200)]
opj_v4dwt_decode_step1_sse(): rework a bit to improve code generation

6 years agoopj_j2k_update_image_data(): avoid allocating image buffer if we can just reuse the...
Even Rouault [Fri, 1 Sep 2017 19:36:35 +0000 (21:36 +0200)]
opj_j2k_update_image_data(): avoid allocating image buffer if we can just reuse the tile buffer one

6 years agoopj_t1_clbl_decode_processor(): use SSE2 in subtile decoding code path, for irreversible
Even Rouault [Fri, 1 Sep 2017 19:17:26 +0000 (21:17 +0200)]
opj_t1_clbl_decode_processor(): use SSE2 in subtile decoding code path, for irreversible

6 years agoReplace error message 'Not enough memory for tile data' by 'Size of tile data exceeds...
Even Rouault [Fri, 1 Sep 2017 18:43:39 +0000 (20:43 +0200)]
Replace error message 'Not enough memory for tile data' by 'Size of tile data exceeds system limits' (refs https://github.com/uclouvain/openjpeg/pull/730#issuecomment-326654188)

6 years agoopj_t1_decode_cblk(): move some code to codeblock processor for (theoretical) better...
Even Rouault [Fri, 1 Sep 2017 14:31:13 +0000 (16:31 +0200)]
opj_t1_decode_cblk(): move some code to codeblock processor for (theoretical) better multi-threading in subtile decoding

6 years agosparse_array: optimizations for lossy case
Even Rouault [Fri, 1 Sep 2017 14:31:10 +0000 (16:31 +0200)]
sparse_array: optimizations for lossy case

6 years agoopj_tcd_rateallocate(): make sure to use all passes for a lossless layer (#1009)
Even Rouault [Fri, 1 Sep 2017 18:01:39 +0000 (20:01 +0200)]
opj_tcd_rateallocate(): make sure to use all passes for a lossless layer (#1009)

And save a useless loop, which should be a tiny faster.

6 years agoopj_j2k_setup_encoder(): emit warnings if tcp_rates are not decreasing or tcp_distora...
Even Rouault [Fri, 1 Sep 2017 17:49:01 +0000 (19:49 +0200)]
opj_j2k_setup_encoder(): emit warnings if tcp_rates are not decreasing or tcp_distoratio are not increasing (#1009)

6 years agoopj_j2k_setup_encoder(): avoid potential int overflow in computations related to...
Even Rouault [Fri, 1 Sep 2017 17:27:56 +0000 (19:27 +0200)]
opj_j2k_setup_encoder(): avoid potential int overflow in computations related to max_cs_size

6 years agoopj_compress help: revert 32572617765cb9d77302384653a48d793b8f657f and indicate 1...
Even Rouault [Fri, 1 Sep 2017 17:16:35 +0000 (19:16 +0200)]
opj_compress help: revert 32572617765cb9d77302384653a48d793b8f657f and indicate 1 again as being the value to get lossless for -r. In opj_j2k_setup_encoder(), make sure that ll rates[] <= 1.0 are set to 0. Document 0 as being lossless for -q / tcp_distoratio (#1009)

6 years agoopj_compress help: indicate 0 value, instead of 1, for -r parameter to get lossless...
Even Rouault [Fri, 1 Sep 2017 15:32:54 +0000 (17:32 +0200)]
opj_compress help: indicate 0 value, instead of 1, for -r parameter to get lossless encoding (#1009)

6 years agoopj_v4dwt_decode_step2_sse(): loop unroll
Even Rouault [Fri, 1 Sep 2017 14:31:08 +0000 (16:31 +0200)]
opj_v4dwt_decode_step2_sse(): loop unroll

6 years agoopj_dwt_decode_partial_97(): simplify/more efficient use of sparse arrays in vertical...
Even Rouault [Fri, 1 Sep 2017 14:31:06 +0000 (16:31 +0200)]
opj_dwt_decode_partial_97(): simplify/more efficient use of sparse arrays in vertical pass

6 years agoopj_tcd_dc_level_shift_decode(): optimize lossy case
Even Rouault [Fri, 1 Sep 2017 14:31:04 +0000 (16:31 +0200)]
opj_tcd_dc_level_shift_decode(): optimize lossy case

6 years agoopj_dwt_decode_partial_1_parallel(): add SSE2 optimization
Even Rouault [Fri, 1 Sep 2017 14:31:02 +0000 (16:31 +0200)]
opj_dwt_decode_partial_1_parallel(): add SSE2 optimization

6 years agoSub-tile decoding: speed up vertical pass in IDWT5x3 by processing 4 cols at a time
Even Rouault [Fri, 1 Sep 2017 14:31:00 +0000 (16:31 +0200)]
Sub-tile decoding: speed up vertical pass in IDWT5x3 by processing 4 cols at a time

6 years agoTiny perf improvement in T1 stage for subtile decoding
Even Rouault [Fri, 1 Sep 2017 14:30:58 +0000 (16:30 +0200)]
Tiny perf improvement in T1 stage for subtile decoding

6 years agotest_decode_area: accept user bounds in -strip_height mode
Even Rouault [Fri, 1 Sep 2017 14:30:56 +0000 (16:30 +0200)]
test_decode_area: accept user bounds in -strip_height mode

6 years agoOptimize opj_dwt_decode_partial_1() when cas == 0
Even Rouault [Fri, 1 Sep 2017 14:30:54 +0000 (16:30 +0200)]
Optimize opj_dwt_decode_partial_1() when cas == 0

6 years agoopj_j2k_update_image_data(): avoid zero-ing the buffer if not needed
Even Rouault [Fri, 1 Sep 2017 14:30:52 +0000 (16:30 +0200)]
opj_j2k_update_image_data(): avoid zero-ing the buffer if not needed

6 years agoOptimize reading/write into sparse array
Even Rouault [Fri, 1 Sep 2017 14:30:50 +0000 (16:30 +0200)]
Optimize reading/write into sparse array

6 years agoAllow several repeated calls to opj_set_decode_area() and opj_decode() for single...
Even Rouault [Fri, 1 Sep 2017 14:30:48 +0000 (16:30 +0200)]
Allow several repeated calls to opj_set_decode_area() and opj_decode() for single-tiled images

* Only works for single-tiled images --> will error out cleanly, as currently
  in other cases
* Save re-reading the codestream for the tile, and re-use code-blocks of the
  previous decoding pass.
* Future improvements might involve improving opj_decompress, and the image writing logic,
  to use this strategy.

6 years agoopj_j2k_decode_tiles(): apply whole single tile image decoding optimization to readin...
Even Rouault [Fri, 1 Sep 2017 14:30:45 +0000 (16:30 +0200)]
opj_j2k_decode_tiles(): apply whole single tile image decoding optimization to reading at reduced resolution as well