<br/>
<h1>Changelog from Git</h1><br/><br/>
<div class='changelog'>
-<pre class='wrap'>commit 297f202104fc0ff6b0627e15e7e6883c915f80bf
+<pre class='wrap'>commit c28965f255c711a7b2f84a08b1398e5a0f807b0e
+Merge: 2624908 a36ae03
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-06 16:49:28 +0200
+Date: 2021-06-08 11:11:04 +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
+ Merge pull request #1359 from rouault/TLM
- This check was introduced per #939, but relied on the incorrect assumption
- we decode all the tile parts of all tiles.
+ Add support for enabling generation of TLM markers in encoder
-commit 003759a4829f3f1baa5a2292956618fecf314818
+commit a36ae0386066c9ddd089788930be5a42a176446e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-06 15:59:19 +0200
+Date: 2021-06-07 15:16:53 +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)
-
-commit e656822f927c869f31f2685c67644eacb75fc5d2
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-05 23:32:03 +0200
-
- Add knownfailures-Ubuntu12.04-gcc4.6.3-x86_64-Release-3rdP.txt
+ Add support for enabling generation of TLM markers in encoder
- 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
+ Support was already there, but restricted to Cinema and IMF profiles,
+ and 255 tiles
- The errors we get are the same as with the other x86_64 compilers, so nothing alarming here.
+ * Add -TLM switch added to opj_compress
+ * Make opj_encoder_set_extra_options() function accept a TLM=YES option.
-commit 968e36bbd989fdf789c6a02c80c747346bb851c5
-Merge: 3a382d3 579b893
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-09-05 22:18:58 +0200
+commit 2624908517ac0489ff1b5471f423dfe84d79da08
+Merge: e7d908d b5ec98f
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2021-06-07 15:48:42 +0200
- Merge pull request #1010 from rouault/subtile_decoding_stage3
+ Merge pull request #1360 from rouault/travis_gcc_4_8_fix
- Subtile decoding: memory use reduction and perf improvements
+ .travis.yml: try to fix gcc 4.8 config by updating to xenial
-commit 579b8937eae7e6b6868b8b5c6286a742c10a5130
+commit b5ec98f14f1947bc75eb76969ad5322490ae8e4c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-04 17:35:52 +0200
+Date: 2021-06-07 15:41:39 +0200
- Replace uses of size_t by OPJ_SIZE_T
+ .travis.yml: try to fix gcc 4.8 config by updating to xenial
-commit 3a382d312306f45853b3ad78b770754d4bc7e440
+commit e7d908d201a0fef9a619a537dae241341975cab9
+Merge: 7e4e09a f0629cb
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-03 00:30:36 +0200
+Date: 2021-06-07 13:56:11 +0200
- opj_getopt.c: avoid crash on invalid input (#301)
+ Merge pull request #1358 from rouault/compiler_warning_fixes
+
+ Fix various compiler warnings
-commit e5ab1682a1bf52c203b16720011d869901929ac9
+commit f0629cb1c4c485d905936413556deb2872ac51e5
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-02 09:10:53 +0200
+Date: 2021-06-07 13:28:26 +0200
- Improve error message when specifying a too big cp_reduce parameter (#474)
+ Fix various compiler warnings
-commit c1e0fba0c46cb528a08b89b986e86ff0f4792558
+commit 7e4e09a7fb2ee0de857227771b22abff54448cd4
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 22:09:58 +0200
+Date: 2021-06-07 12:57:30 +0200
- opj_v4dwt_decode_step1_sse(): rework a bit to improve code generation
+ openjpeg.c: avoid casts of function pointers
-commit 676d4c807f0162877f9f32e4cdda2e242788d410
+commit adb888920edb8477a271e640e5640237e2b4c0bb
+Merge: b6b8d28 99c28c9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 21:36:35 +0200
+Date: 2021-06-01 22:59:11 +0200
- opj_j2k_update_image_data(): avoid allocating image buffer if we can just reuse the tile buffer one
+ Merge pull request #1354 from msabwat/emscripten
+
+ fix #1345: don't remove big endian test for other platforms
-commit 4c7effa6bc37beb2a8e2f29ecf5845cde93f6b88
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 21:17:26 +0200
+commit 99c28c960c18bfc0a4da5ec24adcedff1f1b143c
+Author: Mehdi Sabwat <mehdi@videolabs.io>
+Date: 2021-06-01 22:39:27 +0200
- opj_t1_clbl_decode_processor(): use SSE2 in subtile decoding code path, for irreversible
+ fix #1345: don't remove big endian test for other platforms
+
+ thanks to @ePirat, it turns out that !EMSCRIPTEN does not evaluate to 1 on other platforms, so the the #1345 actually disabled the test for all platforms.
-commit 2c365fe0ecc8c6597db491a953a91308b1d0d4b1
+commit b6b8d28b3a85b74ff5415565cff2c20c019ca3c5
+Merge: 8aaafe6 238e849
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 20:43:39 +0200
+Date: 2021-05-07 11:22:13 +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)
+ Merge pull request #1345 from msabwat/emscripten
+
+ emscripten: disable big endian test
-commit 559d16e8f43a0cd090d217d7d111820989299b85
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:13 +0200
+commit 238e849746e35232134533d826fdd2420d2e0274
+Author: Mehdi Sabwat <mehdisabwat@gmail.com>
+Date: 2021-04-26 15:37:44 +0200
- opj_t1_decode_cblk(): move some code to codeblock processor for (theoretical) better multi-threading in subtile decoding
+ emscripten: disable big endian test
+
+ This test should not run on the emscripten platform because of :
+ https://github.com/emscripten-core/emscripten/blob/dff33368427fba16745c8ce52f11484a67b2855d/cmake/Modules/TestBigEndian.cmake#L5
-commit 7017e67a01c378a7a1ee5e34dd544c793b5c23e4
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:10 +0200
+commit 8aaafe69958f3528db4e59b50cbc49494262c7b5
+Author: Jamaika1 <lukaszcz18@wp.pl>
+Date: 2021-05-06 19:30:34 +0200
- sparse_array: optimizations for lossy case
+ Import files tiff and yuv(raw) (#1316)
-commit b428b8c7e7227cf96c83229df4d7bf009b6d2172
+commit 5f653ad673cf0f141801c1c4a810028a9876b5e5
+Merge: 05263ee 85a87cd
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 20:01:39 +0200
+Date: 2021-05-06 13:40:43 +0200
- opj_tcd_rateallocate(): make sure to use all passes for a lossless layer (#1009)
+ Merge pull request #1350 from rouault/remove_jpwl_jp3d_mj2
- And save a useless loop, which should be a tiny faster.
+ Remove obsolete components JPWL, JP3D and MJ2
-commit 7aa071aa273aa0b8fafbf055e5eb99b9cb8600a8
+commit 85a87cd505f37027c4b74363b529a1e166e32651
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 19:49:01 +0200
+Date: 2021-05-04 19:21:45 +0200
- opj_j2k_setup_encoder(): emit warnings if tcp_rates are not decreasing or tcp_distoratio are not increasing (#1009)
+ Remove obsolete components JPWL, JP3D and MJ2
-commit a538815c774db94a0d3fa323c9ca4f456ef04903
+commit 05263eeee9bc666184a39cd2a83a7214cc83ec27
+Merge: 0bda718 9727f3a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 19:27:56 +0200
+Date: 2021-05-04 19:15:06 +0200
- opj_j2k_setup_encoder(): avoid potential int overflow in computations related to max_cs_size
+ Merge pull request #1348 from rouault/fix_kdu
+
+ tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries
-commit 09929bb615bd6bf2a9f7703fc7b04a12096b091e
+commit 9727f3ac69a7cd1ca00518c56ef1071881c03c71
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 19:16:35 +0200
+Date: 2021-05-04 18:55:43 +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)
+ .travis.yml: disable tests that no longer pass for unknown reason
-commit 32572617765cb9d77302384653a48d793b8f657f
+commit 92c0471154960d50ebe68b363f4bb1e2c1e4d775
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 17:32:54 +0200
+Date: 2021-05-04 16:27:05 +0200
- opj_compress help: indicate 0 value, instead of 1, for -r parameter to get lossless encoding (#1009)
+ tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries
-commit 8a17be8945f6f8fcae3f9e5c7c4988e971d245ee
+commit 0bda7188b7b545232a341f1d978b1e4feda46fc2
+Merge: 0782cd0 4d0b49e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:08 +0200
+Date: 2021-01-10 23:58:37 +0100
- opj_v4dwt_decode_step2_sse(): loop unroll
+ Merge pull request #1321 from ffontaine/master
+
+ Fix cmake file with DESTDIR
-commit 83b5a168ec0e89210671d60670c9a1143ce8776b
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:06 +0200
+commit 4d0b49edad7fb31ebbf03c60a45b72aaa7b7412b
+Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: 2021-01-07 14:11:26 +0100
- opj_dwt_decode_partial_97(): simplify/more efficient use of sparse arrays in vertical pass
+ cmake/OpenJPEGConfig.cmake: replace ABSOLUTE by REALPATH
+
+ Fix #1174 by replacing ABSOLUTE by REALPATH which will resolve symlinks:
+ https://cmake.org/cmake/help/latest/command/get_filename_component.html
+
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-commit ae19001ba425a9b396a29fba3417dccc746bd2ef
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:04 +0200
+commit 14f4c27e7c91f745a1dda9991b5deea3cbef2072
+Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: 2021-01-07 14:09:50 +0100
- opj_tcd_dc_level_shift_decode(): optimize lossy case
+ Revert "Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)"
+
+ This reverts commit 65586374d639cfc0104419992f9022174b412594 which
+ breaks cross-compilation of poppler under buildroot (because of
+ DESTDIR usage).
-commit 470f3ed416a8cc3618b2c04000ea7b4694043f34
+commit 0782cd075d7e9678bf1cb448c1f3d048fabe4489
+Merge: 07a4543 b6f0e41
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:02 +0200
+Date: 2021-01-04 19:42:30 +0100
- opj_dwt_decode_partial_1_parallel(): add SSE2 optimization
+ Merge pull request #867 from pseiderer/fix-lcms2-static-linking-using-pgk-config
+
+ Fix lcms2 static linking using pgk config
+
+commit b6f0e41399f2e67117de2641b169f4400260be57
+Author: Peter Seiderer <ps.report@gmx.net>
+Date: 2016-11-11 23:35:13 +0100
-commit 873004c615b1bed3ce780e869288602af86fdee5
+ thirdparty: lcms2: append flags found by pkg-config if available
+
+ This change allows to get all required CFLAGS/LDFLAGS in case of static only
+ build.
+
+ Fixes a buildroot build failure (see [1], [2] and [3]).
+
+ [1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57
+ [2] http://lists.busybox.net/pipermail/buildroot/2016-November/177187.html
+ [3] http://lists.busybox.net/pipermail/buildroot/2016-November/177188.html
+
+ Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+ ---
+ Depends on https://github.com/uclouvain/openjpeg/pull/866
+
+commit 07a454324cfeb431ee3fc3799df522dff252b12b
+Merge: eb27272 75a7f1a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:31:00 +0200
+Date: 2021-01-04 14:06:43 +0100
- Sub-tile decoding: speed up vertical pass in IDWT5x3 by processing 4 cols at a time
+ Merge pull request #866 from tSed/master
+
+ fix static build only against tiff and its indirect dependencies
-commit ccac773556070ede24ea3dfbdec47c2b3c5be5c4
+commit eb27272a79cd81256e475b9aad8461fda8b7f989
+Merge: 2519439 4d147d9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:58 +0200
+Date: 2021-01-04 10:45:52 +0100
- Tiny perf improvement in T1 stage for subtile decoding
+ Merge pull request #1317 from ffontaine/master
+
+ CMakeLists.txt: Don't require a C++ compiler
+
+commit 4d147d9630653e4c93a70a2a8026c323ed1042d2
+Author: Peter Korsgaard <peter@korsgaard.com>
+Date: 2021-01-04 09:05:42 +0100
-commit 18635df518602265b71da3c70c4d3b774bc3dfc2
+ CMakeLists.txt: Don't require a C++ compiler
+
+ By default, CMake assumes that the project is using both C and C++. By
+ explicitly passing 'C' as argument of the project() macro, we tell CMake
+ that only C is used, which prevents CMake from erroring out if a C++
+ compiler doesn't exist.
+
+ Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+ [Retrieved (and slightly updated by adding enable_language(CXX) if
+ WITH_ASTYLE is set) from:
+ https://git.buildroot.net/buildroot/tree/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch]
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+commit 2519439d7d4d0e51abf479afe73f30b1c7c70530
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:56 +0200
+Date: 2020-12-31 14:54:59 +0100
+
+ Fix Windows build
+
+commit 433edd0eea934e25f6e97aaf912ebed191fa41d1
+Author: Antonin Descampe <antonin@descampe.net>
+Date: 2020-12-31 11:06:28 +0100
- test_decode_area: accept user bounds in -strip_height mode
+ patch provided 3rdparty zlib to work with MacOS
-commit 82a43d8035ca5f43e198e15faef6c9ac44b39541
+commit 4db0c8d5aef53dd6eebc730e5a189cf9bf9bae6c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:54 +0200
+Date: 2020-12-29 15:34:19 +0100
- Optimize opj_dwt_decode_partial_1() when cas == 0
+ Add HOWTO-RELEASE
-commit 1644665a9105e2d761e8b29f43af602560e6bcf9
+commit 43b8ddc6af015715b2fbda2052a17b29d1538df7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:52 +0200
+Date: 2020-12-29 15:01:40 +0100
- opj_j2k_update_image_data(): avoid zero-ing the buffer if not needed
+ Comment back opj_previous_version in abi_check.sh
-commit b2cc8f7f81242f967b65e76de043e5e31663d793
+commit b93996d5e018b3d9525acf406053d8b46240f914
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:50 +0200
+Date: 2020-12-29 14:46:50 +0100
- Optimize reading/write into sparse array
+ abi_check.sh: Update version number for automatic abi check
-commit 0ae3cba3404674bbe2028ea9a801301a4c951b33
+commit b897e2cb369b6944d791209f491f382a983cda87
+Merge: 37ac30c 7dd5497
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:48 +0200
+Date: 2020-12-28 22:58:58 +0100
- Allow several repeated calls to opj_set_decode_area() and opj_decode() for single-tiled images
+ Merge pull request #1312 from stweil/news
- * 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.
+ Fix year in NEWS
-commit 5d07d463fdb0a5eeffa90eba1566cc21697011b8
+commit 7dd5497b15a33a8020bf1ab116f649328b037a89
+Author: Stefan Weil <sw@weilnetz.de>
+Date: 2020-12-28 22:52:34 +0100
+
+ Fix year in NEWS
+
+ Signed-off-by: Stefan Weil <sw@weilnetz.de>
+
+commit 37ac30ceff6640bbab502388c5e0fa0bff23f505
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:45 +0200
+Date: 2020-12-28 21:55:55 +0100
- opj_j2k_decode_tiles(): apply whole single tile image decoding optimization to reading at reduced resolution as well
+ Prepare for v2.4.0
-commit 98b93103613c90753fb6c57696f9403f8ea0b1d6
+commit a335b4d008359a32656026fa6780ef185b35cf0a
+Merge: 4980f46 0c2b633
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:44 +0200
+Date: 2020-12-28 21:49:48 +0100
- Various changes to allow tile buffers of more than 4giga pixels
+ Merge pull request #1310 from Jamaika1/patch-1
- Untested though, since that means a tile buffer of at least 16 GB. So
- there might be places where uint32 overflow on multiplication still occur...
+ Change defined WIN32
-commit 008a12d4fce0a7b1eabc51e04ed339be759646e2
+commit 4980f46210f19bd2d83dffdfeb8496f29d68b9c9
+Merge: 6c5acd4 aaddbc7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:41 +0200
+Date: 2020-12-28 19:05:14 +0100
- TCD: allow tile buffer to be greater than 4GB on 64 bit hosts (but number of pixels must remain under 4 billion)
+ Merge pull request #1307 from cygwin-lem/pr_use-OPENJPEG_INSTALL_DOC_DIR-to-DESTINATION-of-HTMLs
+
+ Set ${OPENJPEG_INSTALL_DOC_DIR} to DESTINATION of HTMLs
-commit d1299d9670d766006a7a162a770d3b70eaeef9bd
+commit 6c5acd4d656870882432ff28d4103de80d109a8d
+Merge: 98a4c5c 5d494a7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:39 +0200
+Date: 2020-12-28 19:04:28 +0100
+
+ Merge pull request #1308 from timgates42/bugfix_typo_produced
+
+ docs: fix simple typo, producted -> produced
- Fix compiler warning in release mode
+commit 0c2b633992417c8794470c9932e3c75447c8ab13
+Author: Jamaika1 <lukaszcz18@wp.pl>
+Date: 2020-12-21 07:59:12 +0100
-commit d5153ba404fa13b9c6e7b2c20d4d128aac718fba
+ Change defined WIN32
+
+commit 5d494a7e8b9591a8923f387679c692b5c1f45e5a
+Author: Tim Gates <tim.gates@iress.com>
+Date: 2020-12-16 21:19:17 +1100
+
+ docs: fix simple typo, producted -> produced
+
+ There is a small typo in thirdparty/include/zlib.h, thirdparty/libz/zlib.h.
+
+ Should read `produced` rather than `producted`.
+
+commit aaddbc7c07f00f0704da4db7616e6dc7448e5f07
+Author: Lemures Lemniscati <lemures.lemniscati@gmail.com>
+Date: 2020-12-14 23:00:04 +0900
+
+ Set ${OPENJPEG_INSTALL_DOC_DIR} to DESTINATION of HTMLs
+
+ Use ${OPENJPEG_INSTALL_DOC_DIR} as DESTINATION of HTML documents,
+ instead of share/doc.
+
+commit 98a4c5c3709e0cc43b0a1c151ed5bd85a2d607fa
+Merge: 5d0a8b0 6558637
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:37 +0200
+Date: 2020-12-10 15:55:41 +0100
- Remove limitation that prevents from opening images bigger than 4 billion pixels
+ Merge pull request #1306 from matthew-sharp/master
- However the intermediate buffer for decoding must still be smaller than 4
- billion pixels, so this is useful for decoding at a lower resolution level,
- or subtile decoding.
+ Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)
+
+commit 65586374d639cfc0104419992f9022174b412594
+Author: Matthew Sharp <sharpshopter@gmail.com>
+Date: 2020-12-10 10:17:46 +1100
+
+ Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes uclouvain#1174)
+ This fixes the case where the cmake file is accessed via a symlink.
-commit c37e360a5112b5471168e429159f61b74c0c2f58
+commit 5d0a8b08dcd3bcdf532c54702b5a88ec61b17918
+Merge: 43dd9ee 8f5aff1
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:35 +0200
+Date: 2020-12-05 11:39:23 +0100
- opj_tcd_init_tile(): fix typo on overflow detection condition (introduced in previous commit)
+ Merge pull request #1304 from rouault/fix_1302
+
+ pi.c: avoid out of bounds access with POC (fixes #1302)
-commit eee5104a8885227167a349b6dabdb1f72a04d9d0
+commit 8f5aff1dff510a964d3901d0fba281abec98ab63
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:32 +0200
+Date: 2020-12-04 20:45:25 +0100
- opj_dwt_decode_partial_tile(): avoid undefined behaviour in lifting operation by properly initializing working buffer
+ pi.c: avoid out of bounds access with POC (fixes #1302)
-commit f9e9942330f476b66ac4a35d0ae521200878f343
+commit 43dd9ee17894a22fa3df88b1e561274632d9ab43
+Merge: aaff099 4ce7d28
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 16:30:29 +0200
+Date: 2020-12-04 20:37:43 +0100
- Sub-tile decoding: only allocate tile component buffer of the needed dimension
-
- Instead of being the full tile size.
+ Merge pull request #1303 from zodf0055980/fix#1283
- * Use a sparse array mechanism to store code-blocks and intermediate stages of
- IDWT.
- * IDWT, DC level shift and MCT stages are done just on that smaller array.
- * Improve copy of tile component array to final image, by saving an intermediate
- buffer.
- * For full-tile decoding at reduced resolution, only allocate the tile buffer to
- the reduced size, instead of the full-resolution size.
+ Encoder: grow again buffer size
-commit aa7198146b995fe2993ce24f5715057b7da0386d
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 23:21:39 +0200
+commit 4ce7d285a55d29b79880d0566d4b010fe1907aa9
+Author: yuan <zodf0055980@gmail.com>
+Date: 2020-12-04 19:00:22 +0800
- opj_compress: reorder checks related to code block dimensions, to avoid potential int overflow
+ Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283)
-commit 0a25dceca7761ee3f16cbb2ced87b915a948b25e
+commit aaff099b49365cfecfc475ada48b9244c6eefc9c
+Merge: fb9eae5 73fdf28
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 23:20:51 +0200
+Date: 2020-12-02 23:56:57 +0100
- opj_j2k_setup_encoder(): validate code block width/height
+ Merge pull request #1301 from rouault/fix_1299
+
+ opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only)
-commit 84bbb4a8743a93d567f40d7233d5196105c8d84e
+commit fb9eae5d637d06209a6cb9ca57960ac72179ee14
+Merge: fc6abdb 00383e1
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 23:12:45 +0200
+Date: 2020-12-02 23:56:39 +0100
- opj_t1_allocate_buffers(): remove useless overflow checks
+ Merge pull request #1300 from rouault/complement_1293
+
+ pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
-commit 6ce49bf5aebb3c45c464fa82d14cfd4bf7026a28
+commit fc6abdbeb7aa427685c28a9ebfd2e653c10999b3
+Merge: 18b1138 38d661a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-09-01 10:26:18 +0200
+Date: 2020-12-02 23:56:30 +0100
- Fix undefined shift behaviour in opj_dwt_is_whole_tile_decoding(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3255. Credit to OSS Fuzz
+ Merge pull request #1298 from rouault/fix_1297
+
+ opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix
-commit 04b70908a7ada29481d2e1903b76f44a68d4d268
+commit 73fdf28342e4594019af26eb6a347a34eceb6296
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-29 11:40:53 +0200
+Date: 2020-12-02 14:10:16 +0100
- Use IDWT whole tile decoding if the area of interest equals to the image bounds, taking into account the reduced resolution factor
+ opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only)
-commit 4776b15fa7ec2afa74f65cd471f94513ea08205a
+commit 00383e162ae2f8fc951f5745bf1011771acb8dce
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-28 18:07:44 +0200
+Date: 2020-12-02 14:02:17 +0100
- Add test for fix of a55c024fc6b917a409b85aeafd7326421c4aea34
+ pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
-commit a55c024fc6b917a409b85aeafd7326421c4aea34
+commit 38d661a3897052c7ff0b39b30c29cb067e130121
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-28 17:18:33 +0200
+Date: 2020-12-02 13:13:26 +0100
- Subtile decoding: fix overflows in subband coordinate computation that cause later buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3115. Credit to OSS Fuzz. master only
+ opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix
-commit 8f92fc97913bec7ffa2dc10d062c0cdd19da20e4
+commit 18b1138fbe3bb0ae4aa2bf1369f9430a8ec6fa00
+Merge: 630b485 c9380ed
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-28 14:57:49 +0200
+Date: 2020-12-02 10:05:39 +0100
- Make opj_set_decode_area() and opj_decode() take into account opj_set_decoded_resolution_factor() (#1006, affect API use)
+ Merge pull request #1295 from rouault/fix_1293
- * Better document usage of opj_set_decode_area(), ie expecting coordinates
- in full resolution/reference grid even if requesting at a lower resolution
- factor
- * Make sure that image->comps[].factor is set by opj_set_decode_area() and
- opj_decode() from the value specified in opj_set_decoded_resolution_factor()
- * opj_decompress: add 2 environmenet variables to test alternate ways of
- using the API, namely USE_OPJ_SET_DECODED_RESOLUTION_FACTOR=YES to use
- opj_set_decoded_resolution_factor() instead of parameters.cp_reduce, and
- SKIP_OPJ_SET_DECODE_AREA=YES to not call opj_set_decode_area() if -d is
- not specified.
+ opj_j2k_setup_encoder(): validate POC compno0 and compno1 (fixes #1293)
-commit 5a4a10120a648848de7522245f8671c3ce285dbc
+commit 630b485f86a6b0bb6fa03b698b8c5358df88d055
+Merge: 61ff143 fbd30b0
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-24 14:38:24 +0200
+Date: 2020-12-02 10:05:31 +0100
- Another cleanup in knownfailures-* files
+ Merge pull request #1296 from rouault/workaround_1294
+
+ opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix
-commit e0a5d148f7e84d18a52c97bd08b21b1dffa9570a
+commit c9380ed0f8cc4794fc71d556ea23ae61e32247af
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-24 14:32:36 +0200
+Date: 2020-12-01 19:39:09 +0100
- Remove test steps from specialized knownfailures- that are already in knownfailures-all.txt
+ opj_j2k_setup_encoder(): validate POC compno0 (fixes #1293)
-commit 79aa0b54ddd3e4e3ca09374cb82bd3302a65783a
+commit fbd30b064f8f9607d500437b6fedc41431fd6cdc
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-24 14:31:13 +0200
+Date: 2020-12-01 19:51:35 +0100
- issue104_jpxstream.jp2 decompresses just fine (and like Kakadu). Update md5refs.txt and remove from knownfailures
+ opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix
-commit c059f431e6262fe5ce296e8137dd478dfe4d1af1
+commit 61ff143ad63b9bbe12b6da266f8619b2cb2c3559
+Merge: 2d119d0 6daf5f3
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-24 14:09:34 +0200
+Date: 2020-12-01 11:35:59 +0100
- Remove broken.jpc test from known failures, by avoiding too long processing time
+ Merge pull request #1292 from rouault/fix_1286
+
+ Encoder: avoid global buffer overflow on irreversible conversion when…
-commit 5146abc02ebd871aa1e737373cdc7654e8e4b07f
+commit 6daf5f3e1ec6eff03b7982889874a3de6617db8d
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-24 14:09:31 +0200
+Date: 2020-11-30 22:37:07 +0100
- imagetopgx(): improve performance in 8 bit case (relates to broken.jpc test case)
+ Encoder: avoid global buffer overflow on irreversible conversion when too many decomposition levels are specified (fixes #1286)
-commit fdcd4e6365731cc1015213e424068131bcd1f31f
+commit 2d119d03a0c9f5e3b6c2a70c30cbdcea4857b40a
+Merge: b207240 1aa3c60
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-24 13:23:25 +0200
+Date: 2020-11-30 23:28:31 +0100
- Remove -NR-DEC-p1_06.j2k-156-decode and NR-DEC-p1_06.j2k-164-decode from knownfailures
+ Merge pull request #1291 from rouault/tnsot_zero_missing_eoc
- and make them explicit failures. The result images are empty at the requested resolution
+ Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC
-commit bc71bd1219269057ea18e6acbc77a96ec37aba82
+commit b2072402b7e14d22bba6fb8cde2a1e9996e9a919
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-23 18:58:32 +0200
+Date: 2020-11-30 22:31:51 +0100
- opj_dwt_decode_partial_97(): perf improvement: limit copy of coefficients at end of horizontal pass to actual range of interest
+ pngtoimage(): fix wrong computation of x1,y1 if -d option is used, that would result in a heap buffer overflow (fixes #1284)
-commit 8180eeace13ffceef5dd7c3f80be156e36181846
+commit 1aa3c60859ab2a3edb7a68682f131c6b3a91da72
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 23:06:53 +0200
+Date: 2020-11-30 17:36:27 +0100
- test_tile_encoder: fix checks on argc
+ Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC
-commit c97666f72ba26a7ceb64931963b988a6f8f377f9
+commit a2b2980a4bcb4d3903375de31495f99dde0e98a8
+Merge: 0c0f27f 4f48779
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 19:02:04 +0200
+Date: 2020-11-27 14:25:11 +0100
- j2k.c: fix comment, and remove FIXME
+ Merge pull request #1288 from zodf0055980/master
+
+ Free p_tcd_marker_info to avoid memory leak
-commit 24d069e3ffa2286930a2e7e2638431ea1de6846a
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 17:19:13 +0200
+commit 4f487798bac3eea5ffa07d3cc542f675c4b4d9ae
+Author: yuan <zodf0055980@gmail.com>
+Date: 2020-11-26 00:22:49 +0800
- Add comment
+ Free p_tcd_marker_info to avoid memory leak
-commit e9bbc6d3dde946bdb5195f053f24b91335d5d84c
-Merge: 3eed024 17a7ac4
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-08-21 13:02:07 +0200
+commit 0c0f27f17d431d98d190f30bec3879f434512158
+Merge: 15cf3d9 649298d
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-11-25 16:59:46 +0100
- Merge pull request #1001 from rouault/subtile_decoding_stage2
+ Merge pull request #1287 from zodf0055980/master
- Subtile decoding: only apply IDWT on areas that participate to the window of interest
+ Encoder: grow again buffer size
-commit 17a7ac42d581c537cfc1da4324e53047ad82b13e
+commit 649298dcf84b2f20cfe458d887c1591db47372a6
+Author: yuan <zodf0055980@gmail.com>
+Date: 2020-11-25 20:41:39 +0800
+
+ Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283)
+
+commit 15cf3d95814dc931ca0ecb132f81cb152e051bae
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-21 12:25:38 +0200
+Date: 2020-11-23 18:14:02 +0100
- Add comments for filter_width values
+ Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283)
-commit f87c5ef7ebef3d7a908e98f2de1b6a0336ae57ae
+commit eaa098b59b346cb88e4d10d505061f669d7134fc
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-20 22:02:41 +0200
+Date: 2020-11-23 13:49:05 +0100
- Subtile decoding: only do 9x7 IDWT computations on relevant areas of tile-component buffer.
+ Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush (fixes #1283)
-commit 3eed024eb45534f86537404e08d08fa572a40782
+commit 67ec360f48aeded95d06578e717bdf40a8e6d16f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-19 15:45:54 +0200
+Date: 2020-11-23 13:38:27 +0100
- pgxtoimage(): avoid excessive memory allocation attempt (#999)
+ Fix typo in internal function name
-commit 5d403250561398f7ba3041d9eb8c893bd680dd72
+commit 491299eb073c80602ca8ee333303a31a581d3fa8
+Merge: 65c8f57 1c5627e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-18 15:08:51 +0200
+Date: 2020-10-09 13:25:27 +0200
- Subtile decoding: only do 5x3 IDWT computations on relevant areas of tile-component buffer.
+ Merge pull request #1253 from rouault/floating_point_irreversible_encoding
- This lowers 'bin/opj_decompress -i ../MAPA.jp2 -o out.tif -d 0,0,256,256'
- down to 0.860s
+ Single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements)
-commit e5285319229a5d77bf316bb0d3a6cbd3cb8666d9
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-18 13:39:20 +0200
+commit 65c8f577d2f057e80040e98958eae80ca76c6b94
+Author: Pei JIA <jiapei@longervision.com>
+Date: 2020-09-23 02:34:31 -0700
- pgxtoimage(): fix write stack buffer overflow (#997)
+ Bump Java compatibility from 1.5 to 1.6 (#1263)
-commit 028c504a43e962a725c4fd73d6642ee73c653e1b
+commit 0f16986738725799237548ce6a2ea12516850e72
+Merge: cbee789 0863ccf
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-18 12:30:11 +0200
+Date: 2020-09-16 11:52:10 +0200
- test_decode_area: fix to make it work with odd image dimensions
+ Merge pull request #1276 from rouault/fix_1243
+
+ Encoder: avoid uint32 overflow when allocating memory for codestream buffer (fixes #1243)
-commit 5597522cac96b1bc6d48a447751b1c6049248eef
+commit 0863ccf291238de15ca00da366b4c40fa9ffb673
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-18 10:16:38 +0200
+Date: 2020-09-16 11:27:53 +0200
- bmp_read_rle8_data(): avoid potential infinite loop (#996)
+ Encoder: avoid uint32 overflow when allocating memory for codestream buffer (fixes #1243)
-commit 5d12806091eab0659431fefcefdb797b09f8e884
+commit cbee7891a0ee664dd83ca09553d2e30da716a883
+Merge: 172c8ae e8e258a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 19:18:48 +0200
+Date: 2020-06-30 22:05:13 +0200
- opj_j2k_update_rates(): grow tile size buffer for some situations
+ Merge pull request #1262 from rouault/fix_1261
+
+ opj_decompress: fix double-free on input directory with mix of valid and invalid images
-commit 4b0bfbfabc3ce1cc4c6d18dc7113b9f6335372d4
+commit e8e258ab049240c2dd1f1051b4e773b21e2d3dc0
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 16:07:19 +0200
+Date: 2020-06-28 14:19:59 +0200
- Zero-initialize tile buffer regions of skipped code-blocks, so as to make Valgrind happy
+ opj_decompress: fix double-free on input directory with mix of valid and invalid images (CVE-2020-15389)
+
+ Fixes #1261
+
+ Credits to @Ruia-ruia for reporting and analysis.
-commit fe338a057c39797bf61939471ebaef09e44464c7
+commit 172c8ae5cf230ff74b5814daf29e5b577aa30a9b
+Merge: e252438 b028e8d
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-14 13:23:57 +0200
+Date: 2020-06-22 22:35:44 +0200
- Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area()
+ Merge pull request #1260 from sebras/fix-issue-1259
+
+ openjp2: Plug image leak when failing to allocate codestream index.
-commit 17ea17f487a777d14bd322ac06c4e6cb9124a226
+commit e252438d5e23e6ba9561e73a5a4754713bfd626a
+Merge: 98150d0 79b199a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 19:05:29 +0200
+Date: 2020-06-22 22:12:08 +0200
- Fix -Wconversion warning
+ Merge pull request #1258 from sebras/fix-issue-1257
+
+ openjp2: Plug memory leak when setting data as TLS fails.
-commit fd8448ed446a935da3210821a783e794ede3c599
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 17:04:48 +0200
+commit b028e8d1ce7798f61c35b1b20d836f80d78a35d0
+Author: Sebastian Rasmussen <sebras@gmail.com>
+Date: 2020-06-23 02:18:19 +0800
+
+ openjp2: Plug image leak when failing to allocate codestream index.
+
+ This fixes issue #1259.
+
+commit 79b199a8fee2a0d51d4389fcde3f5f4dd01971eb
+Author: Sebastian Rasmussen <sebras@gmail.com>
+Date: 2020-06-23 02:18:19 +0800
- bench_dwt.c: fix signedness related warnings
+ openjp2: Plug memory leak when setting data as TLS fails.
+
+ Previously the Tier 1 handle was not freed when setting it as
+ TLS failed.
+
+ This fixes issue #1257.
-commit da046b73a89806eae2f7f461c2a46bda7e07aaa8
+commit 98150d09422149305c9c8648337a744df5786fbe
+Merge: 25fb144 93b9f72
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 17:02:40 +0200
+Date: 2020-06-22 21:03:23 +0200
- convert.c: fix recently introduced -Wsign-conversion warnings
+ Merge pull request #1256 from sebras/master
+
+ openjp2: Error out if failing to create Tier 1 handle.
-commit 9f7d79fd30df3712e6bfc6d475bfa143c069c4df
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 14:52:10 +0200
+commit 93b9f7236ce09614ea5edcb0f616f1b4095c4830
+Author: Sebastian Rasmussen <sebras@gmail.com>
+Date: 2020-06-23 02:18:19 +0800
- opj_getopt_long(): avoid infinite loop on invalid or missing value for an option (#736)
+ openjp2: Error out if failing to create Tier 1 handle.
+
+ Previously when the handle failed to be created (e.g. when
+ opj_calloc returned NULL due to low memory), the code still
+ assumed that the t1 handle pointer was valid and dereferenced
+ NULL, causing a crash. After this commit OpenJPEG will instead
+ error out under this condition.
+
+ This fixes issue #1255.
-commit 1ab6e0e07a67193564811c5720a69cb28f09a809
+commit 25fb144c42f97489594302e1e6ff886791e0a5b3
+Author: szukw000 <szukw000@arcor.de>
+Date: 2020-06-10 17:40:50 +0200
+
+ Testing for invalid values of width, height, numcomps (#1254)
+
+commit 1c5627ee7406f84cfb40809b7ac31c63342427df
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 12:01:16 +0200
+Date: 2020-05-24 15:38:21 +0200
- opj_decompress_fuzzer.cpp: reject images with too big tiles. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2918. Credit to OSS Fuzz
+ T1 encoder: speed-up by aggressive inlining and more cache friendly data organization
+
+ ~ 9% speed improvement seen on 10980x10980 uint16 image, T36JTT_20160914T074612_B02.tif
+ opj_compress time from 17.2s to 15.8s
-commit 2cd30c2b06ce332dede81cccad8b334cde997281
+commit 1e931fdb3655c64ab60ea5657f79309331a86485
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 11:47:40 +0200
+Date: 2020-05-22 23:57:51 +0200
- tgatoimage(): avoid excessive memory allocation attempt, and fixes unaligned load (#995)
+ Forward DWT 9-7: major speed up by vectorizing vertical pass
+
+ `bench_dwt -I -encode` times goes from 8.6s to 2.1s
-commit 09e83407fa2b53c606d3179031b8d8b31272e20c
+commit a38e970fa59abd796c703ec469e578b09f7ffa33
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-17 11:05:53 +0200
+Date: 2020-05-22 17:50:15 +0200
- Avoid asserting on assert(i == pcol) in opj_jp2_apply_pclr() by adding new check in opj_jp2_check_color(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3068. Credit to OSS Fuzz
+ Forward DWT 5-3: major speed up by vectorizing vertical pass
+
+ `bench_dwt -encode` times goes from 7.9s to 1.7s
-commit 8e6c371e66d9c579048fd336cc3365869486080a
+commit e69fa09f604bc472f9fbff5c2b2db65e8dbe2418
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 18:29:59 +0200
+Date: 2020-05-22 15:58:47 +0200
- opj_t1_encode_cblk(): avoid uint32 overflow when numbps = 0 (which is well defined behaviour, and is properly handled here, but better avoid it to detect real issues)
+ Forward DWT: small code refactoring to allow future improvements for the vertical pass
-commit 1e387de74273c4dac618df94475556541c1caf3e
+commit 33d3d0de07be710f53940c7548b9f2bd58ff3210
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 17:38:47 +0200
+Date: 2020-05-22 15:06:29 +0200
- Fix build issue of JPWL by adding opj_image_data_alloc() and opj_image_data_free() to src/lib/openmj2 (#994)
+ dwt.c: remove unused typedef
-commit c535531f03369623b9b833ef41952c62257b507e
+commit 97b384aecdeea0c286213f5caf6244ec08ea32d7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 17:20:29 +0200
+Date: 2020-05-22 15:03:40 +0200
- opj_t2_encode_packet(): fix potential write heap buffer overflow (#992)
+ Forward DWT 5x3: performance improvements in horizontal pass, and modest in vertical pass
-commit dcac91b8c72f743bda7dbfa9032356bc8110098a
+commit bd5f5ee7dea851aedae630fee094ef3b0ff0c888
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 17:09:10 +0200
+Date: 2020-05-21 21:20:19 +0200
- opj_j2k_write_sot(): fix potential write heap buffer overflow (#991)
+ Forward DWT: small code refactoring to allow future improvements for the horizontal pass
-commit af760007711bf93041d3eba3a41b9a48d365f303
+commit 45a35223b79dee65a0059f999b690072e829669f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 13:36:52 +0200
+Date: 2020-05-21 16:54:48 +0200
- tiftoimage(): fix read heap buffer overflow (#988)
+ Speed-up 9x7 IDWD by ~30% with OPJ_NUM_THREADS=2
- The number of components is given only by TIFFTAG_SAMPLESPERPIXEL / tiSpp.
- Querying TIFFTAG_EXTRASAMPLES only give information about which channel is
- the alpha channel, but we mostly ignore it for now, so remove that part of the
- code.
+ "bench_dwt -I" time goes from 2.2s to 1.5s
-commit ab4de904e7dc1deee83122cd2bf6e0e7f4eb2eb0
+commit 272b3e0fb2530ca8bffdc8c64f1505a8ff5f6ecc
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 13:11:36 +0200
+Date: 2020-05-21 11:24:29 +0200
- imagetotga(): fix read heap buffer overflow if numcomps < 3 (#987)
+ Remove useless + 5U margin in opj_dwt_decode_tile_97()
+
+ Nothing in code analysis nor test suite shows that this margin is
+ needed.
+ It dates back to commit dbeebe72b9d35f6ff807c21c7f217b569fa894f6
+ where vector 9x7 decoding was introduced.
-commit 9624b2fa4722edf77fbac631e7dacaae12c91672
+commit 47943daa15983d20ab1ffd0a237125f1493c5658
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-16 12:52:33 +0200
+Date: 2020-05-21 11:23:00 +0200
- opj_t2_encode_packet(): only emit an error about insufficiently large output buffer in FINAL_PASS mode. Fixes (master-only) regression added in 0b4fef6d1901254e41ab74ed681daba477d724c3
+ Speed-up 9x7 IDWD by ~20%
+
+ "bench_dwt -I" time goes from 2.8s to 2.2s
-commit 4241ae6fbbf1de9658764a80944dc8108f2b4154
+commit 0c09062464fe74f62fb9a4da829992c6a8bd7920
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-15 11:55:58 +0200
+Date: 2020-05-20 23:20:48 +0200
- Fix assertion in debug mode / heap-based buffer overflow in opj_write_bytes_LE for Cinema profiles with numresolutions = 1 (#985)
+ bench_dwt.c: add a -I switch to test irreversible FWDT/IDWT
-commit 52d5690a6fcba86b5f117eeac8aca1971cac3688
-Merge: baf0c1a bc59410
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-08-14 17:28:26 +0200
+commit 19ef7f26c43f689b627aad642da7f6150893b863
+Merge: 1d358f2 f3ee448
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-05-20 21:10:55 +0200
- Merge pull request #984 from stweil/const
+ Merge pull request #1211 from sebras/master
- Use more const qualifiers
+ Add check to validate SGcod/SPcoc/SPcod parameter values.
-commit baf0c1ad4572daa89caa3b12985bdd93530f0dd7
+commit adccbc8336ce5c46ca7de85ac364d9c992d337c7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-14 17:26:58 +0200
+Date: 2020-05-20 19:24:09 +0200
- bmp_read_info_header(): reject bmp files with biBitCount == 0 (#983)
+ Irreversible decoding: partially revert previous commit, to fix failures in test suite
-commit afb308b9ccbe129608c9205cf3bb39bbefad90b9
+commit 1d358f25c8eabbc7c274bcc148f4f5d594ec13fe
+Merge: 64689d0 4edb8c8
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-14 17:20:37 +0200
+Date: 2020-05-20 20:29:31 +0200
- Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush (#982)
+ Merge pull request #1246 from rouault/write_plt
+
+ Add support for generation of PLT markers in encoder
-commit bc59410f253b0cd3d4818ec06ce957cbdbfe4341
-Author: Stefan Weil <sw@weilnetz.de>
-Date: 2017-08-14 14:36:06 +0200
+commit 4edb8c83374f52cd6a8f2c7c875e8ffacccb5fa5
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-04-21 15:55:44 +0200
- Use const qualifier for mqc_states
+ Add support for generation of PLT markers in encoder
- This allows more compiler optimizations.
+ * -PLT switch added to opj_compress
+ * Add a opj_encoder_set_extra_options() function that
+ accepts a PLT=YES option, and could be expanded later
+ for other uses.
- Signed-off-by: Stefan Weil <sw@weilnetz.de>
-
-commit 10e6ce2c2cfacf51fdde7e9c69bf2365840f4bb0
-Author: Stefan Weil <sw@weilnetz.de>
-Date: 2017-08-13 22:57:31 +0200
-
- Use const qualifier for j2k_prog_order_list
+ -------
- This allows more compiler optimizations.
+ Testing with a Sentinel2 10m band, T36JTT_20160914T074612_B02.jp2,
+ coming from S2A_MSIL1C_20160914T074612_N0204_R135_T36JTT_20160914T081456.SAFE
- Signed-off-by: Stefan Weil <sw@weilnetz.de>
+ Decompress it to TIFF:
+ ```
+ opj_uncompress -i T36JTT_20160914T074612_B02.jp2 -o T36JTT_20160914T074612_B02.tif
+ ```
+
+ Recompress it with similar parameters as original:
+ ```
+ opj_compress -n 5 -c [256,256],[256,256],[256,256],[256,256],[256,256] -t 1024,1024 -PLT -i T36JTT_20160914T074612_B02.tif -o T36JTT_20160914T074612_B02_PLT.jp2
+ ```
+
+ Dump codestream detail with GDAL dump_jp2.py utility (https://github.com/OSGeo/gdal/blob/master/gdal/swig/python/samples/dump_jp2.py)
+ ```
+ python dump_jp2.py T36JTT_20160914T074612_B02.jp2 > /tmp/dump_sentinel2_ori.txt
+ python dump_jp2.py T36JTT_20160914T074612_B02_PLT.jp2 > /tmp/dump_sentinel2_openjpeg_plt.txt
+ ```
+
+ The diff between both show very similar structure, and identical number of packets in PLT markers
+
+ Now testing with Kakadu (KDU803_Demo_Apps_for_Linux-x86-64_200210)
+
+ Full file decompression:
+ ```
+ kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp.tif
+
+ Consumed 121 tile-part(s) from a total of 121 tile(s).
+ Consumed 80,318,806 codestream bytes (excluding any file format) = 5.329697
+ bits/pel.
+ Processed using the multi-threaded environment, with
+ 8 parallel threads of execution
+ ```
+
+ Partial decompresson (presumably using PLT markers):
+ ```
+ kdu_expand -i T36JTT_20160914T074612_B02.jp2 -o tmp.pgm -region "{0.5,0.5},{0.01,0.01}"
+ kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp2.pgm -region "{0.5,0.5},{0.01,0.01}"
+ diff tmp.pgm tmp2.pgm && echo "same !"
+ ```
+
+ -------
+
+ Funded by ESA for S2-MPC project
+
+commit 64689d05dfaaf52105581d93fb1eb173b20829a4
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-04-18 18:25:44 +0200
+
+ struct opj_j2k: remove unused fields, and add some documentation
-commit 0b4c3ce75d11600ebc6675bd871f78ca3c95bc60
-Merge: a35b489 9f75088
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-08-11 15:13:35 +0200
+commit 774889a328abd5d3c280d9a897f1ac4c672cb0e5
+Merge: b6b7e96 271a71e
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2020-04-17 00:39:46 +0200
- Merge pull request #980 from szukw000/changes-for-ppc64-converttif
+ Merge pull request #1244 from rouault/fix_pi_warnings
- Changes in converttif.c for PPC64
+ Fix warnings about signed/unsigned casts in pi.c
-commit 9f750884f91a4f1b9ca3e6a401057c21a7e2bd99
+commit b6b7e96b0cf7819ef6a2e8ba2f8bdaaf938326ed
Author: szukw000 <szukw000@arcor.de>
-Date: 2017-08-11 00:06:23 +0200
+Date: 2020-04-17 00:37:33 +0200
- Changes in converttif.c for PPC64
+ color_apply_icc_profile: add checks on the number of components (#1236)
-commit a35b4891340dcecf2b248c7e57a90bf7d7aa9b2f
+commit 271a71ef0f1dd4740c9f4474279c7da8d15850c9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-08-10 16:58:36 +0200
+Date: 2020-04-16 20:52:44 +0200
+
+ Fix warnings about signed/unsigned casts in pi.c
- Fix argument order in error message of previous commit
+commit f3ee448815eb992b8d4746e32c05e8289f30415f
+Author: Sebastian Rasmussen <sebras@gmail.com>
+Date: 2018-10-31 15:56:11 +0100
+
+ openjp2/j2k: Validate all SGcod/SPcod/SPcoc parameter values.
+
+ Previously the multiple component transformation SGcod(C)
+ and wavelet transformation SPcod(H)/SPcoc(E) parameter
+ values were never checked, allowing for out of range values.
+
+ The lack of validation allowed the bit stream provided in
+ issue #1158 through. After this commit an error message
+ points to the marker segments' parameters as being out of
+ range.
+
+ input/nonregression/edf_c2_20.jp2 contains an SPcod(H) value
+ of 17, but according to Table A-20 of the specification only
+ values 0 and 1 are valid. input/nonregression/issue826.jp2
+ contains a SGcod(B) value of 2, but according to Table A-17
+ of the specification only values 0 and 1 are valid.
+ input/nonregression/oss-fuzz2785.jp2 contains a SGcod(B)
+ value of 32, but it is likewise limited to 0 or 1. These test
+ cases have been updated to consistently fail to parse the
+ headers since they contain out of bounds values.
+
+ This fixes issue #1210.
...</pre></div>