Update ABI/API compatibility reports after commit c67e1cd73f6c1fca081f5445af4f65b240c...
[openjpeg.git] / abi-check / changelog / openjpeg / current / log.html
index 6fe139641e43434dd613fdd6f8dd62f93b7fc779..e59623372f61e9678a37e64ccb474444dfb8be01 100644 (file)
 <br/>
 <h1>Changelog from Git</h1><br/><br/>
 <div class='changelog'>
-<pre class='wrap'>commit 0b4c3ce75d11600ebc6675bd871f78ca3c95bc60
-Merge: a35b489 9f75088
+<pre class='wrap'>commit c67e1cd73f6c1fca081f5445af4f65b240c40edc
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-06 17:33:38 +0200
+
+    Fix invalid access out of bounds, and bad behaviour, when calling repeatdly opj_get_decoded_tile() on an image with a color palette
+
+commit 297f202104fc0ff6b0627e15e7e6883c915f80bf
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-06 16:49:28 +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.
+
+commit 003759a4829f3f1baa5a2292956618fecf314818
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-06 15:59:19 +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 &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-05 23:32:03 +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.
+
+commit 968e36bbd989fdf789c6a02c80c747346bb851c5
+Merge: 3a382d3 579b893
 Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-08-11 15:13:35 +0200
+Date:   2017-09-05 22:18:58 +0200
 
-    Merge pull request #980 from szukw000/changes-for-ppc64-converttif
+    Merge pull request #1010 from rouault/subtile_decoding_stage3
     
-    Changes in converttif.c for PPC64
+    Subtile decoding: memory use reduction and perf improvements
 
-commit 9f750884f91a4f1b9ca3e6a401057c21a7e2bd99
-Author: szukw000 &lt;szukw000@arcor.de&gt;
-Date:   2017-08-11 00:06:23 +0200
+commit 579b8937eae7e6b6868b8b5c6286a742c10a5130
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-04 17:35:52 +0200
 
-    Changes in converttif.c for PPC64
+    Replace uses of size_t by OPJ_SIZE_T
 
-commit a35b4891340dcecf2b248c7e57a90bf7d7aa9b2f
+commit 3a382d312306f45853b3ad78b770754d4bc7e440
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-10 16:58:36 +0200
+Date:   2017-09-03 00:30:36 +0200
 
