Update ABI/API compatibility reports after commit 0394f8d0f1c981e0bc587beddc14d1fb0b2...
[openjpeg.git] / abi-check / changelog / openjpeg / current / log.html
index d88b06c56515e2083be6702a8842cc84533497c4..247122f93a347b84ff44292a4e576cc0ec863f8e 100644 (file)
 <br/>
 <h1>Changelog from Git</h1><br/><br/>
 <div class='changelog'>
-<pre class='wrap'>commit 51eb86d8f7a6297a4f0e8ca44977b72532de0353
+<pre class='wrap'>commit 0394f8d0f1c981e0bc587beddc14d1fb0b265b1b
+Merge: 3b1b067 bc3cb74
+Author: Antonin Descampe &lt;antonin@descampe.net&gt;
+Date:   2017-08-08 16:51:54 -0700
+
+    Merge pull request #975 from szukw000/changes-for-afl-tests
+    
+    Catch images broken by AFL
+
+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 #968 from rouault/reduce_memory_decoding
+    
+    Reduce memory decoding
+
+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
+
+    Add documentation for magic values in the code
+
+commit 434ace4ff74cc3eee401d4d3c02668c1d85f2a0d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 02:17:26 +0200
+
+    opj_jp2_apply_pclr() also needs to use opj_image_data_alloc/opj_image_data_free
+
+commit 0c1fc0593ef5b918068709fd74d76e4824c90e7c
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 02:02:25 +0200
+
+    Complementary fix to previous commit
+
+commit f58aab9d6a57e48bdc60e15dd373c24de74719a9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 01:47:40 +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.
+
+commit 61fb5dd7f81c2e3dfabbb99f59dc89572d59fa37
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 01:05:24 +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
+
+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
+
+    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 57e36dbfeb57451444c5c20eab66ab0bedd3d3b3
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-08-02 17:27:08 +0200
+
+    First change on changes-for-afl-tests
+
+commit 155fc2e279b85bd04709967b2797de4f69b0cf3e
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-02 17:07:29 +0200
+
+    Update abi-check to take into account new defaults for "add" git command
+
+commit eb90d8ec935eba934bfd260cc80c8ef445dff4fd
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-08-02 16:50:11 +0200
+
+    WIP: fix abi-check and automatic upload
+
+commit 48125b0d124bc668b971b1f5df5a3c39798cfcf9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-31 17:35:10 +0200
+
+    src/bin/jpwl/convert.c: add missing fclose() in error code path (suggested by maddin200, #976)
+
+commit 00f45684a8339e69ed55df2397f3c19d09fecaed
+Author: szukw000 &lt;szukw000@arcor.de&gt;
+Date:   2017-07-31 13:58:08 +0200
+
+    Catch images broken by AFL
+
+commit 13cde9fa37249628af6b6f10601b733f87a025f4
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:46:52 +0200
+
+    src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)
+
+commit 9a6d41d22b1a4f17a376d2f6f208c52c58b8e4b3
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:27:01 +0200
+
+    opj_event_msg(): force zero termination of buffer
+
+commit b716f8616394252724ca0811eab3a20ab42b2189
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:26:47 +0200
+
+    Fix breakage of 22bf99ce0220811bfce1562ee61423cb0245b683
+
+commit 22bf99ce0220811bfce1562ee61423cb0245b683
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 19:07:16 +0200
+
+    Test return value of opj_j2k_setup_decoding_tile() (commit https://github.com/uclouvain/openjpeg/pull/561/commits/ec31fa0c7f1ff8979312c07296cba41584c458a0 by  ak-dxdy, #561)
+
+commit ffa9a4f6585dc199fb850dee4255e7a7b84aad63
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 18:46:34 +0200
+
+    Fix warnings in USE_JPIP compilation mode
+
+commit c22cbd8bdf8ff2ae372f94391a4be2d322b36b41
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 18:43:25 +0200
+
+    Avoid heap buffer overflow in function pnmtoimage of convert.c, and unsigned integer overflow in opj_image_create() (CVE-2016-9118, #861)
+
+commit 83342f2aafcab4599b49f780e35fd249e8402b61
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 18:18:59 +0200
+
+    Fix Doxygen warnings (patch derived from Winfried's doxygen-dif.txt.zip, #849)
+
+commit 4748318136626dd9e841ea1aa8b52adfbab26772
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 17:26:03 +0200
+
+    j2k.c: remove hardcoded constants related to m_state, and useless FIXME
+
+commit e23e0c94d0eb30623bc67be19c38c22ee5378344
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 16:48:15 +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
+
+commit 1ed8d67797ef57143e2c855b602016bf9d89337d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 15:35:47 +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
+
+commit 68832af20e3b3710424947e12762b6b52d3b6ac0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-30 15:22:24 +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
+
+commit 517bf6fd86dae18b62390a03533d30da0e5bb701
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-29 21:11:23 +0200
+
+    src/bin/jpwl/convert.c: fix memleak (fix suggested by maddin200, #631)
+
+commit 51eb86d8f7a6297a4f0e8ca44977b72532de0353
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
 Date:   2017-07-29 19:43:23 +0200
 
@@ -284,476 +604,6 @@ Date:   2017-07-05 21:33:42 +0200
 
     Remove unused m_DA_x0, m_DA_y0, m_DA_x1, m_DA_y1 members from opj_j2k_dec structure
 
-commit 1a8eac6a90ca61f3703f9b97afc2ec4918f0ab55
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-03 14:14:03 +0200
-
-    Add tests/fuzzers for OSS Fuzz (#965)
-
-commit c308de39edc1697efbd5c10dc4852a58f9b86558
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-03 14:33:57 +0200
-
-    opj_j2k_read_header_procedure(): validate marker size to avoid excessive memory allocation attempt
-
-commit 5736b1a3683261a5b31fc19a691731dc9fce5920
-Merge: ecbfcbc a0839cc
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-07-03 12:03:29 +0200
-
-    Merge pull request #954 from jeroen/static
-    
-    build both shared and static library
-
-commit ecbfcbc2764ff1b09e693d57e3ef5764518f1e1c
-Merge: e673c8b 96d757c
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-07-01 13:51:52 +0200
-
-    Merge pull request #964 from rouault/remove_useless_knownfailures
-    
-    Remove useless knownfailures (since LAZY encoding is fixed)
-
-commit e673c8bd4da9f0414da472ac5f3d8e03e5102982
-Merge: 8fa405e b992376
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-07-01 12:54:39 +0200
-
-    Merge pull request #963 from rouault/travis_avx2
-    
-    Enable AVX2 at runtime on Travis-CI and AppVeyor
-
-commit b9923764da198742c635ad7dff9de158c3dbb60d
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-01 04:15:36 +0200
-
-    Add tools/travis-ci/knownfailures-Ubuntu14.04-clang3.8.0-x86_64-Release-3rdP.txt (copied from knownfailures-Ubuntu12.04-clang3.9.0-x86_64-Release-3rdP.txt)
-
-commit f194ff32ac3fd5bab88607ea6bf09a73adb99758
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-01 02:53:55 +0200
-
-    appveyor.yml: add a /arch:AVX2 config on Windows
-    
-    Try running the tests if the CPU supports AVX2.
-
-commit 96d757cb8e6c3fb0e133817e5057ee5eae6a594d
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-01 04:24:46 +0200
-
-    Remove useless knownfailures (since LAZY encoding is fixed)
-
-commit 69a001819c9ac36bb3210e475d099cc2abbbf89f
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-07-01 01:46:55 +0200
-
-    .travis.yml: try to run tests in -mavx2 mode if the CPU supports it
-    
-    And modify settings so as to hae a AVX2 compatible CPU
-
-commit 8fa405ee15b5151df40d8d96460257ee5b510135
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-30 00:03:05 +0200
-
-    IDWT 5x3: fix bug in AVX2 implementation (#953, #957)
-
-commit 6239ed7be41d370c537ca43e198cf2fdc6eb9a60
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-26 13:13:26 +0200
-
-    INSTALL.md: add section discussing how to enable CPU specific optimizations
-
-commit 533fa2fdee4f69a5d7bb8f0b1c0a8f432dad334f
-Merge: 6026786 4fe7620
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-06-26 12:45:34 +0200
-
-    Merge pull request #957 from rouault/idwt_53_improvements
-    
-    IDWT 5x3 single-pass lifting and SSE2/AVX2 implementation
-
-commit 60267860698b86e215bee584857e6b4f2f08b693
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-21 13:20:35 +0200
-
-    Style fix
-
-commit 93aca84731bfffb20e968af10055a8cd0401806e
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-21 12:54:40 +0200
-
-    Fix mingw related warnings
-
-commit cdd3e83bae71e1e023c4c2bdd5e52d082576e550
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-21 12:49:01 +0200
-
-    Fix clang warning about extraneous parentheses
-
-commit 4fe7620d4adc131c3ff93bb47bb8d138d69c9cbd
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-21 12:28:51 +0200
-
-    .travis.yml: add a configuration to test compilation of AVX2 (but disable tests since Travis doesn't have AVX2 compatible machines)
-
-commit fd0dc535ad9ae0d369d1039aaf56235583ca64ea
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-21 12:12:58 +0200
-
-    IDWT 5x3: generalize SSE2 version for AVX2
-    
-    Thanks to our macros that abstract SSE use, the functions can use
-    AVX2 when available (at compile time)
-    
-    This brings an extra 23% speed improvement on bench_dwt in 64bit builds
-    with AVX2 compared to SSE2.
-
-commit f6e3475cc9328e5378e96e72b5adf29fb07c5feb
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-21 01:07:56 +0200
-
-    dwt.c: small cleanup
-
-commit f06cfadef8e2b1ad9008957cc6bc80a27c53f2eb
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-20 18:24:21 +0200
-
-    Enable __SSE__ / __SSE2__ with Visual Studio
-
-commit fa55b52d19f39765d7f108d654a8f87035a5772f
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-20 17:56:25 +0200
-
-    Improve performance of inverse DWT 5x3 (#953)
-    
-    * Use single-pass lifting inverse wavelet transform.
-    * For vertical pass, use SSE2 when available so as to process 8 columns
-      in parallel. This is the most beneficial improvement, since the
-      vertical pass involves a lot of cache trashing.
-    
-    With the bench_dwt utility with default arguments (16383x16383 image),
-    time goes from 4.064 s to 1.212 s.
-
-commit 919ed5f8b8681aeae54ce3884b3ecca56cadc2e0
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-20 17:56:19 +0200
-
-    Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)
-
-commit 5c56933daf1da88aa6f2a8c8dc5fcc7b1d76cb00
-Merge: 32b20b9 8df2521
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-06-18 00:49:20 +0200
-
-    Merge pull request #955 from rouault/remove_opj_nosanitize
-    
-    Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)
-
-commit 8df2521a6015af7f69a378811986ddb0b3bfbd3a
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-17 19:15:00 +0200
-
-    Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)
-    
-    Commit 29313eb5 introduced those flags to avoid issues with
-    -fsanitize=unsigned-integer-overflow
-    However it is better just to rewrite the loop to avoid such condition
-    to occur.
-
-commit 32b20b93e04d38303f736e975eb5f483fda01ca5
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-17 16:37:56 +0200
-
-    Fix astyle issue
-
-commit 5f596cb2833d5ea7a4d04d22af551731bd770f05
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-17 14:10:15 +0200
-
-    Fix warning about unused arguments
-
-commit cc07aec6c7b50090c3f471ca2c68d0ffa8aa4ff1
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-17 14:09:31 +0200
-
-    Fix warnings with recent GCC versions
-
-commit a0839cca24e19f1f0906e30ee1009ce89e4942b4
-Author: Jeroen Ooms &lt;jeroenooms@gmail.com&gt;
-Date:   2017-06-16 13:58:25 +0200
-
-    only build both static and dynamic on non-windows
-
-commit 1329b3240aafb1b31328091eb6f7720787b391be
-Author: Jeroen Ooms &lt;jeroenooms@gmail.com&gt;
-Date:   2017-06-16 13:27:19 +0200
-
-    build both shared and static library
-
-commit 36dd87cea80ad56e0e3178221aa579a28f02a549
-Merge: 9cbc990 5f1e380
-Author: Antonin Descampe &lt;antonin@descampe.net&gt;
-Date:   2017-06-14 17:23:06 +0200
-
-    Merge pull request #928 from RussellMcOrmond/master
-    
-    Quiet mode for opj_decompress via -quiet long parameter.
-
-commit 9cbc9903c3034d1a101d0521402503ead0abcff0
-Merge: 2609fb8 9a9b069
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-13 12:09:52 +0200
-
-    Merge branch 't1_flag_optimizations'
-
-commit 2609fb8077125b5b31f1bcc2f98c12ff1e6572d7
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-12 17:15:23 +0100
-
-    Packet header writing: set empty packet header bit to 0 when appropriate (small optimization)
-
-commit 73d1510d473b7dcfccfdee57e0e511e6791d5091
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-12 11:23:55 +0100
-
-    Encoder: fix packet writing of empty sub-bands (#891, #892)
-    
-    There are situations where, given a tile size, at a resolution level,
-    there are sub-bands with x0==x1 or y0==y1, that consequently don't have any
-    valid codeblocks, but the other sub-bands may be non-empty.
-    Given that we recycle the memory from one tile to another one, those
-    ghost codeblocks might be non-0 and thus candidate for packet inclusion.
-
-commit 81c5311758a0ae1f1aea349a6ee0bca2a238fa79
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-09 10:47:13 +0200
-
-    T1: fix BYPASS/LAZY, TERMALL/RESTART and PTERM/ERTERM encoding modes. (#674)
-    
-    There were a number of defects regarding when and how the termination of
-    passes had to done and the computation of their rate.
-
-commit 9a9b06911e164bdc854cf6b9c3bc5b6e751bf46d
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-02 19:22:15 +0200
-
-    opj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methods
-
-commit 532243f1fd9997db63ea7f6b199d21138ccf58a3
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-02 16:49:26 +0200
-
-    MQC/RAW decoder: use an artificial 0xFF 0xFF terminating marker.
-    
-    This saves comparing the current pointer with the end of buffer pointer.
-    This results at least in tiny speed improvement for raw decoding, and
-    smaller code size for MQC as well.
-    
-    This kills the remains of the raw.h/.c files that were only used for
-    decoding. Encoding using the mqc structure already.
-
-commit 9b39fc4bccb3e9e4e9a9f61c4dc672fb7f05d865
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-02 14:32:12 +0200
-
-    Fix documentation of opj_t1_decode_cblks()
-
-commit dde6cbabc0cb93102c2091c15d11dec1267d0fd8
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-02 14:25:57 +0200
-
-    Simplify VSC handling: instead of masking out bits when reading the 4th row.
-    
-    Do not set them when updating flags of the 1st row
-
-commit 3d9940a35b8c566c1fb41db56018c91b511a976a
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-02 11:52:16 +0200
-
-    Force inlining of mqc decoding and pass steps through heavy use of macros, so as to get better register allocation
-
-commit 7e8b502842075738c9a062a2f06dace3f35dd7cd
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-02 09:36:25 +0200
-
-    t1_generate_luts.c: fix compiler warnings
-
-commit 2ba861c37cb5032d1fa90a7c9298f6e08a0f5413
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-01 19:42:03 +0200
-
-    Optimize opj_t1_update_flags()
-
-commit a0861855c11bcb8c93f399ca51e766b5c8ef9e33
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-01 17:02:50 +0200
-
-    T1: remove use of neghalf variable. It is useless since bpno is always &gt; 0
-
-commit 10410fe72ec2d20f2bbdfb68a383bce1df17f35d
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-06-01 11:15:25 +0200
-
-    T1: avoid pointer indirection for mqc and raw members of opj_t1_t
-
-commit 53d46fc7330ed652db66aa37b498fbfa27be625c
-Merge: 6e97d87 a8ca7c5
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-23 16:15:55 +0200
-
-    Merge pull request #936 from rouault/master_warnings
-    
-    CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement
-
-commit a8ca7c51f38a4cbdcb4a541137478df03e5eb76d
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-23 15:12:19 +0200
-
-    CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement
-    
-    And remove occurences of unused arguments in src/lib/openjp2
-
-commit 6e97d877b155aff55d1ae1fef4a36fa56d51e472
-Merge: 8728cfb 2d2c368
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-23 14:49:38 +0200
-
-    Merge pull request #935 from rouault/add_compress_vsc_test
-    
-    Tests: test opj_compress in VSC mode (related to #172)
-
-commit 2d2c368b19ee59cba7470c94bcc2c06ca6db1d80
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-23 13:46:04 +0200
-
-    Tests: test opj_compress in VSC mode (related to #172)
-
-commit 8728cfbc799a61dd0600ee04aa64d829937d8710
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-23 13:54:28 +0200
-
-    t1.c: fix compiler warnings
-
-commit 5f1e380b5155577864a84c1e64f213b6d9f83334
-Author: Russell McOrmond &lt;russell.mcormond@canadiana.ca&gt;
-Date:   2017-05-16 09:31:07 -0400
-
-    Fixed formatting issues ASTYLE
-
-commit 9d8e1ecdeb99b1e4b4ffd19feb152c88fe4f83ba
-Author: Russell McOrmond &lt;russell.mcormond@canadiana.ca&gt;
-Date:   2017-05-15 14:39:54 -0400
-
-    Quiet mode for opj_decompress via -quiet long parameter.
-
-commit 83d7a6d4a44833e78321bfd367dc0f822a8d0945
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-15 14:11:47 +0200
-
-    MQC: remove disabled MQC_PERF_OPT mode, which brings no performance improvements (see #923)
-
-commit 4431fa72657b6c4a92c3cf29cfc5c8df69424a0e
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-15 14:09:51 +0200
-
-    Add comments about non successfull attempt of implementing alternate INITDEC, DECODE and BYTEIN procedures (refs #921)
-
-commit f7a126af61877cd4623327142521d82a0c19430d
-Merge: 28d2eab 3c2972f
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-15 13:08:03 +0200
-
-    Merge pull request #926 from rouault/reformat_h_files
-    
-    Reformat: apply reformattin on .h files (#128)
-
-commit 3c2972f924857016bb454201c7e92f25de9105ee
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-15 12:21:30 +0200
-
-    Reformat: apply reformattin on .h files (#128)
-
-commit 28d2eabca79d06378843d1e94fecfb4a5e22178d
-Merge: 0ecac46 cde210b
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-15 12:09:45 +0200
-
-    Merge pull request #919 from rouault/reformat
-    
-    Add mechanisms to reformat and check code style, and reformat whole codebase (#128)
-
-commit 0ecac46a1db911cbe340c4467000e91cea82c96d
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-11 20:18:42 +0200
-
-    perf_test.py: implement -i option
-
-commit cde210be392d60fbcd8a3e7cacfa62660a95e8d9
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-11 11:21:37 +0200
-
-    astyle.options: use non deprecated option name
-
-commit 563bd8499e63db976ca8358216138647593354bc
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-09 15:44:46 +0200
-
-    Reformat whole codebase with astyle.options (#128)
-
-commit d4e54e9f35d532062533f1d369c159810b01d224
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-09 15:28:09 +0200
-
-    Add mechanisms to reformant and check code style (#128)
-    
-    Use an internal version of astyle (astyle 3.0). Scripts taken from QGIS.
-    astyle.options from https://github.com/uclouvain/openjpeg/issues/128
-    
-    scripts/prepare-commit.sh can be used locally to automatically reformat
-    edited files.
-    
-    Travis-CI will run scripts/verify-indentation.sh to verify committed files.
-
-commit 8650b70e06408d394c1708846b6fc2d86cf14079
-Merge: e92fe29 05d5845
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-09 13:16:53 +0200
-
-    Merge pull request #918 from rouault/profile
-    
-    Add profiling of CPU and memory usage (#912)
-
-commit 05d58451a1221ba95db8fb1d159eb0f76dbafb22
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-06 15:06:24 +0200
-
-    Add profiling of CPU and memory usage (#912)
-
-commit e92fe29016300e7ae9ccfa6e9cf5422456f57e25
-Merge: 20291aa 328f076
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-09 12:33:07 +0200
-
-    Merge pull request #917 from rouault/bench
-    
-    Add performance benchmarking scripts
-
-commit 328f076d2639d8664436e2b620cf9eed4f7dee53
-Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2017-05-04 15:22:14 +0200
-
-    Add performance benchmarking scripts
-    
-    And run them by Travis-CI
-
-commit 20291aad07591da40ac86e5f5a87b4f6d154ba6a
-Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
-Date:   2017-05-03 12:41:02 +0200
-
-    Merge pull request #915 from rouault/appveyor_fix_attempt
-    
-    Fix retrieval of jpylyzer in AppVeyor
-
 ...</pre></div>
 
 </body>