<br/>
<h1>Changelog from Git</h1><br/><br/>
<div class='changelog'>
-<pre class='wrap'>commit 3fbe71369019df0b47c7a2be4fab8c05768f2f32
+<pre class='wrap'>commit ce199f42e77f972d6ee782b63492f6d861891053
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 18:38:16 +0200
+Date: 2017-09-19 12:48:12 +0200
- opj_tcd_get_decoded_tile_size(): fix potential UINT32 overflow (#854, CVE-2016-5152)
-
- Fix derived from https://pdfium.googlesource.com/pdfium.git/+/d8cc503575463ff3d81b22dad292665f2c88911e/third_party/libopenjpeg20/0018-tcd_get_decoded_tile_size.patch
-
-commit 5a3e7aaf339943bc988adbada39a1fc8f5046899
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 17:56:12 +0200
+ src/bin/jp3d/convert.c: add missing fclose() in error code path (#1018)
- color_cielab_to_rgb(): reject images with components of different dimensions to void read heap buffer overflow (#909)
-
-commit 784d4d47e97b5d0fccccbd931349997a0e2074cc
+commit fdef69b43ce5222ac0f2a87f2fad1442ece340e8
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 17:51:10 +0200
+Date: 2017-09-19 12:46:20 +0200
- Fix breakage of 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0 (#970)
+ Fix warnings and errors when compiling with a c++ compiler (#1021)
-commit 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0
+commit 18f6696372f4c32334385f8dcc8d39ad8ac24601
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 17:28:55 +0200
+Date: 2017-09-19 12:13:34 +0200
- imagetopnm(): make sure the alpha component has same dimension as other components to avoid read heap buffer overflow (#970)
+ Fix compilation with AppleClang 8.1.0.8020042 (#1020)
-commit db9ef99f6dd054a84fa8382c02869fb0656abfc8
+commit 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 16:34:35 +0200
+Date: 2017-09-17 12:17:49 +0200
- opj_t1_decode_cblk(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2487. Credit to OSS Fuzz
+ Build: make sure that -DBUILD_SHARED_LIBS:bool=off is honoured to build only the static lib (#1019)
-commit f6551f822fe020843299bd807ec6989abd070b2c
+commit 28094e1ebfa420f9a0bdc7a11b8d4ee5f154db35
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 16:29:11 +0200
+Date: 2017-09-08 10:56:49 +0200
- opj_t1_clbl_decode_processor(): avoid undefined behaviour if roishift >= 31. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2506. Credit to OSS Fuzz
+ 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
-commit 9906fbf737692486cebabe98169988d818e2e66a
+commit 33167ddc13fd20313ccfcdc64141000407b68b8f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 16:22:36 +0200
+Date: 2017-09-08 09:53:52 +0200
- Avoid assertion in opj_j2k_merge_ppt() in case premature EOC is encountered in opj_j2k_read_tile_header(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2785. Credit to OSS Fuzz
+ opj_j2k_update_image_data(): restrict optimized path
-commit 71b4f5b124d14ed609763b11e19d2d480bc32f58
+commit b73ce715d2a484d7355639d863d0418a0e5b8858
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-29 15:52:11 +0200
+Date: 2017-09-08 09:16:51 +0200
- opj_pi_next_pcrl(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2787. Credit to OSS Fuzz
+ Use opj_image_data_free() where appropriate (adapted from https://github.com/uclouvain/openjpeg/pull/1015/commits/dab9db0723a5bb9f3d745f9dd7a0b8b3b18b8054, #1014)
-commit d6654d906c1ae66590b6d600458a91f1ee923de5
+commit 5abd86b14bb26d1882ee1c07b03f809f85162a5d
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-28 22:15:47 +0200
+Date: 2017-09-07 18:01:33 +0200
- opj_int_ceildiv(): fix int32 overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2494. Credit to OSS Fuzz
+ Properly fix cc893a4ebfaf8c42cf1221ac82c83df91e77340b to avoid heap-buffer-overflow when numcomps < 3
-commit 361c4506fdfb9b6f0e41d86d5d0ea1efb5704ecf
+commit 51a1dcaa6ed5713520dca36fc58cd9240c08b7ca
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-28 22:06:26 +0200
+Date: 2017-09-07 17:52:59 +0200
- opj_tcd_dc_level_shift_decode(): avoid int overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2516. Credit to OSS Fuzz
+ Avoid malloc poisoning issue when including <pthread.h> of uclibc (#1013)
-commit 7bdbe490cba9990916f94a40379cc787434340ff
+commit cc893a4ebfaf8c42cf1221ac82c83df91e77340b
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-28 21:55:22 +0200
+Date: 2017-09-07 15:32:54 +0200
- Fix null pointer dereference in opj_jp2_apply_pclr(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2558. Credit to OSS Fuzz
+ 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)
-commit 16aeb9282f6b3877aa8365c461ba8d3d1338adae
+commit c67e1cd73f6c1fca081f5445af4f65b240c40edc
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-28 21:39:30 +0200
+Date: 2017-09-06 17:33:38 +0200
- Fix null pointer dereference in opj_j2k_add_mct() (#895)
-
- Fixes openjeg-crashes-2017-07-27/issue879-poc1.j2k of #895
+ Fix invalid access out of bounds, and bad behaviour, when calling repeatdly opj_get_decoded_tile() on an image with a color palette
-commit c5bf5ef4d6552e9159aaad29cb27826acd1a3389
+commit 297f202104fc0ff6b0627e15e7e6883c915f80bf
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-28 21:29:55 +0200
+Date: 2017-09-06 16:49:28 +0200
- Avoid use-after-free when a MCT marker is found after a MCC one (#895)
+ 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
- Fixes openjeg-crashes-2017-07-27/issue880-poc2.j2k of #895
+ This check was introduced per #939, but relied on the incorrect assumption
+ we decode all the tile parts of all tiles.
-commit e03e9474667e5117341351699f0b1dbb06f93346
+commit 003759a4829f3f1baa5a2292956618fecf314818
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-27 22:29:17 +0200
+Date: 2017-09-06 15:59:19 +0200
- Avoid undefined shift behaviour if bit depth == 32 (#895)
-
- Fixes openjeg-crashes-2017-07-27/id:000000,sig:11,src:003798,op:ext_AO,pos:128.jp2
+ 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 820fcfe8bb101a2862c076b02c9b6b636ce39d2f
+commit e656822f927c869f31f2685c67644eacb75fc5d2
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-27 19:34:54 +0200
+Date: 2017-09-05 23:32:03 +0200
- opj_j2k_update_image_data / opj_tcd_update_tile_data: fix unaligned load/store (#895)
+ Add knownfailures-Ubuntu12.04-gcc4.6.3-x86_64-Release-3rdP.txt
- When components don't have the same width, unaligned load/store are possible.
+ 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
- Fixes openjeg-crashes-2017-07-27/id:000000,sig:11,src:001342,op:flip4,pos:162.jp2 of #895
+ The errors we get are the same as with the other x86_64 compilers, so nothing alarming here.
-commit 6c4e5bacb9d9791fc6ff074bd7958b3820d70514
-Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-27 19:22:14 +0200
+commit 968e36bbd989fdf789c6a02c80c747346bb851c5
+Merge: 3a382d3 579b893
+Author: Even Rouault <even.rouault@mines-paris.org>
+Date: 2017-09-05 22:18:58 +0200
- opj_pi_next_rpcl / opj_pi_next_pcrl / opj_pi_next_cprl: avoid int overflow (#895)
+ Merge pull request #1010 from rouault/subtile_decoding_stage3
- Fixes int overflow on openjeg-crashes-2017-07-27/id:000000,sig:08,src:000879,op:flip2,pos:128.jp2
+ Subtile decoding: memory use reduction and perf improvements
-commit 178194c093422c9564efc41f9ecb5c630b43f723
+commit 579b8937eae7e6b6868b8b5c6286a742c10a5130
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-27 18:51:51 +0200
+Date: 2017-09-04 17:35:52 +0200
- opj_jp2_check_color(): replace assertion regarding mtyp by runtime check (#672, #895)
-
- Fixes test case openjeg-crashes-2017-07-27/id:000000,sig:06,src:000001,op:flip1,pos:808.jp2
- of #895
+ Replace uses of size_t by OPJ_SIZE_T
-commit d6fa30099797c68c6a67decf58571dd59dbf734b
+commit 3a382d312306f45853b3ad78b770754d4bc7e440
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 23:25:38 +0200
+Date: 2017-09-03 00:30:36 +0200
- Avoids undefined shift behaviour in m_dc_level_shift computation
-
- Fixes warning found on clusterfuzz-testcase-minimized-5146316340461568
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2495
-
- Credit to OSS Fuzz
+ opj_getopt.c: avoid crash on invalid input (#301)
-commit a88cbb6a0b3539461dfb29922102953b7a7fc3a7
+commit e5ab1682a1bf52c203b16720011d869901929ac9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 22:53:59 +0200
+Date: 2017-09-02 09:10:53 +0200
- Fix various undefined shift behaviour in pi.c
-
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2496
- Credit to OSS Fuzz
+ Improve error message when specifying a too big cp_reduce parameter (#474)
-commit 6c5fe9407b7768eb2ac55b83511bc103551d207a
+commit c1e0fba0c46cb528a08b89b986e86ff0f4792558
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 22:22:44 +0200
+Date: 2017-09-01 22:09:58 +0200
- Avoid potential undefined shift behaviour in opj_bio_read() from opj_t2_read_packet_header()
-
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2485
- Credit to OSS Fuzz
-
-commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1
-Merge: 5e795d9 94c4b73
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-07-26 22:05:32 +0200
+ opj_v4dwt_decode_step1_sse(): rework a bit to improve code generation
- Merge pull request #800 from rouault/tier1_optimizations_multithreading_pterm_check
-
- Implement predictive termination check
-
-commit 94c4b7300cc515330bf798bb45eb0d68e2c84aa0
+commit 676d4c807f0162877f9f32e4cdda2e242788d410
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 21:39:50 +0200
+Date: 2017-09-01 21:36:35 +0200
- T1 decoder: check code stream errors when predictable termination is enabled and emit a warning when errors are found
+ opj_j2k_update_image_data(): avoid allocating image buffer if we can just reuse the tile buffer one
-commit 5e795d90a1e47616e0c7a2e39381c13ccf7fd6dd
+commit 4c7effa6bc37beb2a8e2f29ecf5845cde93f6b88
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 21:06:38 +0200
+Date: 2017-09-01 21:17:26 +0200
- Spelling fixes (patch by ka7, #890, rebased on top of master)
+ opj_t1_clbl_decode_processor(): use SSE2 in subtile decoding code path, for irreversible
-commit 2be20ce7d9996e960d79f3ad6ec439a9895849ed
+commit 2c365fe0ecc8c6597db491a953a91308b1d0d4b1
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 21:04:01 +0200
+Date: 2017-09-01 20:43:39 +0200
- Reformat src/bin/wx/OPJViewer/source/OPJThreads.cpp src/bin/wx/OPJViewer/source/imagjpeg2000.cpp wrapping/java/openjp2/JavaOpenJPEG.c
+ 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)
-commit 94cc97c58acfa574e734fac5eb673c516c0ac469
+commit 559d16e8f43a0cd090d217d7d111820989299b85
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 20:13:09 +0200
+Date: 2017-09-01 16:31:13 +0200
- opj_decompress: fix null pointer dereference on comps[].data on id_000167,sig_11,src_006079,op_havoc,rep_4 (#939)
+ opj_t1_decode_cblk(): move some code to codeblock processor for (theoretical) better multi-threading in subtile decoding
-commit 8d2e69e37d01bf6a0440d3109d92235c3c586ffe
+commit 7017e67a01c378a7a1ee5e34dd544c793b5c23e4
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 19:49:38 +0200
+Date: 2017-09-01 16:31:10 +0200
- Fix assertion / memory leak in opj_j2k_merge_ppt() on corrupted images (#939)
-
- Fixes issue on id:000020,sig:06,src:001958,op:flip4,pos:149 that has two
- SOT markers for the same tile with the same tile part number, causing
- opj_j2k_merge_ppt() to be called several times.
+ sparse_array: optimizations for lossy case
-commit 5c5319984b81e2aa32d1d83abdef0cdb8dbe7b18
+commit b428b8c7e7227cf96c83229df4d7bf009b6d2172
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 18:05:56 +0200
+Date: 2017-09-01 20:01:39 +0200
- Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl, opj_pi_next_cprl (#938)
+ opj_tcd_rateallocate(): make sure to use all passes for a lossless layer (#1009)
- Fixes crash on id_000004,sig_06,src_000679,op_arith8,pos_49,val_-17
+ And save a useless loop, which should be a tiny faster.
-commit 80818c39f5bfbac37768fcee95b0ffeceaa77264
+commit 7aa071aa273aa0b8fafbf055e5eb99b9cb8600a8
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 12:24:26 +0200
+Date: 2017-09-01 19:49:01 +0200
- Avoid index out of bounds access to pi->include[] (#938)
-
- Fix id:000098,sig:11,src:005411,op:havoc,rep:2 test case
+ opj_j2k_setup_encoder(): emit warnings if tcp_rates are not decreasing or tcp_distoratio are not increasing (#1009)
-commit d27ccf01c68a31ad62b33d2dc1ba2bb1eeaafe7b
+commit a538815c774db94a0d3fa323c9ca4f456ef04903
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-26 11:30:56 +0200
-
- Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl and opj_pi_next_cprl (#938)
-
- Fixes issues with id:000026,sig:08,src:002419,op:int32,pos:60,val:+32 and
- id:000019,sig:08,src:001098,op:flip1,pos:49
+Date: 2017-09-01 19:27:56 +0200
-commit 39e962a0ca5e53722f6badda8e93681aad412cf1
-Merge: 60f8ddf 90ced71
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-07-13 13:33:21 +0200
-
- Merge pull request #969 from jeroen/staticlibs
-
- install static libraries
+ opj_j2k_setup_encoder(): avoid potential int overflow in computations related to max_cs_size
-commit 90ced71601f05e87b4fa922261554eeeb11118b9
-Author: Jeroen <jeroenooms@gmail.com>
-Date: 2017-07-13 11:34:15 +0200
-
- install static libraries
-
-commit 60f8ddf577b20ccbb3dc0559b624115b9ba522ba
+commit 09929bb615bd6bf2a9f7703fc7b04a12096b091e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-06 12:11:37 +0200
+Date: 2017-09-01 19:16:35 +0200
- Comment fix
+ 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)
-commit a38c4496b631bb5d3f8d5ea42d394544523a9bc6
+commit 32572617765cb9d77302384653a48d793b8f657f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-05 21:33:42 +0200
+Date: 2017-09-01 17:32:54 +0200
- Remove unused m_DA_x0, m_DA_y0, m_DA_x1, m_DA_y1 members from opj_j2k_dec structure
+ opj_compress help: indicate 0 value, instead of 1, for -r parameter to get lossless encoding (#1009)
-commit 1a8eac6a90ca61f3703f9b97afc2ec4918f0ab55
+commit 8a17be8945f6f8fcae3f9e5c7c4988e971d245ee
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-03 14:14:03 +0200
+Date: 2017-09-01 16:31:08 +0200
- Add tests/fuzzers for OSS Fuzz (#965)
+ opj_v4dwt_decode_step2_sse(): loop unroll
-commit c308de39edc1697efbd5c10dc4852a58f9b86558
+commit 83b5a168ec0e89210671d60670c9a1143ce8776b
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-03 14:33:57 +0200
-
- opj_j2k_read_header_procedure(): validate marker size to avoid excessive memory allocation attempt
-
-commit 5736b1a3683261a5b31fc19a691731dc9fce5920
-Merge: ecbfcbc a0839cc
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-07-03 12:03:29 +0200
-
- Merge pull request #954 from jeroen/static
-
- build both shared and static library
-
-commit ecbfcbc2764ff1b09e693d57e3ef5764518f1e1c
-Merge: e673c8b 96d757c
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-07-01 13:51:52 +0200
+Date: 2017-09-01 16:31:06 +0200
- Merge pull request #964 from rouault/remove_useless_knownfailures
-
- Remove useless knownfailures (since LAZY encoding is fixed)
-
-commit e673c8bd4da9f0414da472ac5f3d8e03e5102982
-Merge: 8fa405e b992376
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-07-01 12:54:39 +0200
+ opj_dwt_decode_partial_97(): simplify/more efficient use of sparse arrays in vertical pass
- Merge pull request #963 from rouault/travis_avx2
-
- Enable AVX2 at runtime on Travis-CI and AppVeyor
-
-commit b9923764da198742c635ad7dff9de158c3dbb60d
+commit ae19001ba425a9b396a29fba3417dccc746bd2ef
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-01 04:15:36 +0200
+Date: 2017-09-01 16:31:04 +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)
+ opj_tcd_dc_level_shift_decode(): optimize lossy case
-commit f194ff32ac3fd5bab88607ea6bf09a73adb99758
+commit 470f3ed416a8cc3618b2c04000ea7b4694043f34
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-01 02:53:55 +0200
+Date: 2017-09-01 16:31:02 +0200
- appveyor.yml: add a /arch:AVX2 config on Windows
-
- Try running the tests if the CPU supports AVX2.
+ opj_dwt_decode_partial_1_parallel(): add SSE2 optimization
-commit 96d757cb8e6c3fb0e133817e5057ee5eae6a594d
+commit 873004c615b1bed3ce780e869288602af86fdee5
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-01 04:24:46 +0200
+Date: 2017-09-01 16:31:00 +0200
- Remove useless knownfailures (since LAZY encoding is fixed)
+ Sub-tile decoding: speed up vertical pass in IDWT5x3 by processing 4 cols at a time
-commit 69a001819c9ac36bb3210e475d099cc2abbbf89f
+commit ccac773556070ede24ea3dfbdec47c2b3c5be5c4
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-07-01 01:46:55 +0200
+Date: 2017-09-01 16:30:58 +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
+ Tiny perf improvement in T1 stage for subtile decoding
-commit 8fa405ee15b5151df40d8d96460257ee5b510135
+commit 18635df518602265b71da3c70c4d3b774bc3dfc2
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-30 00:03:05 +0200
+Date: 2017-09-01 16:30:56 +0200
- IDWT 5x3: fix bug in AVX2 implementation (#953, #957)
+ test_decode_area: accept user bounds in -strip_height mode
-commit 6239ed7be41d370c537ca43e198cf2fdc6eb9a60
+commit 82a43d8035ca5f43e198e15faef6c9ac44b39541
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-26 13:13:26 +0200
-
- INSTALL.md: add section discussing how to enable CPU specific optimizations
+Date: 2017-09-01 16:30:54 +0200
-commit 533fa2fdee4f69a5d7bb8f0b1c0a8f432dad334f
-Merge: 6026786 4fe7620
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-06-26 12:45:34 +0200
+ Optimize opj_dwt_decode_partial_1() when cas == 0
- Merge pull request #957 from rouault/idwt_53_improvements
-
- IDWT 5x3 single-pass lifting and SSE2/AVX2 implementation
-
-commit 60267860698b86e215bee584857e6b4f2f08b693
+commit 1644665a9105e2d761e8b29f43af602560e6bcf9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-21 13:20:35 +0200
+Date: 2017-09-01 16:30:52 +0200
- Style fix
+ opj_j2k_update_image_data(): avoid zero-ing the buffer if not needed
-commit 93aca84731bfffb20e968af10055a8cd0401806e
+commit b2cc8f7f81242f967b65e76de043e5e31663d793
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-21 12:54:40 +0200
+Date: 2017-09-01 16:30:50 +0200
- Fix mingw related warnings
+ Optimize reading/write into sparse array
-commit cdd3e83bae71e1e023c4c2bdd5e52d082576e550
+commit 0ae3cba3404674bbe2028ea9a801301a4c951b33
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-21 12:49:01 +0200
+Date: 2017-09-01 16:30:48 +0200
- Fix clang warning about extraneous parentheses
+ 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.
-commit 4fe7620d4adc131c3ff93bb47bb8d138d69c9cbd
+commit 5d07d463fdb0a5eeffa90eba1566cc21697011b8
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-21 12:28:51 +0200
+Date: 2017-09-01 16:30:45 +0200
- .travis.yml: add a configuration to test compilation of AVX2 (but disable tests since Travis doesn't have AVX2 compatible machines)
+ opj_j2k_decode_tiles(): apply whole single tile image decoding optimization to reading at reduced resolution as well
-commit fd0dc535ad9ae0d369d1039aaf56235583ca64ea
+commit 98b93103613c90753fb6c57696f9403f8ea0b1d6
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-21 12:12:58 +0200
+Date: 2017-09-01 16:30:44 +0200
- IDWT 5x3: generalize SSE2 version for AVX2
+ Various changes to allow tile buffers of more than 4giga pixels
- 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.
+ 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...
-commit f6e3475cc9328e5378e96e72b5adf29fb07c5feb
+commit 008a12d4fce0a7b1eabc51e04ed339be759646e2
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-21 01:07:56 +0200
+Date: 2017-09-01 16:30:41 +0200
- dwt.c: small cleanup
+ TCD: allow tile buffer to be greater than 4GB on 64 bit hosts (but number of pixels must remain under 4 billion)
-commit f06cfadef8e2b1ad9008957cc6bc80a27c53f2eb
+commit d1299d9670d766006a7a162a770d3b70eaeef9bd
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-20 18:24:21 +0200
+Date: 2017-09-01 16:30:39 +0200
- Enable __SSE__ / __SSE2__ with Visual Studio
+ Fix compiler warning in release mode
-commit fa55b52d19f39765d7f108d654a8f87035a5772f
+commit d5153ba404fa13b9c6e7b2c20d4d128aac718fba
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-20 17:56:25 +0200
+Date: 2017-09-01 16:30:37 +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.
+ Remove limitation that prevents from opening images bigger than 4 billion pixels
- With the bench_dwt utility with default arguments (16383x16383 image),
- time goes from 4.064 s to 1.212 s.
+ 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.
-commit 919ed5f8b8681aeae54ce3884b3ecca56cadc2e0
+commit c37e360a5112b5471168e429159f61b74c0c2f58
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-20 17:56:19 +0200
+Date: 2017-09-01 16:30:35 +0200
- Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)
+ opj_tcd_init_tile(): fix typo on overflow detection condition (introduced in previous commit)
-commit 5c56933daf1da88aa6f2a8c8dc5fcc7b1d76cb00
-Merge: 32b20b9 8df2521
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-06-18 00:49:20 +0200
-
- Merge pull request #955 from rouault/remove_opj_nosanitize
-
- Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)
-
-commit 8df2521a6015af7f69a378811986ddb0b3bfbd3a
+commit eee5104a8885227167a349b6dabdb1f72a04d9d0
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-17 19:15:00 +0200
+Date: 2017-09-01 16:30:32 +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.
+ opj_dwt_decode_partial_tile(): avoid undefined behaviour in lifting operation by properly initializing working buffer
-commit 32b20b93e04d38303f736e975eb5f483fda01ca5
+commit f9e9942330f476b66ac4a35d0ae521200878f343
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-17 16:37:56 +0200
+Date: 2017-09-01 16:30:29 +0200
- Fix astyle issue
+ Sub-tile decoding: only allocate tile component buffer of the needed dimension
+
+ Instead of being the full tile size.
+
+ * 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.
-commit 5f596cb2833d5ea7a4d04d22af551731bd770f05
+commit aa7198146b995fe2993ce24f5715057b7da0386d
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-17 14:10:15 +0200
+Date: 2017-08-21 23:21:39 +0200
- Fix warning about unused arguments
+ opj_compress: reorder checks related to code block dimensions, to avoid potential int overflow
-commit cc07aec6c7b50090c3f471ca2c68d0ffa8aa4ff1
+commit 0a25dceca7761ee3f16cbb2ced87b915a948b25e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-17 14:09:31 +0200
-
- Fix warnings with recent GCC versions
-
-commit a0839cca24e19f1f0906e30ee1009ce89e4942b4
-Author: Jeroen Ooms <jeroenooms@gmail.com>
-Date: 2017-06-16 13:58:25 +0200
-
- only build both static and dynamic on non-windows
-
-commit 1329b3240aafb1b31328091eb6f7720787b391be
-Author: Jeroen Ooms <jeroenooms@gmail.com>
-Date: 2017-06-16 13:27:19 +0200
-
- build both shared and static library
+Date: 2017-08-21 23:20:51 +0200
-commit 36dd87cea80ad56e0e3178221aa579a28f02a549
-Merge: 9cbc990 5f1e380
-Author: Antonin Descampe <antonin@descampe.net>
-Date: 2017-06-14 17:23:06 +0200
+ opj_j2k_setup_encoder(): validate code block width/height
- Merge pull request #928 from RussellMcOrmond/master
-
- Quiet mode for opj_decompress via -quiet long parameter.
-
-commit 9cbc9903c3034d1a101d0521402503ead0abcff0
-Merge: 2609fb8 9a9b069
+commit 84bbb4a8743a93d567f40d7233d5196105c8d84e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-13 12:09:52 +0200
+Date: 2017-08-21 23:12:45 +0200
- Merge branch 't1_flag_optimizations'
+ opj_t1_allocate_buffers(): remove useless overflow checks
-commit 2609fb8077125b5b31f1bcc2f98c12ff1e6572d7
+commit 6ce49bf5aebb3c45c464fa82d14cfd4bf7026a28
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-12 17:15:23 +0100
+Date: 2017-09-01 10:26:18 +0200
- Packet header writing: set empty packet header bit to 0 when appropriate (small optimization)
+ 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
-commit 73d1510d473b7dcfccfdee57e0e511e6791d5091
+commit 04b70908a7ada29481d2e1903b76f44a68d4d268
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-12 11:23:55 +0100
+Date: 2017-08-29 11:40:53 +0200
- 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.
+ Use IDWT whole tile decoding if the area of interest equals to the image bounds, taking into account the reduced resolution factor
-commit 81c5311758a0ae1f1aea349a6ee0bca2a238fa79
+commit 4776b15fa7ec2afa74f65cd471f94513ea08205a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-09 10:47:13 +0200
+Date: 2017-08-28 18:07:44 +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.
+ Add test for fix of a55c024fc6b917a409b85aeafd7326421c4aea34
-commit 9a9b06911e164bdc854cf6b9c3bc5b6e751bf46d
+commit a55c024fc6b917a409b85aeafd7326421c4aea34
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-02 19:22:15 +0200
+Date: 2017-08-28 17:18:33 +0200
- opj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methods
+ 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
-commit 532243f1fd9997db63ea7f6b199d21138ccf58a3
+commit 8f92fc97913bec7ffa2dc10d062c0cdd19da20e4
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-02 16:49:26 +0200
+Date: 2017-08-28 14:57: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.
+ Make opj_set_decode_area() and opj_decode() take into account opj_set_decoded_resolution_factor() (#1006, affect API use)
- This kills the remains of the raw.h/.c files that were only used for
- decoding. Encoding using the mqc structure already.
+ * 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.
-commit 9b39fc4bccb3e9e4e9a9f61c4dc672fb7f05d865
+commit 5a4a10120a648848de7522245f8671c3ce285dbc
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-02 14:32:12 +0200
+Date: 2017-08-24 14:38:24 +0200
- Fix documentation of opj_t1_decode_cblks()
+ Another cleanup in knownfailures-* files
-commit dde6cbabc0cb93102c2091c15d11dec1267d0fd8
+commit e0a5d148f7e84d18a52c97bd08b21b1dffa9570a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-02 14:25:57 +0200
+Date: 2017-08-24 14:32:36 +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
+ Remove test steps from specialized knownfailures- that are already in knownfailures-all.txt
-commit 3d9940a35b8c566c1fb41db56018c91b511a976a
+commit 79aa0b54ddd3e4e3ca09374cb82bd3302a65783a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-02 11:52:16 +0200
+Date: 2017-08-24 14:31:13 +0200
- Force inlining of mqc decoding and pass steps through heavy use of macros, so as to get better register allocation
+ issue104_jpxstream.jp2 decompresses just fine (and like Kakadu). Update md5refs.txt and remove from knownfailures
-commit 7e8b502842075738c9a062a2f06dace3f35dd7cd
+commit c059f431e6262fe5ce296e8137dd478dfe4d1af1
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-02 09:36:25 +0200
+Date: 2017-08-24 14:09:34 +0200
- t1_generate_luts.c: fix compiler warnings
+ Remove broken.jpc test from known failures, by avoiding too long processing time
-commit 2ba861c37cb5032d1fa90a7c9298f6e08a0f5413
+commit 5146abc02ebd871aa1e737373cdc7654e8e4b07f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-01 19:42:03 +0200
+Date: 2017-08-24 14:09:31 +0200
- Optimize opj_t1_update_flags()
+ imagetopgx(): improve performance in 8 bit case (relates to broken.jpc test case)
-commit a0861855c11bcb8c93f399ca51e766b5c8ef9e33
+commit fdcd4e6365731cc1015213e424068131bcd1f31f
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-01 17:02:50 +0200
+Date: 2017-08-24 13:23:25 +0200
- T1: remove use of neghalf variable. It is useless since bpno is always > 0
+ Remove -NR-DEC-p1_06.j2k-156-decode and NR-DEC-p1_06.j2k-164-decode from knownfailures
+
+ and make them explicit failures. The result images are empty at the requested resolution
-commit 10410fe72ec2d20f2bbdfb68a383bce1df17f35d
+commit bc71bd1219269057ea18e6acbc77a96ec37aba82
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-01 11:15:25 +0200
+Date: 2017-08-23 18:58:32 +0200
- T1: avoid pointer indirection for mqc and raw members of opj_t1_t
+ opj_dwt_decode_partial_97(): perf improvement: limit copy of coefficients at end of horizontal pass to actual range of interest
-commit a5003787ffdbc4fb4a9b4e18187e9f69c36b9e9b
+commit 8180eeace13ffceef5dd7c3f80be156e36181846
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-06-01 10:23:30 +0200
+Date: 2017-08-21 23:06:53 +0200
- T1: remove flags_stride variable from opj_t1_t
+ test_tile_encoder: fix checks on argc
-commit 0ec842e1f1e6ebc80df5308cab457372456b204d
+commit c97666f72ba26a7ceb64931963b988a6f8f377f9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-31 19:45:03 +0200
+Date: 2017-08-21 19:02:04 +0200
- Inline opj_raw_decode()
+ j2k.c: fix comment, and remove FIXME
-commit aa7a8a4398b3792b4a52fb443d49d317a9a4984f
+commit 24d069e3ffa2286930a2e7e2638431ea1de6846a
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-31 17:15:27 +0200
+Date: 2017-08-21 17:19:13 +0200
- T1: loop unrolling in dec_sigpass_raw and dec_refpass_raw
+ Add comment
-commit 53d46fc7330ed652db66aa37b498fbfa27be625c
-Merge: 6e97d87 a8ca7c5
+commit e9bbc6d3dde946bdb5195f053f24b91335d5d84c
+Merge: 3eed024 17a7ac4
Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-23 16:15:55 +0200
+Date: 2017-08-21 13:02:07 +0200
- Merge pull request #936 from rouault/master_warnings
+ Merge pull request #1001 from rouault/subtile_decoding_stage2
- CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement
+ Subtile decoding: only apply IDWT on areas that participate to the window of interest
-commit a8ca7c51f38a4cbdcb4a541137478df03e5eb76d
+commit 17a7ac42d581c537cfc1da4324e53047ad82b13e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-23 15:12:19 +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
+Date: 2017-08-21 12:25:38 +0200
-commit 6e97d877b155aff55d1ae1fef4a36fa56d51e472
-Merge: 8728cfb 2d2c368
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-23 14:49:38 +0200
-
- Merge pull request #935 from rouault/add_compress_vsc_test
-
- Tests: test opj_compress in VSC mode (related to #172)
+ Add comments for filter_width values
-commit 2d2c368b19ee59cba7470c94bcc2c06ca6db1d80
+commit f87c5ef7ebef3d7a908e98f2de1b6a0336ae57ae
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-23 13:46:04 +0200
+Date: 2017-08-20 22:02:41 +0200
- Tests: test opj_compress in VSC mode (related to #172)
+ Subtile decoding: only do 9x7 IDWT computations on relevant areas of tile-component buffer.
-commit 8728cfbc799a61dd0600ee04aa64d829937d8710
+commit 3eed024eb45534f86537404e08d08fa572a40782
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-23 13:54:28 +0200
+Date: 2017-08-19 15:45:54 +0200
- t1.c: fix compiler warnings
+ pgxtoimage(): avoid excessive memory allocation attempt (#999)
-commit 5f1e380b5155577864a84c1e64f213b6d9f83334
-Author: Russell McOrmond <russell.mcormond@canadiana.ca>
-Date: 2017-05-16 09:31:07 -0400
-
- Fixed formatting issues ASTYLE
-
-commit 9d8e1ecdeb99b1e4b4ffd19feb152c88fe4f83ba
-Author: Russell McOrmond <russell.mcormond@canadiana.ca>
-Date: 2017-05-15 14:39:54 -0400
+commit 5d403250561398f7ba3041d9eb8c893bd680dd72
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2017-08-18 15:08:51 +0200
- Quiet mode for opj_decompress via -quiet long parameter.
+ Subtile decoding: only do 5x3 IDWT computations on relevant areas of tile-component buffer.
+
+ This lowers 'bin/opj_decompress -i ../MAPA.jp2 -o out.tif -d 0,0,256,256'
+ down to 0.860s
-commit 83d7a6d4a44833e78321bfd367dc0f822a8d0945
+commit e5285319229a5d77bf316bb0d3a6cbd3cb8666d9
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-15 14:11:47 +0200
+Date: 2017-08-18 13:39:20 +0200
- MQC: remove disabled MQC_PERF_OPT mode, which brings no performance improvements (see #923)
+ pgxtoimage(): fix write stack buffer overflow (#997)
-commit 4431fa72657b6c4a92c3cf29cfc5c8df69424a0e
+commit 028c504a43e962a725c4fd73d6642ee73c653e1b
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-15 14:09:51 +0200
+Date: 2017-08-18 12:30:11 +0200
- Add comments about non successfull attempt of implementing alternate INITDEC, DECODE and BYTEIN procedures (refs #921)
+ test_decode_area: fix to make it work with odd image dimensions
-commit f7a126af61877cd4623327142521d82a0c19430d
-Merge: 28d2eab 3c2972f
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-15 13:08:03 +0200
+commit 5597522cac96b1bc6d48a447751b1c6049248eef
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2017-08-18 10:16:38 +0200
- Merge pull request #926 from rouault/reformat_h_files
-
- Reformat: apply reformattin on .h files (#128)
+ bmp_read_rle8_data(): avoid potential infinite loop (#996)
-commit 3c2972f924857016bb454201c7e92f25de9105ee
+commit 5d12806091eab0659431fefcefdb797b09f8e884
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-15 12:21:30 +0200
+Date: 2017-08-17 19:18:48 +0200
- Reformat: apply reformattin on .h files (#128)
+ opj_j2k_update_rates(): grow tile size buffer for some situations
-commit 28d2eabca79d06378843d1e94fecfb4a5e22178d
-Merge: 0ecac46 cde210b
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-15 12:09:45 +0200
+commit 4b0bfbfabc3ce1cc4c6d18dc7113b9f6335372d4
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2017-08-17 16:07:19 +0200
- Merge pull request #919 from rouault/reformat
-
- Add mechanisms to reformat and check code style, and reformat whole codebase (#128)
+ Zero-initialize tile buffer regions of skipped code-blocks, so as to make Valgrind happy
-commit 0ecac46a1db911cbe340c4467000e91cea82c96d
+commit fe338a057c39797bf61939471ebaef09e44464c7
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-11 20:18:42 +0200
+Date: 2017-08-14 13:23:57 +0200
- perf_test.py: implement -i option
+ Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area()
-commit cde210be392d60fbcd8a3e7cacfa62660a95e8d9
+commit 17ea17f487a777d14bd322ac06c4e6cb9124a226
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-11 11:21:37 +0200
+Date: 2017-08-17 19:05:29 +0200
- astyle.options: use non deprecated option name
+ Fix -Wconversion warning
-commit 563bd8499e63db976ca8358216138647593354bc
+commit fd8448ed446a935da3210821a783e794ede3c599
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-09 15:44:46 +0200
+Date: 2017-08-17 17:04:48 +0200
- Reformat whole codebase with astyle.options (#128)
+ bench_dwt.c: fix signedness related warnings
-commit d4e54e9f35d532062533f1d369c159810b01d224
+commit da046b73a89806eae2f7f461c2a46bda7e07aaa8
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-09 15:28:09 +0200
+Date: 2017-08-17 17:02:40 +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.
+ convert.c: fix recently introduced -Wsign-conversion warnings
-commit 8650b70e06408d394c1708846b6fc2d86cf14079
-Merge: e92fe29 05d5845
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-09 13:16:53 +0200
+commit 9f7d79fd30df3712e6bfc6d475bfa143c069c4df
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2017-08-17 14:52:10 +0200
- Merge pull request #918 from rouault/profile
-
- Add profiling of CPU and memory usage (#912)
+ opj_getopt_long(): avoid infinite loop on invalid or missing value for an option (#736)
-commit 05d58451a1221ba95db8fb1d159eb0f76dbafb22
+commit 1ab6e0e07a67193564811c5720a69cb28f09a809
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-06 15:06:24 +0200
+Date: 2017-08-17 12:01:16 +0200
- Add profiling of CPU and memory usage (#912)
+ 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
-commit e92fe29016300e7ae9ccfa6e9cf5422456f57e25
-Merge: 20291aa 328f076
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-09 12:33:07 +0200
+commit 2cd30c2b06ce332dede81cccad8b334cde997281
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2017-08-17 11:47:40 +0200
- Merge pull request #917 from rouault/bench
-
- Add performance benchmarking scripts
+ tgatoimage(): avoid excessive memory allocation attempt, and fixes unaligned load (#995)
-commit 328f076d2639d8664436e2b620cf9eed4f7dee53
+commit 09e83407fa2b53c606d3179031b8d8b31272e20c
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-04 15:22:14 +0200
+Date: 2017-08-17 11:05:53 +0200
- Add performance benchmarking scripts
-
- And run them by Travis-CI
+ 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
-commit 20291aad07591da40ac86e5f5a87b4f6d154ba6a
-Merge: a18040e 04980a8
-Author: Even Rouault <even.rouault@mines-paris.org>
-Date: 2017-05-03 12:41:02 +0200
+commit 8e6c371e66d9c579048fd336cc3365869486080a
+Author: Even Rouault <even.rouault@spatialys.com>
+Date: 2017-08-16 18:29:59 +0200
- Merge pull request #915 from rouault/appveyor_fix_attempt
-
- Fix retrieval of jpylyzer in AppVeyor
+ 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)
-commit 04980a8c7b6c260394084ab12b4bdee957caa24f
+commit 1e387de74273c4dac618df94475556541c1caf3e
Author: Even Rouault <even.rouault@spatialys.com>
-Date: 2017-05-03 12:03:00 +0200
+Date: 2017-08-16 17:38:47 +0200
- Fix retrieval of jpylyzer in AppVeyor
+ Fix build issue of JPWL by adding opj_image_data_alloc() and opj_image_data_free() to src/lib/openmj2 (#994)
...</pre></div>