-    Fix argument order in error message of previous commit
+    opj_getopt.c: avoid crash on invalid input (#301)
 
-commit 0b4fef6d1901254e41ab74ed681daba477d724c3
+commit e5ab1682a1bf52c203b16720011d869901929ac9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-10 16:49:47 +0200
+Date:   2017-09-02 09:10:53 +0200
 
-    Propagate event manager down to opj_t2_encode_packet() and use it to emit an error message when the output buffer is too small
+    Improve error message when specifying a too big cp_reduce parameter (#474)
 
-commit a316f36dfc7cc4217bfce0ac6d23b47f90cf8fd9
+commit c1e0fba0c46cb528a08b89b986e86ff0f4792558
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-10 14:43:16 +0200
+Date:   2017-09-01 22:09:58 +0200
 
-    Fix crash on encoding if using opj_set_default_encoder_parameters() without defining tcp_numlayers
+    opj_v4dwt_decode_step1_sse(): rework a bit to improve code generation
 
-commit a4c938181deb2cb48e408ac6e358062927060125
+commit 676d4c807f0162877f9f32e4cdda2e242788d410
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-10 12:30:31 +0200
+Date:   2017-09-01 21:36:35 +0200
 
-    Reformat tests/test_tile_encoder.c
+    opj_j2k_update_image_data(): avoid allocating image buffer if we can just reuse the tile buffer one
 
-commit 26fe8f60433aa677fd29590e7da23437c41e99c8
+commit 4c7effa6bc37beb2a8e2f29ecf5845cde93f6b88
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-10 11:45:49 +0200
+Date:   2017-09-01 21:17:26 +0200
 
-    Improve doc of opj_tccp_info_t::cblkw and cblkh
+    opj_t1_clbl_decode_processor(): use SSE2 in subtile decoding code path, for irreversible
 
-commit 07c2fe28b0ef3dc9f168f2b2c449275ac1dde981
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-08-09 21:51:16 -0700
+commit 2c365fe0ecc8c6597db491a953a91308b1d0d4b1
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 20:43:39 +0200
 
-    Comment back previous version in abi-check.sh
+    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 c5987173c5ca2d6fb140dd84d7ae7736824e6d66
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-08-09 21:35:30 -0700
+commit 559d16e8f43a0cd090d217d7d111820989299b85
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:31:13 +0200
 
-    update abi-check for latest release
+    opj_t1_decode_cblk(): move some code to codeblock processor for (theoretical) better multi-threading in subtile decoding
 
-commit 3d7cde5fc9fbc5618d02160900d32e02ed12a00e
-Author: Antonin Descampe &lt;antonin@descampe.net&gt;
-Date:   2017-08-09 17:31:50 -0700
+commit 7017e67a01c378a7a1ee5e34dd544c793b5c23e4
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:31:10 +0200
 
-    Preparing Release v2.2.0
+    sparse_array: optimizations for lossy case
 
-commit bc21818c635f1f84aa72bb327a20ca42c3b6dcbe
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-08-09 17:28:17 -0700
+commit b428b8c7e7227cf96c83229df4d7bf009b6d2172
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 20:01:39 +0200
 
-    Preparing Release v2.2.0
+    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.
 
-commit c03fbbee6399d6a996f484015035d5996ce80f9a
+commit 7aa071aa273aa0b8fafbf055e5eb99b9cb8600a8
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-10 01:14:35 +0200
+Date:   2017-09-01 19:49:01 +0200
 
-    .travis.yml: add 'dist: precise' for config that requires it
+    opj_j2k_setup_encoder(): emit warnings if tcp_rates are not decreasing or tcp_distoratio are not increasing (#1009)
 
-commit 4b16e8d27ae524c5bf5f8af299703f7334752465
+commit a538815c774db94a0d3fa323c9ca4f456ef04903
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 17:37:05 +0200
+Date:   2017-09-01 19:27:56 +0200
 
-    Remove useless opj_tcd_t::enumcs field added per #975
+    opj_j2k_setup_encoder(): avoid potential int overflow in computations related to max_cs_size
 
-commit 5e200452db84947f4eb893ae7f02f7dd9a358378
+commit 09929bb615bd6bf2a9f7703fc7b04a12096b091e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 15:04:29 +0200
+Date:   2017-09-01 19:16:35 +0200
 
-    Doc: fix error in previous commit
+    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[] &lt;= 1.0 are set to 0. Document 0 as being lossless for -q / tcp_distoratio (#1009)
 
-commit 9203e8ec51a1c1c1a358a9cbafdf3391549ebc80
+commit 32572617765cb9d77302384653a48d793b8f657f
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 14:50:59 +0200
+Date:   2017-09-01 17:32:54 +0200
 
-    tcd.h: doc fixes and improvements
+    opj_compress help: indicate 0 value, instead of 1, for -r parameter to get lossless encoding (#1009)
 
-commit 11b1ffb373d8e41705348080ba5e74a4ffe4148c
+commit 8a17be8945f6f8fcae3f9e5c7c4988e971d245ee
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 14:13:58 +0200
+Date:   2017-09-01 16:31:08 +0200
 
-    Document qmfbid values
+    opj_v4dwt_decode_step2_sse(): loop unroll
 
-commit ac375ac9f5b4ae47501b60795e905e3d25dd00f8
+commit 83b5a168ec0e89210671d60670c9a1143ce8776b
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 11:34:08 +0200
+Date:   2017-09-01 16:31:06 +0200
 
-    Partial revert BPC related check of #975 (#979)
-    
-    PR #975 introduced a check that rejects images that have different bit depth/sign
-    per compoment in SIZ marker if the JP2 IHDR box has BPC != 255
-    This didn't work properly if decoding a .j2k file since the new bit added in
-    opj_cp_t wasn't initialized to the right value.
-    For clarity, tThis new bit has also been renamed to allow_different_bit_depth_sign
-    
-    But looking closer at the code, it seems we were already tolerant to inconsistencies.
-    For example we parsed a JP2 BPCC box even if BPC != 255 (just a warning is emitted)
-    So failing hard in opj_j2k_read_siz() wouldn't be very inconsistent, and that
-    alone cannot protect against other issues, so just emit a warning if BPC != 255
-    and the SIZ marker contains different bit depth/sign per component.
-    
-    Note: we could also check that the content of JP2 BPCC box is consistant with the one
-    of the SIZ marker.
+    opj_dwt_decode_partial_97(): simplify/more efficient use of sparse arrays in vertical pass
 
-commit c38bdbef4f3a5888948903247532fc8cf4284c00
+commit ae19001ba425a9b396a29fba3417dccc746bd2ef
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 10:03:59 +0200
+Date:   2017-09-01 16:31:04 +0200
 
-    opj_decompress: document -quiet option, and remove spurious newline output
+    opj_tcd_dc_level_shift_decode(): optimize lossy case
 
-commit 0eceb4494c23d141ddf242209b92f07bc942b437
+commit 470f3ed416a8cc3618b2c04000ea7b4694043f34
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 09:50:39 +0200
+Date:   2017-09-01 16:31:02 +0200
 
-    src/bin/jpwl/convert.c pgxtoimage(): add missing fclose() (#977)
+    opj_dwt_decode_partial_1_parallel(): add SSE2 optimization
 
-commit 5a560ebf5138ebc241e9962306ce74bfc50fc69c
+commit 873004c615b1bed3ce780e869288602af86fdee5
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-09 09:42:30 +0200
+Date:   2017-09-01 16:31:00 +0200
 
-    imagetobmp: avoid shift by -1 (relates to #811)
+    Sub-tile decoding: speed up vertical pass in IDWT5x3 by processing 4 cols at a time
 
-commit 0c07950cb3f318df5b2051ae5d96bef553bb9966
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-08-08 18:05:37 -0700
+commit ccac773556070ede24ea3dfbdec47c2b3c5be5c4
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:58 +0200
 
-    Fix remaining warning
-    
-    format specifier mismatch in #975
+    Tiny perf improvement in T1 stage for subtile decoding
 
-commit 0394f8d0f1c981e0bc587beddc14d1fb0b265b1b
-Merge: 3b1b067 bc3cb74
-Author: Antonin Descampe &lt;antonin@descampe.net&gt;
-Date:   2017-08-08 16:51:54 -0700
+commit 18635df518602265b71da3c70c4d3b774bc3dfc2
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:56 +0200
 
-    Merge pull request #975 from szukw000/changes-for-afl-tests
-    
-    Catch images broken by AFL
+    test_decode_area: accept user bounds in -strip_height mode
 
-commit 3b1b0672663b59853b63d48f94b63ca497883527
-Merge: 2fbd4bb 9211469
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-08-07 20:17:36 +0200
+commit 82a43d8035ca5f43e198e15faef6c9ac44b39541
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:54 +0200
 
-    Merge pull request #968 from rouault/reduce_memory_decoding
-    
-    Reduce memory decoding
+    Optimize opj_dwt_decode_partial_1() when cas == 0
 
-commit 92114694a48638e86c07e4adf11b78878045c8a9
+commit 1644665a9105e2d761e8b29f43af602560e6bcf9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 19:34:21 +0200
+Date:   2017-09-01 16:30:52 +0200
 
-    Slight improvement in management of code block chunks
-    
-    Instead of having the chunk array at the segment level, we can move it down to
-    the codeblock itself since segments are filled in sequential order.
-    Limit the number of memory allocation, and decrease slightly the memory usage.
-    
-    On MAPA_005.jp2
+    opj_j2k_update_image_data(): avoid zero-ing the buffer if not needed
+
+commit b2cc8f7f81242f967b65e76de043e5e31663d793
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:50 +0200
+
+    Optimize reading/write into sparse array
+
+commit 0ae3cba3404674bbe2028ea9a801301a4c951b33
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:48 +0200
+
+    Allow several repeated calls to opj_set_decode_area() and opj_decode() for single-tiled images
     
-    n4: 1871312549 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-     n1: 1610689344 0x4E781E7: opj_aligned_malloc (opj_malloc.c:61)
-      n1: 1610689344 0x4E71D1B: opj_alloc_tile_component_data (tcd.c:676)
-       n1: 1610689344 0x4E726CF: opj_tcd_init_decode_tile (tcd.c:816)
-        n1: 1610689344 0x4E4BE39: opj_j2k_read_tile_header (j2k.c:8617)
-         n1: 1610689344 0x4E4C902: opj_j2k_decode_tiles (j2k.c:10348)
-          n1: 1610689344 0x4E4E3CE: opj_j2k_decode (j2k.c:7846)
-           n1: 1610689344 0x4E53002: opj_jp2_decode (jp2.c:1564)
-            n0: 1610689344 0x40374E: main (opj_decompress.c:1459)
-     n1: 219232541 0x4E4BC50: opj_j2k_read_tile_header (j2k.c:4683)
-      n1: 219232541 0x4E4C902: opj_j2k_decode_tiles (j2k.c:10348)
-       n1: 219232541 0x4E4E3CE: opj_j2k_decode (j2k.c:7846)
-        n1: 219232541 0x4E53002: opj_jp2_decode (jp2.c:1564)
-         n0: 219232541 0x40374E: main (opj_decompress.c:1459)
-     n1: 23893200 0x4E72735: opj_tcd_init_decode_tile (tcd.c:1225)
-      n1: 23893200 0x4E4BE39: opj_j2k_read_tile_header (j2k.c:8617)
-       n1: 23893200 0x4E4C902: opj_j2k_decode_tiles (j2k.c:10348)
-        n1: 23893200 0x4E4E3CE: opj_j2k_decode (j2k.c:7846)
-         n1: 23893200 0x4E53002: opj_jp2_decode (jp2.c:1564)
-          n0: 23893200 0x40374E: main (opj_decompress.c:1459)
-     n0: 17497464 in 52 places, all below massif's threshold (1.00%)
-
-commit ca34d13e76a588a00171e57690c1deeaf068723a
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 16:11:11 +0200
-
-    Decoding: do not allocate memory for the codestream of each codeblock
+    * Only works for single-tiled images --&gt; 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 5d07d463fdb0a5eeffa90eba1566cc21697011b8
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:45 +0200
+
+    opj_j2k_decode_tiles(): apply whole single tile image decoding optimization to reading at reduced resolution as well
+
+commit 98b93103613c90753fb6c57696f9403f8ea0b1d6
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:44 +0200
+
+    Various changes to allow tile buffers of more than 4giga pixels
     
-    Currently we allocate at least 8192 bytes for each codeblock, and copy
-    the relevant parts of the codestream in that per-codeblock buffer as we
-    decode packets.
-    As the whole codestream for the tile is ingested in memory and alive
-    during the decoding, we can directly point to it instead of copying. But
-    to do that, we need an intermediate concept, a 'chunk' of code-stream segment,
-    given that segments may be made of data at different places in the code-stream
-    when quality layers are used.
+    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 008a12d4fce0a7b1eabc51e04ed339be759646e2
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:41 +0200
+
+    TCD: allow tile buffer to be greater than 4GB on 64 bit hosts (but number of pixels must remain under 4 billion)
+
+commit d1299d9670d766006a7a162a770d3b70eaeef9bd
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:39 +0200
+
+    Fix compiler warning in release mode
+
+commit d5153ba404fa13b9c6e7b2c20d4d128aac718fba
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:37 +0200
+
+    Remove limitation that prevents from opening images bigger than 4 billion pixels
     
-    With that change, the decoding of MAPA_005.jp2 goes down from the previous
-    improvement of 2.7 GB down to 1.9 GB.
+    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 c37e360a5112b5471168e429159f61b74c0c2f58
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:35 +0200
+
+    opj_tcd_init_tile(): fix typo on overflow detection condition (introduced in previous commit)
+
+commit eee5104a8885227167a349b6dabdb1f72a04d9d0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:32 +0200
+
+    opj_dwt_decode_partial_tile(): avoid undefined behaviour in lifting operation by properly initializing working buffer
+
+commit f9e9942330f476b66ac4a35d0ae521200878f343
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-09-01 16:30:29 +0200
+
+    Sub-tile decoding: only allocate tile component buffer of the needed dimension
     
-    New profile:
+    Instead of being the full tile size.
     
-    n4: 1885648469 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-     n1: 1610689344 0x4E78287: opj_aligned_malloc (opj_malloc.c:61)
-      n1: 1610689344 0x4E71D7B: opj_alloc_tile_component_data (tcd.c:676)
-       n1: 1610689344 0x4E7272C: opj_tcd_init_decode_tile (tcd.c:816)
-        n1: 1610689344 0x4E4BDD9: opj_j2k_read_tile_header (j2k.c:8618)
-         n1: 1610689344 0x4E4C8A2: opj_j2k_decode_tiles (j2k.c:10349)
-          n1: 1610689344 0x4E4E36E: opj_j2k_decode (j2k.c:7847)
-           n1: 1610689344 0x4E52FA2: opj_jp2_decode (jp2.c:1564)
-            n0: 1610689344 0x40374E: main (opj_decompress.c:1459)
-     n1: 219232541 0x4E4BBF0: opj_j2k_read_tile_header (j2k.c:4685)
-      n1: 219232541 0x4E4C8A2: opj_j2k_decode_tiles (j2k.c:10349)
-       n1: 219232541 0x4E4E36E: opj_j2k_decode (j2k.c:7847)
-        n1: 219232541 0x4E52FA2: opj_jp2_decode (jp2.c:1564)
-         n0: 219232541 0x40374E: main (opj_decompress.c:1459)
-     n1: 39822000 0x4E727A9: opj_tcd_init_decode_tile (tcd.c:1219)
-      n1: 39822000 0x4E4BDD9: opj_j2k_read_tile_header (j2k.c:8618)
-       n1: 39822000 0x4E4C8A2: opj_j2k_decode_tiles (j2k.c:10349)
-        n1: 39822000 0x4E4E36E: opj_j2k_decode (j2k.c:7847)
-         n1: 39822000 0x4E52FA2: opj_jp2_decode (jp2.c:1564)
-          n0: 39822000 0x40374E: main (opj_decompress.c:1459)
-     n0: 15904584 in 52 places, all below massif's threshold (1.00%)
+    * 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 373520db309430b68dd9ff09cba03a25f711a88e
+commit aa7198146b995fe2993ce24f5715057b7da0386d
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 13:23:29 +0200
+Date:   2017-08-21 23:21:39 +0200
 
-    Add documentation for magic values in the code
+    opj_compress: reorder checks related to code block dimensions, to avoid potential int overflow
 
-commit 434ace4ff74cc3eee401d4d3c02668c1d85f2a0d
+commit 0a25dceca7761ee3f16cbb2ced87b915a948b25e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 02:17:26 +0200
+Date:   2017-08-21 23:20:51 +0200
 
-    opj_jp2_apply_pclr() also needs to use opj_image_data_alloc/opj_image_data_free
+    opj_j2k_setup_encoder(): validate code block width/height
 
-commit 0c1fc0593ef5b918068709fd74d76e4824c90e7c
+commit 84bbb4a8743a93d567f40d7233d5196105c8d84e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 02:02:25 +0200
+Date:   2017-08-21 23:12:45 +0200
 
-    Complementary fix to previous commit
+    opj_t1_allocate_buffers(): remove useless overflow checks
 
-commit f58aab9d6a57e48bdc60e15dd373c24de74719a9
+commit 6ce49bf5aebb3c45c464fa82d14cfd4bf7026a28
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 01:47:40 +0200
+Date:   2017-09-01 10:26:18 +0200
 
-    Add opj_image_data_alloc() / opj_image_data_free()
-    
-    As bin/common/color.c used to directly call malloc()/free(), we need
-    to export functions dedicated to allocating/freeing image component data.
+    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 61fb5dd7f81c2e3dfabbb99f59dc89572d59fa37
+commit 04b70908a7ada29481d2e1903b76f44a68d4d268
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-06 01:05:24 +0200
+Date:   2017-08-29 11:40:53 +0200
 
-    Fix crash on Windows due to b7594c0fcb9dd3aa6356d72c4a525d76168da689
-    
-    b7594c0fcb9dd3aa6356d72c4a525d76168da689 may put opj_tcd_tilecomp_t-&gt;data
-    allocated by opj_alloc_tile_component_data() as the image-&gt;comps[].data. As
-    opj_alloc_tile_component_data() use opj_aligned_malloc() we must be sure to
-    ue opj_alined_malloc()/_free() in all places where we alloc/free
-    image-&gt;comps[].data.
-    
-    Note: this might have some compatibility impact in case user code does itself
-    the allocation/free of image-&gt;comps[].data
+    Use IDWT whole tile decoding if the area of interest equals to the image bounds, taking into account the reduced resolution factor
 
-commit 793edc38e41700e9b4cda4b7f9c79aba95b8d989
+commit 4776b15fa7ec2afa74f65cd471f94513ea08205a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-05 23:48:28 +0200
+Date:   2017-08-28 18:07:44 +0200
 
-    Decrease memory consumption for whole image single tile decoding.
-    
-    We can use the same buffer for the tile decoding and the final image, and
-    save the intermediate buffer to transfer between those.
-    
-    Effect on the decoding of MAPA (9944 x 13498 x 3 components of size byte)
-    
-    Peak memory from 4.5 GB to 2.7 GB
-    
-    Now:
-    n5: 2699708767 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-     n1: 1610689344 0x4E77E07: opj_aligned_malloc (opj_malloc.c:61) &lt;-- final image
-      n1: 1610689344 0x4E7195B: opj_alloc_tile_component_data (tcd.c:676)
-       n1: 1610689344 0x4E722D2: opj_tcd_init_decode_tile (tcd.c:816)
-        n1: 1610689344 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
-         n1: 1610689344 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
-          n1: 1610689344 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
-           n1: 1610689344 0x4E52E42: opj_jp2_decode (jp2.c:1564)
-            n0: 1610689344 0x40369E: main (opj_decompress.c:1459)
-     n1: 815554560 0x4E72231: opj_tcd_init_decode_tile (tcd.c:1217) &lt;-- working memory for code blocks: 9944*13498/64/64*8192*3
-      n1: 815554560 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
-       n1: 815554560 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
-        n1: 815554560 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
-         n1: 815554560 0x4E52E42: opj_jp2_decode (jp2.c:1564)
-          n0: 815554560 0x40369E: main (opj_decompress.c:1459)
-     n1: 219758391 0x4E4C0BF: opj_j2k_read_tile_header (j2k.c:4661) &lt;-- ingestion of code stream
-      n1: 219758391 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
-       n1: 219758391 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
-        n1: 219758391 0x4E52E42: opj_jp2_decode (jp2.c:1564)
-         n0: 219758391 0x40369E: main (opj_decompress.c:1459)
-     n1: 39822000 0x4E7224F: opj_tcd_init_decode_tile (tcd.c:1224) &lt;-- OPJ_J2K_DEFAULT_NB_SEGS*sizeof(opj_tcd_seg_t) per codeblock
-      n1: 39822000 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
-       n1: 39822000 0x4E4C742: opj_j2k_decode_tiles (j2k.c:10324)
-        n1: 39822000 0x4E4E20E: opj_j2k_decode (j2k.c:7826)
-         n1: 39822000 0x4E52E42: opj_jp2_decode (jp2.c:1564)
-          n0: 39822000 0x40369E: main (opj_decompress.c:1459)
-     n0: 13884472 in 49 places, all below massif's threshold (1.00%)
+    Add test for fix of a55c024fc6b917a409b85aeafd7326421c4aea34
+
+commit a55c024fc6b917a409b85aeafd7326421c4aea34
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-28 17:18:33 +0200
+
+    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 8f92fc97913bec7ffa2dc10d062c0cdd19da20e4
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-28 14:57:49 +0200
+
+    Make opj_set_decode_area() and opj_decode() take into account opj_set_decoded_resolution_factor() (#1006, affect API use)
     
-    Before:
-    n5: 4493329848 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-     n2: 1610709160 0x4E77C87: opj_aligned_malloc (opj_malloc.c:61)
-      n1: 1610689344 0x4E717DB: opj_alloc_tile_component_data (tcd.c:676)
-       n1: 1610689344 0x4E72152: opj_tcd_init_decode_tile (tcd.c:816)
-        n1: 1610689344 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
-         n1: 1610689344 0x4E4C64A: opj_j2k_decode_tiles (j2k.c:10318)
-          n1: 1610689344 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
-           n1: 1610689344 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
-            n0: 1610689344 0x40369E: main (opj_decompress.c:1459)
-      n0: 19816 in 2 places, all below massif's threshold (1.00%)
-     n1: 1610689344 0x4E43F36: opj_j2k_update_image_data.isra.7 (j2k.c:8743)
-      n1: 1610689344 0x4E4C5C1: opj_j2k_decode_tiles (j2k.c:10358)
-       n1: 1610689344 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
-        n1: 1610689344 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
-         n0: 1610689344 0x40369E: main (opj_decompress.c:1459)
-     n1: 815554560 0x4E720B1: opj_tcd_init_decode_tile (tcd.c:1217)
-      n1: 815554560 0x4E4BCF1: opj_j2k_read_tile_header (j2k.c:8597)
-       n1: 815554560 0x4E4C64A: opj_j2k_decode_tiles (j2k.c:10318)
-        n1: 815554560 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
-         n1: 815554560 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
-          n0: 815554560 0x40369E: main (opj_decompress.c:1459)
-     n1: 402672336 0x4E4C545: opj_j2k_decode_tiles (j2k.c:10336)
-      n1: 402672336 0x4E4E08E: opj_j2k_decode (j2k.c:7826)
-       n1: 402672336 0x4E52CC2: opj_jp2_decode (jp2.c:1564)
-        n0: 402672336 0x40369E: main (opj_decompress.c:1459)
-     n0: 53704448 in 58 places, all below massif's threshold (1.00%)
+    * 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-&gt;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 bc3cb7410023e9d0c7ff9972a0bc8cf1fe9b32a4
-Author: szukw000 &lt;szukw000@arcor.de&gt;
-Date:   2017-08-07 16:44:28 +0200
+commit 5a4a10120a648848de7522245f8671c3ce285dbc
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-24 14:38:24 +0200
 
-    Changes for converttif.c to fix tsize_t
+    Another cleanup in knownfailures-* files
 
-commit 2fbd4bb0b9c6178f12c852dc40db6ab05734bfe2
+commit e0a5d148f7e84d18a52c97bd08b21b1dffa9570a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-08-04 18:01:29 +0200
+Date:   2017-08-24 14:32:36 +0200
 
-    opj_j2k_read_sot(): check current TPSot number regarding previous (non-zero) TNsot to avoid opj_j2k_merge_ppt() to be called several times. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2851. Credit to OSS Fuzz
+    Remove test steps from specialized knownfailures- that are already in knownfailures-all.txt
 
-commit 57e36dbfeb57451444c5c20eab66ab0bedd3d3b3
-Author: szukw000 &lt;szukw000@arcor.de&gt;
-Date:   2017-08-02 17:27:08 +0200
+commit 79aa0b54ddd3e4e3ca09374cb82bd3302a65783a
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-24 14:31:13 +0200
 
-    First change on changes-for-afl-tests
+    issue104_jpxstream.jp2 decompresses just fine (and like Kakadu). Update md5refs.txt and remove from knownfailures
 
-commit 155fc2e279b85bd04709967b2797de4f69b0cf3e
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-08-02 17:07:29 +0200
+commit c059f431e6262fe5ce296e8137dd478dfe4d1af1
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-24 14:09:34 +0200
 
-    Update abi-check to take into account new defaults for "add" git command
+    Remove broken.jpc test from known failures, by avoiding too long processing time
 
-commit eb90d8ec935eba934bfd260cc80c8ef445dff4fd
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-08-02 16:50:11 +0200
+commit 5146abc02ebd871aa1e737373cdc7654e8e4b07f
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-24 14:09:31 +0200
 
-    WIP: fix abi-check and automatic upload
+    imagetopgx(): improve performance in 8 bit case (relates to broken.jpc test case)
 
-commit 48125b0d124bc668b971b1f5df5a3c39798cfcf9
+commit fdcd4e6365731cc1015213e424068131bcd1f31f
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-31 17:35:10 +0200
+Date:   2017-08-24 13:23:25 +0200
 
-    src/bin/jpwl/convert.c: add missing fclose() in error code path (suggested by maddin200, #976)
+    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 00f45684a8339e69ed55df2397f3c19d09fecaed
-Author: szukw000 &lt;szukw000@arcor.de&gt;
-Date:   2017-07-31 13:58:08 +0200
+commit bc71bd1219269057ea18e6acbc77a96ec37aba82
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-23 18:58:32 +0200
 
-    Catch images broken by AFL
+    opj_dwt_decode_partial_97(): perf improvement: limit copy of coefficients at end of horizontal pass to actual range of interest
 
-commit 13cde9fa37249628af6b6f10601b733f87a025f4
+commit 8180eeace13ffceef5dd7c3f80be156e36181846
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:46:52 +0200
+Date:   2017-08-21 23:06:53 +0200
 
-    src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)
+    test_tile_encoder: fix checks on argc
 
-commit 9a6d41d22b1a4f17a376d2f6f208c52c58b8e4b3
+commit c97666f72ba26a7ceb64931963b988a6f8f377f9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:27:01 +0200
+Date:   2017-08-21 19:02:04 +0200
 
-    opj_event_msg(): force zero termination of buffer
+    j2k.c: fix comment, and remove FIXME
 
-commit b716f8616394252724ca0811eab3a20ab42b2189
+commit 24d069e3ffa2286930a2e7e2638431ea1de6846a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:26:47 +0200
+Date:   2017-08-21 17:19:13 +0200
 
-    Fix breakage of 22bf99ce0220811bfce1562ee61423cb0245b683
+    Add comment
 
-commit 22bf99ce0220811bfce1562ee61423cb0245b683
+commit e9bbc6d3dde946bdb5195f053f24b91335d5d84c
+Merge: 3eed024 17a7ac4
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-08-21 13:02:07 +0200
+
+    Merge pull request #1001 from rouault/subtile_decoding_stage2
+    
+    Subtile decoding: only apply IDWT on areas that participate to the window of interest
+
+commit 17a7ac42d581c537cfc1da4324e53047ad82b13e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 19:07:16 +0200
+Date:   2017-08-21 12:25:38 +0200
 
-    Test return value of opj_j2k_setup_decoding_tile() (commit https://github.com/uclouvain/openjpeg/pull/561/commits/ec31fa0c7f1ff8979312c07296cba41584c458a0 by  ak-dxdy, #561)
+    Add comments for filter_width values
 
-commit ffa9a4f6585dc199fb850dee4255e7a7b84aad63
+commit f87c5ef7ebef3d7a908e98f2de1b6a0336ae57ae
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 18:46:34 +0200
+Date:   2017-08-20 22:02:41 +0200
 
-    Fix warnings in USE_JPIP compilation mode
+    Subtile decoding: only do 9x7 IDWT computations on relevant areas of tile-component buffer.
 
-commit c22cbd8bdf8ff2ae372f94391a4be2d322b36b41
+commit 3eed024eb45534f86537404e08d08fa572a40782
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 18:43:25 +0200
+Date:   2017-08-19 15:45:54 +0200
 
-    Avoid heap buffer overflow in function pnmtoimage of convert.c, and unsigned integer overflow in opj_image_create() (CVE-2016-9118, #861)
+    pgxtoimage(): avoid excessive memory allocation attempt (#999)
 
-commit 83342f2aafcab4599b49f780e35fd249e8402b61
+commit 5d403250561398f7ba3041d9eb8c893bd680dd72
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 18:18:59 +0200
+Date:   2017-08-18 15:08:51 +0200
 
-    Fix Doxygen warnings (patch derived from Winfried's doxygen-dif.txt.zip, #849)
+    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 4748318136626dd9e841ea1aa8b52adfbab26772
+commit e5285319229a5d77bf316bb0d3a6cbd3cb8666d9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 17:26:03 +0200
+Date:   2017-08-18 13:39:20 +0200
 
-    j2k.c: remove hardcoded constants related to m_state, and useless FIXME
+    pgxtoimage(): fix write stack buffer overflow (#997)
 
-commit e23e0c94d0eb30623bc67be19c38c22ee5378344
+commit 028c504a43e962a725c4fd73d6642ee73c653e1b
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 16:48:15 +0200
+Date:   2017-08-18 12:30:11 +0200
 
-    Avoid p_stream-&gt;m_user_data_length &gt;= (OPJ_UINT64)p_stream-&gt;m_byte_offset assertion in opj_stream_get_number_byte_left(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2786. Credit to OSS Fuzz
+    test_decode_area: fix to make it work with odd image dimensions
 
-commit 1ed8d67797ef57143e2c855b602016bf9d89337d
+commit 5597522cac96b1bc6d48a447751b1c6049248eef
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 15:35:47 +0200
+Date:   2017-08-18 10:16:38 +0200
 
-    opj_j2k_set_decode_area: replace assertions by runtime checks. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2795. Credit to OSS Fuzz
+    bmp_read_rle8_data(): avoid potential infinite loop (#996)
 
-commit 68832af20e3b3710424947e12762b6b52d3b6ac0
+commit 5d12806091eab0659431fefcefdb797b09f8e884
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-30 15:22:24 +0200
+Date:   2017-08-17 19:18:48 +0200
 
-    opj_tcd_dc_level_shift_decode: avoid int32 overflow when prec == 31. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2799. Credit to OSS Fuzz
+    opj_j2k_update_rates(): grow tile size buffer for some situations
 
-commit 517bf6fd86dae18b62390a03533d30da0e5bb701
+commit 4b0bfbfabc3ce1cc4c6d18dc7113b9f6335372d4
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 21:11:23 +0200
+Date:   2017-08-17 16:07:19 +0200
 
-    src/bin/jpwl/convert.c: fix memleak (fix suggested by maddin200, #631)
+    Zero-initialize tile buffer regions of skipped code-blocks, so as to make Valgrind happy
 
-commit 51eb86d8f7a6297a4f0e8ca44977b72532de0353
+commit fe338a057c39797bf61939471ebaef09e44464c7
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 19:43:23 +0200
+Date:   2017-08-14 13:23:57 +0200
 
-    Fix warnings in pi.c raised by VS11 analyze (#190)
+    Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area()
 
-commit 397f62c0a838e15d667ef50e27d5d011d2c79c04
+commit 17ea17f487a777d14bd322ac06c4e6cb9124a226
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 19:13:49 +0200
+Date:   2017-08-17 19:05:29 +0200
 
-    Fix write heap buffer overflow in opj_mqc_byteout(). Discovered by Ke Liu of Tencent's Xuanwu LAB (#835)
+    Fix -Wconversion warning
 
-commit 11445eddad7e7fa5b273d1c83c91011c44e5d586
+commit fd8448ed446a935da3210821a783e794ede3c599
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 19:03:13 +0200
+Date:   2017-08-17 17:04:48 +0200
 
-    opj_pi_update_decode_poc(): limit layno1 to the number of layers (CVE-2016-1626 and CVE-2016-1628, #850)
-    
-    This has been recently fixed in a less elegant way per
-    80818c39f5bfbac37768fcee95b0ffeceaa77264
+    bench_dwt.c: fix signedness related warnings
 
-commit 3fbe71369019df0b47c7a2be4fab8c05768f2f32
+commit da046b73a89806eae2f7f461c2a46bda7e07aaa8
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 18:38:16 +0200
+Date:   2017-08-17 17:02:40 +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
+    convert.c: fix recently introduced -Wsign-conversion warnings
+
+commit 9f7d79fd30df3712e6bfc6d475bfa143c069c4df
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-17 14:52:10 +0200
+
+    opj_getopt_long(): avoid infinite loop on invalid or missing value for an option (#736)
+
+commit 1ab6e0e07a67193564811c5720a69cb28f09a809
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-17 12:01:16 +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
+
+commit 2cd30c2b06ce332dede81cccad8b334cde997281
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-17 11:47:40 +0200
+
+    tgatoimage(): avoid excessive memory allocation attempt, and fixes unaligned load (#995)
 
-commit 5a3e7aaf339943bc988adbada39a1fc8f5046899
+commit 09e83407fa2b53c606d3179031b8d8b31272e20c
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 17:56:12 +0200
+Date:   2017-08-17 11:05:53 +0200
 
-    color_cielab_to_rgb(): reject images with components of different dimensions to void read heap buffer overflow (#909)
+    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 784d4d47e97b5d0fccccbd931349997a0e2074cc
+commit 8e6c371e66d9c579048fd336cc3365869486080a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 17:51:10 +0200
+Date:   2017-08-16 18:29:59 +0200
 
-    Fix breakage of 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0 (#970)
+    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 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0
+commit 1e387de74273c4dac618df94475556541c1caf3e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 17:28:55 +0200
+Date:   2017-08-16 17:38:47 +0200
 
-    imagetopnm(): make sure the alpha component has same dimension as other components to avoid read heap buffer overflow (#970)
+    Fix build issue of JPWL by adding opj_image_data_alloc() and opj_image_data_free() to src/lib/openmj2 (#994)
 
-commit db9ef99f6dd054a84fa8382c02869fb0656abfc8
+commit c535531f03369623b9b833ef41952c62257b507e
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 16:34:35 +0200
+Date:   2017-08-16 17:20:29 +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
+    opj_t2_encode_packet(): fix potential write heap buffer overflow (#992)
 
-commit f6551f822fe020843299bd807ec6989abd070b2c
+commit dcac91b8c72f743bda7dbfa9032356bc8110098a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 16:29:11 +0200
+Date:   2017-08-16 17:09:10 +0200
 
-    opj_t1_clbl_decode_processor(): avoid undefined behaviour if roishift &gt;= 31. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2506. Credit to OSS Fuzz
+    opj_j2k_write_sot(): fix potential write heap buffer overflow (#991)
 
-commit 9906fbf737692486cebabe98169988d818e2e66a
+commit af760007711bf93041d3eba3a41b9a48d365f303
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 16:22:36 +0200
+Date:   2017-08-16 13:36: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
+    tiftoimage(): fix read heap buffer overflow (#988)
+    
+    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.
+
+commit ab4de904e7dc1deee83122cd2bf6e0e7f4eb2eb0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-16 13:11:36 +0200
+
+    imagetotga(): fix read heap buffer overflow if numcomps &lt; 3 (#987)
 
-commit 71b4f5b124d14ed609763b11e19d2d480bc32f58
+commit 9624b2fa4722edf77fbac631e7dacaae12c91672
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-29 15:52:11 +0200
+Date:   2017-08-16 12:52:33 +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
+    opj_t2_encode_packet(): only emit an error about insufficiently large output buffer in FINAL_PASS mode. Fixes (master-only) regression added in 0b4fef6d1901254e41ab74ed681daba477d724c3
 
-commit d6654d906c1ae66590b6d600458a91f1ee923de5
+commit 4241ae6fbbf1de9658764a80944dc8108f2b4154
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 22:15:47 +0200
+Date:   2017-08-15 11:55:58 +0200
 
-    opj_int_ceildiv(): fix int32 overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2494. Credit to OSS Fuzz
+    Fix assertion in debug mode / heap-based buffer overflow in opj_write_bytes_LE for Cinema profiles with numresolutions = 1 (#985)
+
+commit 52d5690a6fcba86b5f117eeac8aca1971cac3688
+Merge: baf0c1a bc59410
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-08-14 17:28:26 +0200
+
+    Merge pull request #984 from stweil/const
+    
+    Use more const qualifiers
 
-commit 361c4506fdfb9b6f0e41d86d5d0ea1efb5704ecf
+commit baf0c1ad4572daa89caa3b12985bdd93530f0dd7
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 22:06:26 +0200
+Date:   2017-08-14 17:26:58 +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
+    bmp_read_info_header(): reject bmp files with biBitCount == 0 (#983)
 
-commit 7bdbe490cba9990916f94a40379cc787434340ff
+commit afb308b9ccbe129608c9205cf3bb39bbefad90b9
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-28 21:55:22 +0200
+Date:   2017-08-14 17:20:37 +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
+    Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush (#982)
+
+commit bc59410f253b0cd3d4818ec06ce957cbdbfe4341
+Author: Stefan Weil &lt;sw@weilnetz.de&gt;
+Date:   2017-08-14 14:36:06 +0200
+
+    Use const qualifier for mqc_states
+    
+    This allows more compiler optimizations.
+    
+    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+
+commit 10e6ce2c2cfacf51fdde7e9c69bf2365840f4bb0
+Author: Stefan Weil &lt;sw@weilnetz.de&gt;
+Date:   2017-08-13 22:57:31 +0200
+
+    Use const qualifier for j2k_prog_order_list
+    
+    This allows more compiler optimizations.
+    
+    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+
+commit 0b4c3ce75d11600ebc6675bd871f78ca3c95bc60
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-08-11 15:13:35 +0200
+
+    Merge pull request #980 from szukw000/changes-for-ppc64-converttif
+    
+    Changes in converttif.c for PPC64
 
 ...</pre></div>