Update ABI/API compatibility reports after commit 11b1ffb373d8e41705348080ba5e74a4ffe...
[openjpeg.git] / abi-check / changelog / openjpeg / current / log.html
index 1141ab0959e92ba0f95570161eaecf3abc9f456b..2a4afa6f02dd7bb560a183e74ab1c729f6c2511b 100644 (file)
 <br/>
 <h1>Changelog from Git</h1><br/><br/>
 <div class='changelog'>
-<pre class='wrap'>commit a18040e02238c577cf7853a0e303cbca62e044a8
-Merge: e7ff1ef a43f1be
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-03 11:48:02 +0200
-
-    Merge pull request #893 from rouault/remove_tagtree_warnings
-    
-    Remove warnings related to empty tag-trees.
-
-commit e7ff1efb82fab7ba6c6d69e7d286811abb4ee7e7
-Merge: 807da62 cf08763
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-03 11:46:45 +0200
+<pre class='wrap'>commit 11b1ffb373d8e41705348080ba5e74a4ffe4148c
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-09 14:13:58 +0200
 
-    Merge pull request #899 from jwilk/man-warnings
-    
-    Remove spurious .R macros from manpages
+    Document qmfbid values
 
-commit 807da629a6e00a06a3d2506c3f99da1757252c43
-Merge: 8c33128 4927b64
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-03 11:46:01 +0200
+commit ac375ac9f5b4ae47501b60795e905e3d25dd00f8
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-09 11:34:08 +0200
 
-    Merge pull request #914 from alexwlchan/fix-readme
+    Partial revert BPC related check of #975 (#979)
     
-    Escape quotes to ensure README renders on GitHub correctly
-
-commit 4927b647663bbf72500400dfd0173d53761152c9
-Author: Alex Chan &lt;a.chan@wellcome.ac.uk&gt;
-Date:   2017-04-28 09:43:05 +0100
-
-    Escape quotes to ensure README renders on GitHub correctly
-
-commit cf08763c3174525f151746705c3c72a321a01a4a
-Author: Jakub Wilk &lt;jwilk@jwilk.net&gt;
-Date:   2017-03-05 16:08:57 +0100
-
-    Remove spurious .R macros from manpages
+    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
     
-    Fixes the following warnings from man:
+    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.
     
-        `R' is a string (producing the registered sign), not a macro.
+    Note: we could also check that the content of JP2 BPCC box is consistant with the one
+    of the SIZ marker.
 
-commit 8c33128369816be09968712b50681e743464b93c
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2017-03-03 23:23:39 +0100
-
-    Fixed CRLF auto conversion issue in openjpeg-data #655
-
-commit a43f1bea6273e87d9e5cb6e428f560ae7a59223b
+commit c38bdbef4f3a5888948903247532fc8cf4284c00
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-02-13 12:36:45 +0100
-
-    Remove warnings related to empty tag-trees.
-    
-    Decoding some valid .jp2 files like Sentinel2 datasets leads to warnings like:
-    No incltree created.
-    tgt_create tree-&gt;numnodes == 0, no tree created.
-    No imsbtree created.
-    tgt_create tree-&gt;numnodes == 0, no tree created.
-    
-    Besides that, the image is correctly decoded. So there is no reason to emit
-    those warnings.
-
-commit 7113c4e3bbb4b397ae0c27cbfb645ae8acfee042
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-10-03 23:47:10 +0200
-
-    Update THANKS.md
-
-commit b8197de7160f4b8b072107a7ac62d25705e3fb88
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-10-03 23:45:44 +0200
-
-    Update CHANGELOG.md
-
-commit b0791988385053075c5998bf0fe4f56a249ad56f
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-29 22:06:23 +0200
+Date:   2017-08-09 10:03:59 +0200
 
-    fix abi-check and limit upload to website for master
+    opj_decompress: document -quiet option, and remove spurious newline output
 
-commit 110d31891b459c673c7c788cf8170cadfd2201bf
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-29 21:44:38 +0200
-
-    fix abi-check
-
-commit cc0c71c30b2f9c3c28b67a027b39df1fda0d1c9b
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-29 20:23:01 +0200
-
-    fix abi-check
-
-commit 5695ac15ff961fb56ecee8455bca325444f37694
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-28 20:33:31 +0200
-
-    Update abi-check scripts for v2.1.2
-
-commit df5e8628f29a0138fcfe327527d2d0eda7c9c664
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-28 20:15:53 +0200
+commit 0eceb4494c23d141ddf242209b92f07bc942b437
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-09 09:50:39 +0200
 
-    Update NEWS.md for v2.1.2
+    src/bin/jpwl/convert.c pgxtoimage(): add missing fclose() (#977)
 
-commit b0c0f0ff04aa6088f690b086c49601bbf66fceee
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-28 20:14:06 +0200
+commit 5a560ebf5138ebc241e9962306ce74bfc50fc69c
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-09 09:42:30 +0200
 
-    Update Changelog for v2.1.2
+    imagetobmp: avoid shift by -1 (relates to #811)
 
-commit 9afc1699f0220d16f71860c1083d8c1b627e30fe
+commit 0c07950cb3f318df5b2051ae5d96bef553bb9966
 Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-28 18:55:02 +0200
+Date:   2017-08-08 18:05:37 -0700
 
-    Update version number for future release 2.2.0
-
-commit 34dae137a9a8c04feaa9763ae7e09a86ecb10400
-Author: Mathieu Malaterre &lt;mathieu.malaterre@gmail.com&gt;
-Date:   2016-09-26 12:01:31 +0200
-
-    OPENJPEG_NAMESPACE is configurable by user
-
-commit 4d5c5e7c4891491d61c7deaf77d9238b3621c32a
-Author: Mathieu Malaterre &lt;mathieu.malaterre@gmail.com&gt;
-Date:   2016-09-26 11:26:55 +0200
-
-    Remove typos from comments and man pages
-
-commit fac916f72a162483a4d6d804fd070fdf32f402ed
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-22 00:30:34 +0200
-
-    Fix PNM file reading (#847)
-    
-    Malformed PNM file could cause a crash in opj_compress.
-    Checks were added to prevent this.
-    
-    Fixes #843
-    Updates #440
-
-commit 8715ce2749d1e5a1e9c77646e9a2ddf0ec82bac9
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-09-21 21:15:25 +0200
-
-    Fix some issues reported by Coverity Scan (#846)
-    
-    * test_tile_decoder: Fix potential buffer overflow (coverity)
-    
-    CID 1190155 (#1 of 1): Unbounded source buffer (STRING_SIZE)
-    
-    Using a pointer instead of buffer of fixed size avoids the limit
-    for the length of the input file name.
+    Fix remaining warning
     
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
-    
-    * test_tile_encoder: Fix potential buffer overflow (coverity)
-    
-    CID 1190154 (#1 of 1): Unbounded source buffer (STRING_SIZE)
-    
-    Using a pointer instead of buffer of fixed size avoids the limit
-    for the length of the output file name. This implies that the length
-    can exceed 255, so the data type for variable len had to be fixed, too.
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
-    
-    * openjpip: Initialize data before returning it
-    
-    This fixes an error reported by Coverity:
-    
-    CID 1190143 (#1 of 1): Uninitialized scalar variable (UNINIT)
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    format specifier mismatch in #975
 
-commit 045aa4d9f297b8d3d5f89e9983a54252d103a3da
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-09-21 13:17:09 +0200
+commit 0394f8d0f1c981e0bc587beddc14d1fb0b265b1b
+Merge: 3b1b067 bc3cb74
+Author: Antonin Descampe &lt;antonin@descampe.net&gt;
+Date:   2017-08-08 16:51:54 -0700
 
-    Fix potential out-of-bounds read (coverity)  (#844)
-    
-    * query_parser: Fix potential out-of-bounds read (coverity)
-    
-    CID 1190207 (#1 of 1): Out-of-bounds read (OVERRUN)
-    
-    Variable i must be checked before testing query_param.box_type.
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
-    
-    * jpip_parser: Fix potential out-of-bounds read (coverity)
-    
-    CID 1190206 (#1 of 1): Out-of-bounds read (OVERRUN)
+    Merge pull request #975 from szukw000/changes-for-afl-tests
     
-    Variable i must be checked before testing query_param.box_type.
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    Catch images broken by AFL
 
-commit da940424816e11d624362ce080bc026adffa26e8
-Merge: 31d44f0 893143c
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-20 18:59:30 +0200
+commit 3b1b0672663b59853b63d48f94b63ca497883527
+Merge: 2fbd4bb 9211469
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-08-07 20:17:36 +0200
 
-    Merge pull request #834 from trylab/issue833
+    Merge pull request #968 from rouault/reduce_memory_decoding
     
-    Fix issue 833.
+    Reduce memory decoding
 
-commit 31d44f02807a6ce02feead4326e58fac9681c045
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-20 18:48:06 +0200
+commit 92114694a48638e86c07e4adf11b78878045c8a9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 19:34:21 +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
+    
+    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
+    
+    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.
+    
+    With that change, the decoding of MAPA_005.jp2 goes down from the previous
+    improvement of 2.7 GB down to 1.9 GB.
+    
+    New profile:
+    
+    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%)
+
+commit 373520db309430b68dd9ff09cba03a25f711a88e
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 13:23:29 +0200
 
-    Disable automatic compilation of t1_generate_luts
-    
-    Fix #831
+    Add documentation for magic values in the code
 
-commit 3aaeea7ce8c2065d29483817b7fd07226601851c
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-16 17:54:12 +0200
+commit 434ace4ff74cc3eee401d4d3c02668c1d85f2a0d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 02:17:26 +0200
 
-    renamed USE_THREAD to OPJ_USE_THREAD
-    
-    renaming to be consistent with previous OPJ CMake options
+    opj_jp2_apply_pclr() also needs to use opj_image_data_alloc/opj_image_data_free
 
-commit 6e7616c83cb01d9b7a5a35e093ff9ff6741acc74
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-15 23:51:34 +0200
+commit 0c1fc0593ef5b918068709fd74d76e4824c90e7c
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 02:02:25 +0200
 
-    Remove TODO for overflow check (#842)
-    
-    The check was already done. It’s been simplified.
-    Reformat to get consistent style throughout the functions.
+    Complementary fix to previous commit
 
-commit 9a07ccb3d0f076388e4da684a3bfd4327125c721
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-15 01:57:53 +0200
+commit f58aab9d6a57e48bdc60e15dd373c24de74719a9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 01:47:40 +0200
 
-    Add overflow checks for opj_aligned_malloc (#841)
+    Add opj_image_data_alloc() / opj_image_data_free()
     
-    See
-    https://pdfium.googlesource.com/pdfium/+/b20ab6c7acb3be1393461eb650ca8fa4660c937e/third_party/libopenjpeg20/0020-opj_aligned_malloc.patch
+    As bin/common/color.c used to directly call malloc()/free(), we need
+    to export functions dedicated to allocating/freeing image component data.
 
-commit f88c9974e27161427c003dda5d89f61a5a3995e9
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-14 23:46:46 +0200
+commit 61fb5dd7f81c2e3dfabbb99f59dc89572d59fa37
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 01:05:24 +0200
 
-    Flags in T1 shall be unsigned (#840)
+    Fix crash on Windows due to b7594c0fcb9dd3aa6356d72c4a525d76168da689
     
-    This will remove some conversion warnings
-
-commit 0954bc11e3ab6a39d86e5ed51286da4b8989743d
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-14 00:12:43 +0200
-
-    Fix some warnings (#838)
+    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.
     
-    Fix warnings introduced by uclouvain/openjpeg#786
+    Note: this might have some compatibility impact in case user code does itself
+    the allocation/free of image-&gt;comps[].data
 
-commit 1e69940955f6d5b05369ebeeafe70e698cc2b870
-Merge: d6d0f07 f66e120
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 21:21:56 +0200
+commit 793edc38e41700e9b4cda4b7f9c79aba95b8d989
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-05 23:48:28 +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%)
+    
+    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%)
+
+commit bc3cb7410023e9d0c7ff9972a0bc8cf1fe9b32a4
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-08-07 16:44:28 +0200
+
+    Changes for converttif.c to fix tsize_t
+
+commit 2fbd4bb0b9c6178f12c852dc40db6ab05734bfe2
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-08-04 18:01:29 +0200
 
-    Merge branch 'smuehlst-bit-fields-type'
+    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
 
-commit f66e1204523415e8936c237ce9cc759e2185708f
-Merge: d6d0f07 8750e18
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 21:21:11 +0200
+commit 57e36dbfeb57451444c5c20eab66ab0bedd3d3b3
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-08-02 17:27:08 +0200
 
-    Merge branch 'bit-fields-type' of https://github.com/smuehlst/openjpeg into smuehlst-bit-fields-type
+    First change on changes-for-afl-tests
 
-commit d6d0f070e179fc195849aacd842c92f79653934f
-Merge: f1f7c53 48c16b2
+commit 155fc2e279b85bd04709967b2797de4f69b0cf3e
 Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 16:39:26 +0200
+Date:   2017-08-02 17:07:29 +0200
 
-    Merge pull request #786 from rouault/tier1_optimizations_multithreading
-    
-    T1 &amp; DWT multithreading decoding optimizations
+    Update abi-check to take into account new defaults for "add" git command
 
-commit f1f7c533089130266a6c1a502b30a846bb506b56
+commit eb90d8ec935eba934bfd260cc80c8ef445dff4fd
 Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 16:21:38 +0200
-
-    remove ops 1.4 and 1.2 from abi-check to avoid symlinks in gh-pages
-
-commit 893143c8e13e491d0e884eb757580ec9575bbc8f
-Author: trylab &lt;trylab@users.noreply.github.com&gt;
-Date:   2016-09-13 17:43:30 +0800
-
-    Fix issue 833.
-    
-    Add some overflow check operations.
+Date:   2017-08-02 16:50:11 +0200
 
-commit 805972f4c85fd4b34e08e499c12c68334706df47
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-11 19:47:32 +0200
+    WIP: fix abi-check and automatic upload
 
-    Add test for issue 820 (#829)
-    
-    Update uclouvain/openjpeg#820
-
-commit 45ed017b1b9cfac6578d40a2ccc33640c2a94f78
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 23:56:06 +0200
-
-    Add test for issue 826 (#827)
-    
-    Update uclouvain/openjpeg#826
-    
-    Also correct names for data of issue uclouvain/openjpeg#823
+commit 48125b0d124bc668b971b1f5df5a3c39798cfcf9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-31 17:35:10 +0200
 
-commit b21a8317e5cba895aaca066330fe1dca15371eab
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 22:14:19 +0200
+    src/bin/jpwl/convert.c: add missing fclose() in error code path (suggested by maddin200, #976)
 
-    Fix coverity 113065 (CWE-484) (#824)
+commit 00f45684a8339e69ed55df2397f3c19d09fecaed
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-07-31 13:58:08 +0200
 
-commit 5fb81d986e84074b576192541621a29fcdf8b0f8
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-08 11:28:58 +0200
+    Catch images broken by AFL
 
-    Update THANKS.md
-
-commit 48c16b2c199210a3c20b306a737eac5fc2c8f6c9
-Merge: ab22c5b ef01f18
+commit 13cde9fa37249628af6b6f10601b733f87a025f4
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-09-08 10:30:09 +0200
+Date:   2017-07-30 19:46:52 +0200
 
-    Merge branch 'master' of https://github.com/uclouvain/openjpeg into tier1_optimizations_multithreading_2
-    
-    Conflicts:
-       src/lib/openjp2/t1.c
+    src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)
 
-commit ab22c5bad55fccdc440847c896baaf4bf89365a0
+commit 9a6d41d22b1a4f17a376d2f6f208c52c58b8e4b3
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-09-08 09:43:36 +0200
-
-    opj_thread_pool: fix potential deadlock at thread pool destruction
-
-commit ef01f18dfc6780b776d0674ed3e7415c6ef54d24
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 07:34:46 +0200
-
-    Cast to size_t before multiplication
-    
-    Need to cast to size_t before multiplication otherwise overflow check is useless.
+Date:   2017-07-30 19:27:01 +0200
 
-commit e078172b1c3f98d2219c37076b238fb759c751ea
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 00:24:15 +0200
+    opj_event_msg(): force zero termination of buffer
 
-    Add sanity check for tile coordinates (#823)
-    
-    Coordinates are casted from OPJ_UINT32 to OPJ_INT32
-    Add sanity check for negative values and upper bound becoming lower
-    than lower bound.
-    See also
-    https://pdfium.googlesource.com/pdfium/+/b6befb2ed2485a3805cddea86dc7574510178ea9
-
-commit 8750e183c652de44d332e786842ca33182c375be
-Author: Stephan Mühlstrasser &lt;stm@pdflib.com&gt;
-Date:   2016-09-07 08:41:01 +0200
-
-    Moved type OPJ_BITFIELD from openjpeg.h to opj_includes.h
-    
-    OPJ_BITFIELD is used only in internal headers and must not
-    appear in the public openjpeg.h header.
-
-commit 6c83f1468c3ac4d8b031efb016aa075b36895aaf
-Merge: 5487419 c16bc05
-Author: Stephan Mühlstrasser &lt;stm@pdflib.com&gt;
-Date:   2016-09-07 08:35:19 +0200
-
-    Merge branch 'master' into bit-fields-type
-
-commit acfb307df43a811cc56c035d0dc651dac8c9e7de
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-07 00:00:21 +0200
-
-    Add test for PR 818 (#822)
-    
-    update uclouvain/openjpeg#818
-
-commit 275aad4df8620660a9bd10c52b01f3c710481464
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 22:33:45 +0200
-
-    Update to libpng 1.6.25 (#821)
-
-commit 734d57d5f7842aa7c2c9f36d62131ab4d8bd6c87
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 22:33:26 +0200
-
-    fix incrementing of "l_tcp-&gt;m_nb_mcc_records" in opj_j2k_read_mcc (#820)
-
-commit c16bc057ba3f125051c9966cf1f5b68a05681de4
-Author: trylab &lt;trylab@users.noreply.github.com&gt;
-Date:   2016-09-06 13:55:49 +0800
-
-    Fix an integer overflow issue (#809)
-    
-    Prevent an integer overflow issue in function opj_pi_create_decode of
-    pi.c.
-
-commit ea320dab8bc491c10b1584a6617378cecea9f4fa
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 07:54:29 +0200
-
-    Add overflow check in opj_tcd_init_tile (#819)
-
-commit d7e6b7de8a3860dd3135bfe49e0e1be2d9dba80f
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 01:31:15 +0200
-
-    Fix leak &amp; invalid behavior of opj_jp2_read_ihdr (#818)
-    
-    In case multiple ihdr box are present, only the first one shall be
-    taken into account.
-
-commit ccd9ced49ea66f31b1d3d9dd07f4438fa94db328
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 00:50:44 +0200
-
-    Add overflow check in opj_j2k_update_image_data (#817)
-
-commit 9f24b078c7193e886f6cfb329d3469eb1facf68d
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 00:49:53 +0200
+commit b716f8616394252724ca0811eab3a20ab42b2189
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:26:47 +0200
 
-    Change 'restrict' define to 'OPJ_RESTRICT' (#816)
-    
-    Visual Studio 2015 does not pass regression tests with `__restrict` so kept disabled for MSVC.
-    Need to check proper usage of OPJ_RESTRICT (if correct then there’s
-    probably a bug  in vc14)
-    
-    Closes #661
+    Fix breakage of 22bf99ce0220811bfce1562ee61423cb0245b683
 
-commit 51155950eb3320a49835bb05d7867240d4d0cccc
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-09-05 22:07:50 +0200
+commit 22bf99ce0220811bfce1562ee61423cb0245b683
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:07:16 +0200
 
-    Add .gitignore (#787)
-    
-    Ignore all files and directories which are generated by `cmake . &amp;& make`.
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    Test return value of opj_j2k_setup_decoding_tile() (commit https://github.com/uclouvain/openjpeg/pull/561/commits/ec31fa0c7f1ff8979312c07296cba41584c458a0 by  ak-dxdy, #561)
 
-commit 23cee2228638b5f2372160b193dc30dd1014addf
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-02 23:58:12 +0200
+commit ffa9a4f6585dc199fb850dee4255e7a7b84aad63
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 18:46:34 +0200
 
-    Switch to clang 3.8 (#814)
-    
-    clang 3.9 is currently unavailable for precise through apt
+    Fix warnings in USE_JPIP compilation mode
 
-commit 4f9abb9a45ffd711f9717db15d062fa020ed6cf5
+commit c22cbd8bdf8ff2ae372f94391a4be2d322b36b41
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-08-11 21:50:46 +0200
+Date:   2017-07-30 18:43:25 +0200
 
-    [Win32] Use _beginthreadex instead of CreateThread()
+    Avoid heap buffer overflow in function pnmtoimage of convert.c, and unsigned integer overflow in opj_image_create() (CVE-2016-9118, #861)
 
-commit 4a2a8693e5a02207a8813b02a375abdc4e43c49b
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-08-06 13:04:56 +0200
+commit 83342f2aafcab4599b49f780e35fd249e8402b61
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 18:18:59 +0200
 
-    Update to lcms 2.8 (#808)
+    Fix Doxygen warnings (patch derived from Winfried's doxygen-dif.txt.zip, #849)
 
-commit 1509ccc51f8de0523821ffd2f3d1946b10e49614
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-08-06 12:51:40 +0200
+commit 4748318136626dd9e841ea1aa8b52adfbab26772
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 17:26:03 +0200
 
-    Update to libpng 1.6.24 (#807)
+    j2k.c: remove hardcoded constants related to m_state, and useless FIXME
 
-commit 5bb919a30e77ee2c96984883fe2cfb714b62bddc
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-08-06 12:26:46 +0200
+commit e23e0c94d0eb30623bc67be19c38c22ee5378344
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 16:48:15 +0200
 
-    Reenable clang-3.9 build on travis (#806)
-    
-    clang-3.9 is now available with apt add-on in travis-ci
+    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
 
-commit 54874194a88997c2492fe1206203047739266dff
-Author: Stephan Mühlstrasser &lt;stm@pdflib.com&gt;
-Date:   2016-07-27 10:09:54 +0200
+commit 1ed8d67797ef57143e2c855b602016bf9d89337d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 15:35:47 +0200
 
-    Unified bit-field declaration, removed tabs.
+    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
 
-commit d2d35bf6c2119cd39a298f57b03bf9e17d36946b
-Author: Stephan Mühlstrasser &lt;stephan.muehlstrasser@web.de&gt;
-Date:   2016-07-25 20:46:11 +0200
+commit 68832af20e3b3710424947e12762b6b52d3b6ac0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 15:22:24 +0200
 
-    Create separate type for bit-fields.
-    
-    The definition of bit-fields with type OPJ_UINT32 caused complilation errors
-    on IBM iSeries, because OPJ_UINT32 is defined as uint32_t, and
-    uint32_t is defined as unsigned long in &lt;stdint.h&gt;. The definition of
-    bit-fields with an integer type of  a specific size doesn't make sense
-    anyway.
+    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
 
-commit b8bd1b0e07cf427b80eb0dc6823efebbdd1b8e5b
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-14 11:06:26 +0200
+commit 517bf6fd86dae18b62390a03533d30da0e5bb701
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 21:11:23 +0200
 
-    Add compilation test for standalone inclusion of openjpeg.h (#798)
-    
-    This ensures all openjpeg.h dependencies are met.
-    Fix #673
+    src/bin/jpwl/convert.c: fix memleak (fix suggested by maddin200, #631)
 
-commit e40c28c2e89c30ebb682fe2fabef10930e039c1f
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-07-14 10:49:17 +0200
+commit 51eb86d8f7a6297a4f0e8ca44977b72532de0353
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 19:43:23 +0200
 
-    jpwl: Remove non-portable data type u_int16_t (fix issue #796) (#797)
-    
-    The type casts which used this data type can be removed by changing
-    the signature of function swap16. As this function is called with
-    unsigned variables, this change is reasonable.
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    Fix warnings in pi.c raised by VS11 analyze (#190)
 
-commit 18da6155b2b69472d36ef8b13fd82878966b451c
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-07-12 00:45:51 +0200
+commit 397f62c0a838e15d667ef50e27d5d011d2c79c04
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 19:13:49 +0200
 
-    Fix dependency for pkg-config (issue #594) (#795)
-    
-    openjpeg provides libopenjp2.pc, so the require statements must refer to
-    libopenjp2 instead of openjp2.
-    Fixes #594
-    
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    Fix write heap buffer overflow in opj_mqc_byteout(). Discovered by Ke Liu of Tencent's Xuanwu LAB (#835)
 
-commit b3c422654fe847b765b7f2f1d662e43bac1a682c
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-06 00:26:37 +0200
+commit 11445eddad7e7fa5b273d1c83c91011c44e5d586
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 19:03:13 +0200
 
-    Update ABI tracker script
+    opj_pi_update_decode_poc(): limit layno1 to the number of layers (CVE-2016-1626 and CVE-2016-1628, #850)
     
-    Disable previous version.
-
-commit 9db62b20111198429c4fa9650dda16e1ee326f3c
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-05 23:53:31 +0200
-
-    Update ABI tracker from 2.1 to 2.1.1
-
-commit 7948d83340e19f8520b4d1dc87a03fcc9613732e
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 23:33:00 +0200
-
-    update api/abi tracker
+    This has been recently fixed in a less elegant way per
+    80818c39f5bfbac37768fcee95b0ffeceaa77264
 
-commit 132c4a248b53510466381e348e45f52e1f5f4afd
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-05 22:12:11 +0200
-
-    Add version 2.1.1 to ABI tracker
-
-commit ed294598eacda0664ec8ebfa843ae242036f21f8
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 18:10:35 +0200
-
-    Trigger API/ABI update on website
-
-commit fef144283f070e24a0a8f9e86158ec6353e99cf1
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:49:10 +0200
-
-    Update INSTALL.md
-
-commit 4c5a1cc82584e263103fc48c8bd729985199c147
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:40:27 +0200
-
-    Update AUTHORS.md
-
-commit bd96ed835352897c30ecc0f5cff43d0b1399e4e5
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:07:16 +0200
-
-    Update AUTHORS file
-
-commit f4a708ba0fe0ef906209ba608c6059572ff76dcf
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:04:29 +0200
-
-    Update INSTALL, README and THANKS file
-
-commit 2372cb78a01132aa3e9c1f55065355035d031330
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 15:29:02 +0200
-
-    Upload changelog and convert some files to mardown
-
-commit 9d5002f8fd2f52521b5303ae391051ef201e9b5c
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-26 20:00:37 +0200
-
-    Remove useless diff command in abi-check.sh
-
-commit e4c74f536461f6af1d4487bf4e8250d60a06f431
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-06-25 01:09:42 +0200
-
-    Correct abi-check.sh for PR (#791)
-
-commit cb72c08472f2e82387ebdde1792c6b39a25019d5
-Author: maddin200 &lt;maddin200@aol.com&gt;
-Date:   2016-06-21 22:13:57 +0200
+commit 3fbe71369019df0b47c7a2be4fab8c05768f2f32
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 18:38:16 +0200
 
-    Update tcd.c (#790)
+    opj_tcd_get_decoded_tile_size(): fix potential UINT32 overflow (#854, CVE-2016-5152)
     
-    cppcheck unitialized variable
+    Fix derived from https://pdfium.googlesource.com/pdfium.git/+/d8cc503575463ff3d81b22dad292665f2c88911e/third_party/libopenjpeg20/0018-tcd_get_decoded_tile_size.patch
 
-commit 898ca6f52247cf869b66048b21871f236fd5f900
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-06-21 22:09:08 +0200
+commit 5a3e7aaf339943bc988adbada39a1fc8f5046899
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 17:56:12 +0200
 
-    Remove clang-3.9 build
-    
-    c.f. travis-ci/travis-ci#6120
+    color_cielab_to_rgb(): reject images with components of different dimensions to void read heap buffer overflow (#909)
 
-commit 86698be6e9ca3375a42e7cc00c743bd1bf9b203d
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 17:41:29 +0200
+commit 784d4d47e97b5d0fccccbd931349997a0e2074cc
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 17:51:10 +0200
 
-    Automatic upload of ABI report (end)
+    Fix breakage of 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0 (#970)
 
-commit cdcb77e796f8f06d3838356c0a2931a82b4375be
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 17:21:08 +0200
+commit 2fa0fc61f2d546c8b67e7c5a9cbc61d98e1f7af0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 17:28:55 +0200
 
-    Automatic upload of ABI report (ctd)
+    imagetopnm(): make sure the alpha component has same dimension as other components to avoid read heap buffer overflow (#970)
 
-commit 954dad66dea3c5bb1e59187987e77c18f7b593ec
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 16:46:38 +0200
+commit db9ef99f6dd054a84fa8382c02869fb0656abfc8
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 16:34:35 +0200
 
-    Automatic upload of ABI report (ctd)
+    opj_t1_decode_cblk(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2487. Credit to OSS Fuzz
 
-commit 48744a1342123945ca461839ffe52d9b2c467fc9
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 16:19:06 +0200
+commit f6551f822fe020843299bd807ec6989abd070b2c
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 16:29:11 +0200
 
-    setup automatic upload of ABI reports
+    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
 
-commit 7d3c7a345f05adbc9ca26d8ca7f6c7fffa5096be
+commit 9906fbf737692486cebabe98169988d818e2e66a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-26 23:51:32 +0200
+Date:   2017-07-29 16:22:36 +0200
 
-    Be robust to failed allocations of job structures
+    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
 
-commit 69497d35c0e35a1f9b789d016e9eb4946b8f0fab
+commit 71b4f5b124d14ed609763b11e19d2d480bc32f58
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 21:39:21 +0200
+Date:   2017-07-29 15:52:11 +0200
 
-    opj_decompress: use clock_gettime() instead of getrusage() so as to get the time spent, and not to the total CPU time
+    opj_pi_next_pcrl(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2787. Credit to OSS Fuzz
 
-commit d67cd2220a291b54718f731052be4a9397f67077
+commit d6654d906c1ae66590b6d600458a91f1ee923de5
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 19:08:04 +0200
+Date:   2017-07-28 22:15:47 +0200
 
-    opj_decompress: add a -threads &lt;num_threads&gt; option
+    opj_int_ceildiv(): fix int32 overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2494. Credit to OSS Fuzz
 
-commit e3eb0a206d66cc873eccb57fc12a0497de400aca
+commit 361c4506fdfb9b6f0e41d86d5d0ea1efb5704ecf
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 18:39:41 +0200
+Date:   2017-07-28 22:06:26 +0200
 
-    .travis.yml: add a conf with OPJ_NUM_THREADS=2
+    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
 
-commit 57b216bb587aa7eba13afbbfd6a1fe5f04201b61
+commit 7bdbe490cba9990916f94a40379cc787434340ff
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 18:07:15 +0200
+Date:   2017-07-28 21:55:22 +0200
 
-    Use thread pool for DWT decoding
+    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
 
-commit 5fbb8b2645a085391b070162d8551aa960caab6a
+commit 16aeb9282f6b3877aa8365c461ba8d3d1338adae
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 16:38:44 +0200
+Date:   2017-07-28 21:39:30 +0200
 
-    Use thread-pool for T1 decoding
+    Fix null pointer dereference in opj_j2k_add_mct() (#895)
+    
+    Fixes openjeg-crashes-2017-07-27/issue879-poc1.j2k of #895
 
-commit d4b7f03cfa4732132767188782683f3d957da912
+commit c5bf5ef4d6552e9159aaad29cb27826acd1a3389
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 16:36:47 +0200
+Date:   2017-07-28 21:29:55 +0200
 
-    Add opj_codec_set_threads() in public API and propagate resulting thread pool to tcd level
+    Avoid use-after-free when a MCT marker is found after a MCC one (#895)
     
-    By default, only the main thread is used. If opj_codec_set_threads() is not used,
-    but the OPJ_NUM_THREADS environment variable is set, its value will be
-    used to initialize the number of threads. The value can be either an integer
-    number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called,
-    this function will override the behaviour of the environment variable.
+    Fixes openjeg-crashes-2017-07-27/issue880-poc2.j2k of #895
 
-commit 54179fe1d53156c6b440166fe71a10f238a6ea56
+commit e03e9474667e5117341351699f0b1dbb06f93346
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 16:34:52 +0200
+Date:   2017-07-27 22:29:17 +0200
 
-    Add threading and thread pool API
+    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
 
-commit 7092f7ea112fcc44e7426c462bf01a406b076620
+commit 820fcfe8bb101a2862c076b02c9b6b636ce39d2f
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 16:00:04 +0200
+Date:   2017-07-27 19:34:54 +0200
 
-    Fix MSVC210 build issue (use of C99 declaration after statement) introduced in ba1edf6cd41415594729bc90ad3b0008af48251e
+    opj_j2k_update_image_data / opj_tcd_update_tile_data: fix unaligned load/store (#895)
+    
+    When components don't have the same width, unaligned load/store are possible.
+    
+    Fixes openjeg-crashes-2017-07-27/id:000000,sig:11,src:001342,op:flip4,pos:162.jp2 of #895
 
-commit 107eb31531ca688e2799406e69e9383efc13448f
+commit 6c4e5bacb9d9791fc6ff074bd7958b3820d70514
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 13:45:15 +0200
+Date:   2017-07-27 19:22:14 +0200
 
-    Improve perf of opj_t1_dec_sigpass_mqc_vsc() and opj_t1_dec_refpass_mqc_vsc() with loop unrolling
+    opj_pi_next_rpcl / opj_pi_next_pcrl / opj_pi_next_cprl: avoid int overflow (#895)
+    
+    Fixes int overflow on openjeg-crashes-2017-07-27/id:000000,sig:08,src:000879,op:flip2,pos:128.jp2
 
-commit 8371491a9968a31ce16d6ce37b775ef3c7d090c8
+commit 178194c093422c9564efc41f9ecb5c630b43f723
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 11:44:54 +0200
+Date:   2017-07-27 18:51:51 +0200
 
-    Better inlining of opj_t1_updateflagscolflags() w.r.t. flags_stride
+    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
 
-commit 956c31d5a6e4530a92b6dd6099bdbf071144f6f1
+commit d6fa30099797c68c6a67decf58571dd59dbf734b
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 10:34:44 +0200
+Date:   2017-07-26 23:25:38 +0200
 
-    opj_t1_dec_clnpass(): remove useless test in the runlen decoding path (of the non VSC case)
+    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
 
-commit 93f7f907117675cf6af227b4d0243a58f6c3640a
+commit a88cbb6a0b3539461dfb29922102953b7a7fc3a7
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 10:25:55 +0200
+Date:   2017-07-26 22:53:59 +0200
 
-    opj_t1_decode_cblks(): tiny perf increase when loop unrolling
+    Fix various undefined shift behaviour in pi.c
+    
+    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2496
+    Credit to OSS Fuzz
 
-commit 1da397e94a4e441a7c9a1aa4c2debd1c06ba05e2
+commit 6c5fe9407b7768eb2ac55b83511bc103551d207a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 01:33:06 +0200
+Date:   2017-07-26 22:22:44 +0200
 
-    Tier 1 decoding: add a colflags array
+    Avoid potential undefined shift behaviour in opj_bio_read() from opj_t2_read_packet_header()
     
-    Addition flag array such that colflags[1+0] is for state of col=0,row=0..3,
-    colflags[1+1] for col=1, row=0..3, colflags[1+flags_stride] for col=0,row=4..7, ...
-    This array avoids too much cache trashing when processing by 4 vertical samples
-    as done in the various decoding steps.
+    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2485
+    Credit to OSS Fuzz
 
-commit 31882ad7f4a0d9d0231c3fdb9c75a6b69912e1b7
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-22 00:54:06 +0200
+commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1
+Merge: 5e795d9 94c4b73
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-07-26 22:05:32 +0200
 
-    Const'ify lut arrays so they are in the read-only data section
+    Merge pull request #800 from rouault/tier1_optimizations_multithreading_pterm_check
+    
+    Implement predictive termination check
 
-commit ba1edf6cd41415594729bc90ad3b0008af48251e
+commit 94c4b7300cc515330bf798bb45eb0d68e2c84aa0
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-22 00:50:34 +0200
+Date:   2017-07-26 21:39:50 +0200
 
-    Reduce number of occurrences of orient function argument
-    
-    This is essentially used to shift inside the lut_ctxno_zc, which we
-    can precompute at the beginning of opj_t1_decode_cblk() /
-    opj_t1_encode_cblk()
+    T1 decoder: check code stream errors when predictable termination is enabled and emit a warning when errors are found
 
-commit 23a01dfdef1a266754af268b07d912efbe04a759
+commit 5e795d90a1e47616e0c7a2e39381c13ccf7fd6dd
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-21 16:27:35 +0200
+Date:   2017-07-26 21:06:38 +0200
 
-    Specialize decoding passes for 64x64 code blocks
+    Spelling fixes (patch by ka7, #890, rebased on top of master)
 
-commit d8fef96f23ea8b12226d7326118f2ffd91da28ac
+commit 2be20ce7d9996e960d79f3ad6ec439a9895849ed
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-21 15:52:02 +0200
+Date:   2017-07-26 21:04:01 +0200
 
-    Improve code generation in opj_t1_dec_clnpass()
-    
-    Add a opj_t1_dec_clnpass_step_only_if_flag_not_sig_visit() method that
-    does the job of opj_t1_dec_clnpass_step_only() assuming the conditions
-    are met. And use it in opj_t1_dec_clnpass(). The compiler generates
-    more efficient code.
+    Reformat src/bin/wx/OPJViewer/source/OPJThreads.cpp src/bin/wx/OPJViewer/source/imagjpeg2000.cpp wrapping/java/openjp2/JavaOpenJPEG.c
 
-commit c539808d097945866c0f7120ccdea28921a011a2
+commit 94cc97c58acfa574e734fac5eb673c516c0ac469
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-21 15:41:36 +0200
+Date:   2017-07-26 20:13:09 +0200
 
-    opj_t1_updateflags(): tiny optimization
-    
-    We can avoid using a loop-up table with some shift arithmetics.
+    opj_decompress: fix null pointer dereference on comps[].data on id_000167,sig_11,src_006079,op_havoc,rep_4 (#939)
 
-commit 426bf8d337715f7b2e867cb2643128e5c2e3b5bb
-Author: Kal Conley &lt;kcconley@gmail.com&gt;
-Date:   2015-12-27 20:14:47 +0100
+commit 8d2e69e37d01bf6a0440d3109d92235c3c586ffe
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 19:49:38 +0200
 
-    Move some MQC functions into a header for speed
+    Fix assertion / memory leak in opj_j2k_merge_ppt() on corrupted images (#939)
     
-    Allow these hot functions to be inlined. This boosts decode performance by ~10%.
+    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.
 
 ...</pre></div>