Update ABI/API compatibility reports after commit d6fa30099797c68c6a67decf58571dd59db...
[openjpeg.git] / abi-check / changelog / openjpeg / current / log.html
index 828847813663f930af7c9636490664efaf544126..181c9e8373f69366d8962e9485aedda0596044d9 100644 (file)
 <br/>
 <h1>Changelog from Git</h1><br/><br/>
 <div class='changelog'>
-<pre class='wrap'>commit 0954bc11e3ab6a39d86e5ed51286da4b8989743d
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-14 00:12:43 +0200
+<pre class='wrap'>commit d6fa30099797c68c6a67decf58571dd59dbf734b
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 23:25:38 +0200
 
-    Fix some warnings (#838)
+    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
     
-    Fix warnings introduced by uclouvain/openjpeg#786
+    Credit to OSS Fuzz
 
-commit 1e69940955f6d5b05369ebeeafe70e698cc2b870
-Merge: d6d0f07 f66e120
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 21:21:56 +0200
+commit a88cbb6a0b3539461dfb29922102953b7a7fc3a7
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 22:53:59 +0200
 
-    Merge branch 'smuehlst-bit-fields-type'
+    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 f66e1204523415e8936c237ce9cc759e2185708f
-Merge: d6d0f07 8750e18
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 21:21:11 +0200
+commit 6c5fe9407b7768eb2ac55b83511bc103551d207a
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 22:22:44 +0200
 
-    Merge branch 'bit-fields-type' of https://github.com/smuehlst/openjpeg into smuehlst-bit-fields-type
+    Avoid potential undefined shift behaviour in opj_bio_read() from opj_t2_read_packet_header()
+    
+    Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2485
+    Credit to OSS Fuzz
 
-commit d6d0f070e179fc195849aacd842c92f79653934f
-Merge: f1f7c53 48c16b2
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 16:39:26 +0200
+commit dbf527bf2a53bc88e6cf1373991002ec0e8e22a1
+Merge: 5e795d9 94c4b73
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-07-26 22:05:32 +0200
 
-    Merge pull request #786 from rouault/tier1_optimizations_multithreading
+    Merge pull request #800 from rouault/tier1_optimizations_multithreading_pterm_check
     
-    T1 &amp; DWT multithreading decoding optimizations
+    Implement predictive termination check
 
-commit f1f7c533089130266a6c1a502b30a846bb506b56
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-13 16:21:38 +0200
+commit 94c4b7300cc515330bf798bb45eb0d68e2c84aa0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 21:39:50 +0200
 
-    remove ops 1.4 and 1.2 from abi-check to avoid symlinks in gh-pages
+    T1 decoder: check code stream errors when predictable termination is enabled and emit a warning when errors are found
 
-commit 805972f4c85fd4b34e08e499c12c68334706df47
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-11 19:47:32 +0200
+commit 5e795d90a1e47616e0c7a2e39381c13ccf7fd6dd
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 21:06:38 +0200
 
-    Add test for issue 820 (#829)
-    
-    Update uclouvain/openjpeg#820
+    Spelling fixes (patch by ka7, #890, rebased on top of master)
 
-commit 45ed017b1b9cfac6578d40a2ccc33640c2a94f78
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 23:56:06 +0200
+commit 2be20ce7d9996e960d79f3ad6ec439a9895849ed
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 21:04:01 +0200
 
-    Add test for issue 826 (#827)
-    
-    Update uclouvain/openjpeg#826
-    
-    Also correct names for data of issue uclouvain/openjpeg#823
+    Reformat src/bin/wx/OPJViewer/source/OPJThreads.cpp src/bin/wx/OPJViewer/source/imagjpeg2000.cpp wrapping/java/openjp2/JavaOpenJPEG.c
 
-commit b21a8317e5cba895aaca066330fe1dca15371eab
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 22:14:19 +0200
+commit 94cc97c58acfa574e734fac5eb673c516c0ac469
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 20:13:09 +0200
 
-    Fix coverity 113065 (CWE-484) (#824)
+    opj_decompress: fix null pointer dereference on comps[].data on id_000167,sig_11,src_006079,op_havoc,rep_4 (#939)
 
-commit 5fb81d986e84074b576192541621a29fcdf8b0f8
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-09-08 11:28:58 +0200
+commit 8d2e69e37d01bf6a0440d3109d92235c3c586ffe
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 19:49:38 +0200
 
-    Update THANKS.md
+    Fix assertion / memory leak in opj_j2k_merge_ppt() on corrupted images (#939)
+    
+    Fixes issue on id:000020,sig:06,src:001958,op:flip4,pos:149 that has two
+    SOT markers for the same tile with the same tile part number, causing
+    opj_j2k_merge_ppt() to be called several times.
 
-commit 48c16b2c199210a3c20b306a737eac5fc2c8f6c9
-Merge: ab22c5b ef01f18
+commit 5c5319984b81e2aa32d1d83abdef0cdb8dbe7b18
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-09-08 10:30:09 +0200
+Date:   2017-07-26 18:05:56 +0200
 
-    Merge branch 'master' of https://github.com/uclouvain/openjpeg into tier1_optimizations_multithreading_2
+    Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl, opj_pi_next_cprl (#938)
     
-    Conflicts:
-       src/lib/openjp2/t1.c
+    Fixes crash on id_000004,sig_06,src_000679,op_arith8,pos_49,val_-17
 
-commit ab22c5bad55fccdc440847c896baaf4bf89365a0
+commit 80818c39f5bfbac37768fcee95b0ffeceaa77264
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-09-08 09:43:36 +0200
+Date:   2017-07-26 12:24:26 +0200
 
-    opj_thread_pool: fix potential deadlock at thread pool destruction
+    Avoid index out of bounds access to pi-&gt;include[] (#938)
+    
+    Fix id:000098,sig:11,src:005411,op:havoc,rep:2 test case
 
-commit ef01f18dfc6780b776d0674ed3e7415c6ef54d24
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 07:34:46 +0200
+commit d27ccf01c68a31ad62b33d2dc1ba2bb1eeaafe7b
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-26 11:30:56 +0200
 
-    Cast to size_t before multiplication
+    Avoid division by zero in opj_pi_next_rpcl, opj_pi_next_pcrl and opj_pi_next_cprl (#938)
     
-    Need to cast to size_t before multiplication otherwise overflow check is useless.
+    Fixes issues with id:000026,sig:08,src:002419,op:int32,pos:60,val:+32 and
+    id:000019,sig:08,src:001098,op:flip1,pos:49
 
-commit e078172b1c3f98d2219c37076b238fb759c751ea
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-08 00:24:15 +0200
+commit 39e962a0ca5e53722f6badda8e93681aad412cf1
+Merge: 60f8ddf 90ced71
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-07-13 13:33:21 +0200
 
-    Add sanity check for tile coordinates (#823)
+    Merge pull request #969 from jeroen/staticlibs
     
-    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
+    install static libraries
 
-commit 8750e183c652de44d332e786842ca33182c375be
-Author: Stephan Mühlstrasser &lt;stm@pdflib.com&gt;
-Date:   2016-09-07 08:41:01 +0200
+commit 90ced71601f05e87b4fa922261554eeeb11118b9
+Author: Jeroen &lt;jeroenooms@gmail.com&gt;
+Date:   2017-07-13 11:34:15 +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.
+    install static libraries
 
-commit 6c83f1468c3ac4d8b031efb016aa075b36895aaf
-Merge: 5487419 c16bc05
-Author: Stephan Mühlstrasser &lt;stm@pdflib.com&gt;
-Date:   2016-09-07 08:35:19 +0200
+commit 60f8ddf577b20ccbb3dc0559b624115b9ba522ba
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-06 12:11:37 +0200
 
-    Merge branch 'master' into bit-fields-type
+    Comment fix
 
-commit acfb307df43a811cc56c035d0dc651dac8c9e7de
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-07 00:00:21 +0200
+commit a38c4496b631bb5d3f8d5ea42d394544523a9bc6
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-05 21:33:42 +0200
 
-    Add test for PR 818 (#822)
-    
-    update uclouvain/openjpeg#818
+    Remove unused m_DA_x0, m_DA_y0, m_DA_x1, m_DA_y1 members from opj_j2k_dec structure
 
-commit 275aad4df8620660a9bd10c52b01f3c710481464
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 22:33:45 +0200
+commit 1a8eac6a90ca61f3703f9b97afc2ec4918f0ab55
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-03 14:14:03 +0200
 
-    Update to libpng 1.6.25 (#821)
+    Add tests/fuzzers for OSS Fuzz (#965)
 
-commit 734d57d5f7842aa7c2c9f36d62131ab4d8bd6c87
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 22:33:26 +0200
+commit c308de39edc1697efbd5c10dc4852a58f9b86558
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-03 14:33:57 +0200
 
-    fix incrementing of "l_tcp-&gt;m_nb_mcc_records" in opj_j2k_read_mcc (#820)
+    opj_j2k_read_header_procedure(): validate marker size to avoid excessive memory allocation attempt
 
-commit c16bc057ba3f125051c9966cf1f5b68a05681de4
-Author: trylab &lt;trylab@users.noreply.github.com&gt;
-Date:   2016-09-06 13:55:49 +0800
+commit 5736b1a3683261a5b31fc19a691731dc9fce5920
+Merge: ecbfcbc a0839cc
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-07-03 12:03:29 +0200
 
-    Fix an integer overflow issue (#809)
+    Merge pull request #954 from jeroen/static
     
-    Prevent an integer overflow issue in function opj_pi_create_decode of
-    pi.c.
+    build both shared and static library
 
-commit ea320dab8bc491c10b1584a6617378cecea9f4fa
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 07:54:29 +0200
+commit ecbfcbc2764ff1b09e693d57e3ef5764518f1e1c
+Merge: e673c8b 96d757c
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-07-01 13:51:52 +0200
 
-    Add overflow check in opj_tcd_init_tile (#819)
+    Merge pull request #964 from rouault/remove_useless_knownfailures
+    
+    Remove useless knownfailures (since LAZY encoding is fixed)
 
-commit d7e6b7de8a3860dd3135bfe49e0e1be2d9dba80f
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 01:31:15 +0200
+commit e673c8bd4da9f0414da472ac5f3d8e03e5102982
+Merge: 8fa405e b992376
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-07-01 12:54:39 +0200
 
-    Fix leak &amp; invalid behavior of opj_jp2_read_ihdr (#818)
+    Merge pull request #963 from rouault/travis_avx2
     
-    In case multiple ihdr box are present, only the first one shall be
-    taken into account.
+    Enable AVX2 at runtime on Travis-CI and AppVeyor
 
-commit ccd9ced49ea66f31b1d3d9dd07f4438fa94db328
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 00:50:44 +0200
+commit b9923764da198742c635ad7dff9de158c3dbb60d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-01 04:15:36 +0200
 
-    Add overflow check in opj_j2k_update_image_data (#817)
+    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 9f24b078c7193e886f6cfb329d3469eb1facf68d
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-06 00:49:53 +0200
+commit f194ff32ac3fd5bab88607ea6bf09a73adb99758
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-01 02:53:55 +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)
+    appveyor.yml: add a /arch:AVX2 config on Windows
     
-    Closes #661
+    Try running the tests if the CPU supports AVX2.
 
-commit 51155950eb3320a49835bb05d7867240d4d0cccc
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-09-05 22:07:50 +0200
+commit 96d757cb8e6c3fb0e133817e5057ee5eae6a594d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-01 04:24:46 +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;
+    Remove useless knownfailures (since LAZY encoding is fixed)
 
-commit 23cee2228638b5f2372160b193dc30dd1014addf
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-09-02 23:58:12 +0200
+commit 69a001819c9ac36bb3210e475d099cc2abbbf89f
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-07-01 01:46:55 +0200
 
-    Switch to clang 3.8 (#814)
+    .travis.yml: try to run tests in -mavx2 mode if the CPU supports it
     
-    clang 3.9 is currently unavailable for precise through apt
+    And modify settings so as to hae a AVX2 compatible CPU
 
-commit 4f9abb9a45ffd711f9717db15d062fa020ed6cf5
+commit 8fa405ee15b5151df40d8d96460257ee5b510135
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-08-11 21:50:46 +0200
-
-    [Win32] Use _beginthreadex instead of CreateThread()
+Date:   2017-06-30 00:03:05 +0200
 
-commit 4a2a8693e5a02207a8813b02a375abdc4e43c49b
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-08-06 13:04:56 +0200
+    IDWT 5x3: fix bug in AVX2 implementation (#953, #957)
 
-    Update to lcms 2.8 (#808)
-
-commit 1509ccc51f8de0523821ffd2f3d1946b10e49614
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-08-06 12:51:40 +0200
+commit 6239ed7be41d370c537ca43e198cf2fdc6eb9a60
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-26 13:13:26 +0200
 
-    Update to libpng 1.6.24 (#807)
+    INSTALL.md: add section discussing how to enable CPU specific optimizations
 
-commit 5bb919a30e77ee2c96984883fe2cfb714b62bddc
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-08-06 12:26:46 +0200
+commit 533fa2fdee4f69a5d7bb8f0b1c0a8f432dad334f
+Merge: 6026786 4fe7620
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-06-26 12:45:34 +0200
 
-    Reenable clang-3.9 build on travis (#806)
+    Merge pull request #957 from rouault/idwt_53_improvements
     
-    clang-3.9 is now available with apt add-on in travis-ci
+    IDWT 5x3 single-pass lifting and SSE2/AVX2 implementation
 
-commit 54874194a88997c2492fe1206203047739266dff
-Author: Stephan Mühlstrasser &lt;stm@pdflib.com&gt;
-Date:   2016-07-27 10:09:54 +0200
+commit 60267860698b86e215bee584857e6b4f2f08b693
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-21 13:20:35 +0200
 
-    Unified bit-field declaration, removed tabs.
+    Style fix
 
-commit d2d35bf6c2119cd39a298f57b03bf9e17d36946b
-Author: Stephan Mühlstrasser &lt;stephan.muehlstrasser@web.de&gt;
-Date:   2016-07-25 20:46:11 +0200
+commit 93aca84731bfffb20e968af10055a8cd0401806e
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-21 12:54:40 +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.
+    Fix mingw related warnings
 
-commit b8bd1b0e07cf427b80eb0dc6823efebbdd1b8e5b
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-14 11:06:26 +0200
+commit cdd3e83bae71e1e023c4c2bdd5e52d082576e550
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-21 12:49:01 +0200
 
-    Add compilation test for standalone inclusion of openjpeg.h (#798)
-    
-    This ensures all openjpeg.h dependencies are met.
-    Fix #673
+    Fix clang warning about extraneous parentheses
 
-commit e40c28c2e89c30ebb682fe2fabef10930e039c1f
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-07-14 10:49:17 +0200
+commit 4fe7620d4adc131c3ff93bb47bb8d138d69c9cbd
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-21 12:28:51 +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;
+    .travis.yml: add a configuration to test compilation of AVX2 (but disable tests since Travis doesn't have AVX2 compatible machines)
 
-commit 18da6155b2b69472d36ef8b13fd82878966b451c
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-07-12 00:45:51 +0200
+commit fd0dc535ad9ae0d369d1039aaf56235583ca64ea
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-21 12:12:58 +0200
 
-    Fix dependency for pkg-config (issue #594) (#795)
+    IDWT 5x3: generalize SSE2 version for AVX2
     
-    openjpeg provides libopenjp2.pc, so the require statements must refer to
-    libopenjp2 instead of openjp2.
-    Fixes #594
+    Thanks to our macros that abstract SSE use, the functions can use
+    AVX2 when available (at compile time)
     
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    This brings an extra 23% speed improvement on bench_dwt in 64bit builds
+    with AVX2 compared to SSE2.
 
-commit b3c422654fe847b765b7f2f1d662e43bac1a682c
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-06 00:26:37 +0200
-
-    Update ABI tracker script
-    
-    Disable previous version.
-
-commit 9db62b20111198429c4fa9650dda16e1ee326f3c
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-05 23:53:31 +0200
+commit f6e3475cc9328e5378e96e72b5adf29fb07c5feb
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-21 01:07:56 +0200
 
-    Update ABI tracker from 2.1 to 2.1.1
+    dwt.c: small cleanup
 
-commit 7948d83340e19f8520b4d1dc87a03fcc9613732e
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 23:33:00 +0200
+commit f06cfadef8e2b1ad9008957cc6bc80a27c53f2eb
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-20 18:24:21 +0200
 
-    update api/abi tracker
+    Enable __SSE__ / __SSE2__ with Visual Studio
 
-commit 132c4a248b53510466381e348e45f52e1f5f4afd
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-07-05 22:12:11 +0200
+commit fa55b52d19f39765d7f108d654a8f87035a5772f
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-20 17:56:25 +0200
 
-    Add version 2.1.1 to ABI tracker
+    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 ed294598eacda0664ec8ebfa843ae242036f21f8
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 18:10:35 +0200
+commit 919ed5f8b8681aeae54ce3884b3ecca56cadc2e0
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-20 17:56:19 +0200
 
-    Trigger API/ABI update on website
+    Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)
 
-commit fef144283f070e24a0a8f9e86158ec6353e99cf1
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:49:10 +0200
+commit 5c56933daf1da88aa6f2a8c8dc5fcc7b1d76cb00
+Merge: 32b20b9 8df2521
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-06-18 00:49:20 +0200
 
-    Update INSTALL.md
+    Merge pull request #955 from rouault/remove_opj_nosanitize
+    
+    Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() (#761)
 
-commit 4c5a1cc82584e263103fc48c8bd729985199c147
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:40:27 +0200
+commit 8df2521a6015af7f69a378811986ddb0b3bfbd3a
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-17 19:15:00 +0200
 
-    Update AUTHORS.md
+    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 bd96ed835352897c30ecc0f5cff43d0b1399e4e5
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:07:16 +0200
+commit 32b20b93e04d38303f736e975eb5f483fda01ca5
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-17 16:37:56 +0200
 
-    Update AUTHORS file
+    Fix astyle issue
 
-commit f4a708ba0fe0ef906209ba608c6059572ff76dcf
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 16:04:29 +0200
+commit 5f596cb2833d5ea7a4d04d22af551731bd770f05
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-17 14:10:15 +0200
 
-    Update INSTALL, README and THANKS file
+    Fix warning about unused arguments
 
-commit 2372cb78a01132aa3e9c1f55065355035d031330
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-07-05 15:29:02 +0200
+commit cc07aec6c7b50090c3f471ca2c68d0ffa8aa4ff1
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-17 14:09:31 +0200
 
-    Upload changelog and convert some files to mardown
+    Fix warnings with recent GCC versions
 
-commit 9d5002f8fd2f52521b5303ae391051ef201e9b5c
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-26 20:00:37 +0200
+commit a0839cca24e19f1f0906e30ee1009ce89e4942b4
+Author: Jeroen Ooms &lt;jeroenooms@gmail.com&gt;
+Date:   2017-06-16 13:58:25 +0200
 
-    Remove useless diff command in abi-check.sh
+    only build both static and dynamic on non-windows
 
-commit e4c74f536461f6af1d4487bf4e8250d60a06f431
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-06-25 01:09:42 +0200
+commit 1329b3240aafb1b31328091eb6f7720787b391be
+Author: Jeroen Ooms &lt;jeroenooms@gmail.com&gt;
+Date:   2017-06-16 13:27:19 +0200
 
-    Correct abi-check.sh for PR (#791)
+    build both shared and static library
 
-commit cb72c08472f2e82387ebdde1792c6b39a25019d5
-Author: maddin200 &lt;maddin200@aol.com&gt;
-Date:   2016-06-21 22:13:57 +0200
+commit 36dd87cea80ad56e0e3178221aa579a28f02a549
+Merge: 9cbc990 5f1e380
+Author: Antonin Descampe &lt;antonin@descampe.net&gt;
+Date:   2017-06-14 17:23:06 +0200
 
-    Update tcd.c (#790)
+    Merge pull request #928 from RussellMcOrmond/master
     
-    cppcheck unitialized variable
+    Quiet mode for opj_decompress via -quiet long parameter.
 
-commit 898ca6f52247cf869b66048b21871f236fd5f900
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-06-21 22:09:08 +0200
+commit 9cbc9903c3034d1a101d0521402503ead0abcff0
+Merge: 2609fb8 9a9b069
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-13 12:09:52 +0200
 
-    Remove clang-3.9 build
-    
-    c.f. travis-ci/travis-ci#6120
+    Merge branch 't1_flag_optimizations'
 
-commit 86698be6e9ca3375a42e7cc00c743bd1bf9b203d
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 17:41:29 +0200
+commit 2609fb8077125b5b31f1bcc2f98c12ff1e6572d7
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-12 17:15:23 +0100
 
-    Automatic upload of ABI report (end)
+    Packet header writing: set empty packet header bit to 0 when appropriate (small optimization)
 
-commit cdcb77e796f8f06d3838356c0a2931a82b4375be
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 17:21:08 +0200
+commit 73d1510d473b7dcfccfdee57e0e511e6791d5091
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-12 11:23:55 +0100
 
-    Automatic upload of ABI report (ctd)
+    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 954dad66dea3c5bb1e59187987e77c18f7b593ec
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 16:46:38 +0200
+commit 81c5311758a0ae1f1aea349a6ee0bca2a238fa79
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-09 10:47:13 +0200
 
-    Automatic upload of ABI report (ctd)
+    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 48744a1342123945ca461839ffe52d9b2c467fc9
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-06-21 16:19:06 +0200
+commit 9a9b06911e164bdc854cf6b9c3bc5b6e751bf46d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-06-02 19:22:15 +0200
 
-    setup automatic upload of ABI reports
+    opj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methods
 
-commit 7d3c7a345f05adbc9ca26d8ca7f6c7fffa5096be
+commit 532243f1fd9997db63ea7f6b199d21138ccf58a3
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-26 23:51:32 +0200
+Date:   2017-06-02 16:49:26 +0200
 
-    Be robust to failed allocations of job structures
+    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 69497d35c0e35a1f9b789d016e9eb4946b8f0fab
+commit 9b39fc4bccb3e9e4e9a9f61c4dc672fb7f05d865
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 21:39:21 +0200
+Date:   2017-06-02 14:32:12 +0200
 
-    opj_decompress: use clock_gettime() instead of getrusage() so as to get the time spent, and not to the total CPU time
+    Fix documentation of opj_t1_decode_cblks()
 
-commit d67cd2220a291b54718f731052be4a9397f67077
+commit dde6cbabc0cb93102c2091c15d11dec1267d0fd8
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 19:08:04 +0200
+Date:   2017-06-02 14:25:57 +0200
 
-    opj_decompress: add a -threads &lt;num_threads&gt; option
+    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 e3eb0a206d66cc873eccb57fc12a0497de400aca
+commit 3d9940a35b8c566c1fb41db56018c91b511a976a
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 18:39:41 +0200
+Date:   2017-06-02 11:52:16 +0200
 
-    .travis.yml: add a conf with OPJ_NUM_THREADS=2
+    Force inlining of mqc decoding and pass steps through heavy use of macros, so as to get better register allocation
 
-commit 57b216bb587aa7eba13afbbfd6a1fe5f04201b61
+commit 7e8b502842075738c9a062a2f06dace3f35dd7cd
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 18:07:15 +0200
+Date:   2017-06-02 09:36:25 +0200
 
-    Use thread pool for DWT decoding
+    t1_generate_luts.c: fix compiler warnings
 
-commit 5fbb8b2645a085391b070162d8551aa960caab6a
+commit 2ba861c37cb5032d1fa90a7c9298f6e08a0f5413
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 16:38:44 +0200
+Date:   2017-06-01 19:42:03 +0200
 
-    Use thread-pool for T1 decoding
+    Optimize opj_t1_update_flags()
 
-commit d4b7f03cfa4732132767188782683f3d957da912
+commit a0861855c11bcb8c93f399ca51e766b5c8ef9e33
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 16:36:47 +0200
+Date:   2017-06-01 17:02:50 +0200
 
-    Add opj_codec_set_threads() in public API and propagate resulting thread pool to tcd level
-    
-    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.
+    T1: remove use of neghalf variable. It is useless since bpno is always &gt; 0
 
-commit 54179fe1d53156c6b440166fe71a10f238a6ea56
+commit 10410fe72ec2d20f2bbdfb68a383bce1df17f35d
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-25 16:34:52 +0200
+Date:   2017-06-01 11:15:25 +0200
 
-    Add threading and thread pool API
+    T1: avoid pointer indirection for mqc and raw members of opj_t1_t
 
-commit 7092f7ea112fcc44e7426c462bf01a406b076620
+commit a5003787ffdbc4fb4a9b4e18187e9f69c36b9e9b
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 16:00:04 +0200
+Date:   2017-06-01 10:23:30 +0200
 
-    Fix MSVC210 build issue (use of C99 declaration after statement) introduced in ba1edf6cd41415594729bc90ad3b0008af48251e
+    T1: remove flags_stride variable from opj_t1_t
 
-commit 107eb31531ca688e2799406e69e9383efc13448f
+commit 0ec842e1f1e6ebc80df5308cab457372456b204d
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 13:45:15 +0200
+Date:   2017-05-31 19:45:03 +0200
 
-    Improve perf of opj_t1_dec_sigpass_mqc_vsc() and opj_t1_dec_refpass_mqc_vsc() with loop unrolling
+    Inline opj_raw_decode()
 
-commit 8371491a9968a31ce16d6ce37b775ef3c7d090c8
+commit aa7a8a4398b3792b4a52fb443d49d317a9a4984f
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 11:44:54 +0200
+Date:   2017-05-31 17:15:27 +0200
 
-    Better inlining of opj_t1_updateflagscolflags() w.r.t. flags_stride
+    T1: loop unrolling in dec_sigpass_raw and dec_refpass_raw
 
-commit 956c31d5a6e4530a92b6dd6099bdbf071144f6f1
+commit 68557ff5036e68112bcbf194d2a7f48b1f58b752
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 10:34:44 +0200
+Date:   2017-05-31 14:35:56 +0200
 
-    opj_t1_dec_clnpass(): remove useless test in the runlen decoding path (of the non VSC case)
+    T1: Transpose coder optimizations to decoder, and cleanup code
 
-commit 93f7f907117675cf6af227b4d0243a58f6c3640a
+commit 1957a498b68af12bfa8d382f96e54f8403bb2fb6
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 10:25:55 +0200
+Date:   2017-05-23 14:55:45 +0200
 
-    opj_t1_decode_cblks(): tiny perf increase when loop unrolling
+    Fix compiler warnings
 
-commit 1da397e94a4e441a7c9a1aa4c2debd1c06ba05e2
+commit 40c0f42def262ed76e2f0048d09aab9e0ee1af02
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-23 01:33:06 +0200
+Date:   2017-05-23 13:02:24 +0200
 
-    Tier 1 decoding: add a colflags array
-    
-    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.
+    Factor index computation for lut_enc_ctxno_sc and lut_enc_spb
 
-commit 31882ad7f4a0d9d0231c3fdb9c75a6b69912e1b7
+commit d6907b93044108aacc6ab9281a7a9ab48546824c
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-22 00:54:06 +0200
+Date:   2017-05-23 00:40:30 +0200
 
-    Const'ify lut arrays so they are in the read-only data section
+    Optimize a bit opj_t1_enc_clnpass()
 
-commit ba1edf6cd41415594729bc90ad3b0008af48251e
+commit c76a59213100bbec567a0c78b7b1b8ba82d1e1fa
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-22 00:50:34 +0200
+Date:   2017-05-22 23:30:30 +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: remove unused code in decoder
 
-commit 23a01dfdef1a266754af268b07d912efbe04a759
+commit 4068363ff5021608180f712823db55d9c0a551e6
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-21 16:27:35 +0200
+Date:   2017-05-22 18:42:46 +0200
 
-    Specialize decoding passes for 64x64 code blocks
+    T1: fix VSC mode in encoder
 
-commit d8fef96f23ea8b12226d7326118f2ffd91da28ac
+commit cd12414c6b11295ae8540df2ef77eb9c624cd264
 Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
-Date:   2016-05-21 15:52:02 +0200
+Date:   2017-05-20 14:05:07 +0200
 
-    Improve code generation in opj_t1_dec_clnpass()
+    T1: use more compact flags to optimize cache usage in encoder passes. (#172)
+    
+    Ported from Carl Hetherington work (actually through Matthieu Darbois's port
+    on top of OpenJPEG 2.1.0)
     
-    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.
+    Can reduce total encoding time by 10-15%
+    
+    WARNING: VSC mode is not implemented, and so is a temporary regression
+    that must be fixed.
+
+commit 53d46fc7330ed652db66aa37b498fbfa27be625c
+Merge: 6e97d87 a8ca7c5
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-23 16:15:55 +0200
 
-commit c539808d097945866c0f7120ccdea28921a011a2
+    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:   2016-05-21 15:41:36 +0200
+Date:   2017-05-23 15:12:19 +0200
 
-    opj_t1_updateflags(): tiny optimization
+    CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement
     
-    We can avoid using a loop-up table with some shift arithmetics.
+    And remove occurences of unused arguments in src/lib/openjp2
 
-commit 426bf8d337715f7b2e867cb2643128e5c2e3b5bb
-Author: Kal Conley &lt;kcconley@gmail.com&gt;
-Date:   2015-12-27 20:14:47 +0100
+commit 6e97d877b155aff55d1ae1fef4a36fa56d51e472
+Merge: 8728cfb 2d2c368
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-23 14:49:38 +0200
 
-    Move some MQC functions into a header for speed
+    Merge pull request #935 from rouault/add_compress_vsc_test
     
-    Allow these hot functions to be inlined. This boosts decode performance by ~10%.
+    Tests: test opj_compress in VSC mode (related to #172)
 
-commit d0babeb6f6cdd1887308137df37bb2b4724a6592
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-05-15 01:36:31 +0200
+commit 2d2c368b19ee59cba7470c94bcc2c06ca6db1d80
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-23 13:46:04 +0200
 
-    WIP automatic release
+    Tests: test opj_compress in VSC mode (related to #172)
 
-commit d1ca2b4f29efc9e12a77c7aba76091beae1966ec
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-05-15 00:53:24 +0200
+commit 8728cfbc799a61dd0600ee04aa64d829937d8710
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-23 13:54:28 +0200
 
-    WIP: debug travis run script
+    t1.c: fix compiler warnings
 
-commit 8ba0de3e45aec595361a4f321e67dfd745d492d3
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-05-15 00:42:54 +0200
+commit 5f1e380b5155577864a84c1e64f213b6d9f83334
+Author: Russell McOrmond &lt;russell.mcormond@canadiana.ca&gt;
+Date:   2017-05-16 09:31:07 -0400
 
-    Update travis and appveyor to enable automatic releases on tag commit
+    Fixed formatting issues ASTYLE
 
-commit 2e0779e2505f98ea43eced3ee650a2a61a6b017c
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-05-13 12:31:56 +0200
+commit 9d8e1ecdeb99b1e4b4ffd19feb152c88fe4f83ba
+Author: Russell McOrmond &lt;russell.mcormond@canadiana.ca&gt;
+Date:   2017-05-15 14:39:54 -0400
 
-    Update version number in CMakeLists.txt
+    Quiet mode for opj_decompress via -quiet long parameter.
 
-commit e55130d3c53388e44fa7ea63a436d73b39d95159
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-05-13 12:25:55 +0200
+commit 83d7a6d4a44833e78321bfd367dc0f822a8d0945
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-15 14:11:47 +0200
 
-    Update NEWS
+    MQC: remove disabled MQC_PERF_OPT mode, which brings no performance improvements (see #923)
 
-commit 4d2b6a671a0431722cd4845b246fe0a09f7ca934
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-05-10 22:08:49 +0200
+commit 4431fa72657b6c4a92c3cf29cfc5c8df69424a0e
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-15 14:09:51 +0200
 
-    Update implementation of opj_calloc (#705)
+    Add comments about non successfull attempt of implementing alternate INITDEC, DECODE and BYTEIN procedures (refs #921)
 
-commit aae066debc29f6fe44bfcda1206bba0a68dfd00e
-Author: Stefan Weil &lt;sw@weilnetz.de&gt;
-Date:   2016-05-10 22:02:49 +0200
+commit f7a126af61877cd4623327142521d82a0c19430d
+Merge: 28d2eab 3c2972f
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-15 13:08:03 +0200
 
-    Add missing source for the JPIP library and executables (issue #658) (#659)
-    
-    They all need opj_malloc and other functions from opc_malloc.c.
+    Merge pull request #926 from rouault/reformat_h_files
     
-    Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
+    Reformat: apply reformattin on .h files (#128)
 
-commit 6609719b409be038c2d41765b64e42f7b92f79cb
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-05-08 20:26:12 +0200
+commit 3c2972f924857016bb454201c7e92f25de9105ee
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-15 12:21:30 +0200
 
-    Correct expected result for test of issue 495
+    Reformat: apply reformattin on .h files (#128)
 
-commit 1a8318f6c24623189ecb65e049267c6f2e005c0e
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-05-08 20:10:13 +0200
+commit 28d2eabca79d06378843d1e94fecfb4a5e22178d
+Merge: 0ecac46 cde210b
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-15 12:09:45 +0200
 
-    Fix Out-of-Bounds Access in function opj_tgt_reset
+    Merge pull request #919 from rouault/reformat
     
-    Fix uclouvain/openjpeg#775
+    Add mechanisms to reformat and check code style, and reformat whole codebase (#128)
 
-commit 162f6199c0cd3ec1c6c6dc65e41b2faab92b2d91
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-05-08 19:18:05 +0200
+commit 0ecac46a1db911cbe340c4467000e91cea82c96d
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-11 20:18:42 +0200
 
-    Fix Heap Buffer Overflow in function color_cmyk_to_rgb
-    
-    Fix uclouvain/openjpeg#774
+    perf_test.py: implement -i option
 
-commit 8f9cc62b3f9a1da9712329ddcedb9750d585505c
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-05-08 18:40:12 +0200
+commit cde210be392d60fbcd8a3e7cacfa62660a95e8d9
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-11 11:21:37 +0200
 
-    Fix division by zero
-    
-    Fix uclouvain/openjpeg#733
+    astyle.options: use non deprecated option name
 
-commit 44a499f2acf10b55172d07abf387e5a579a585f7
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-05-03 22:22:03 +0200
+commit 563bd8499e63db976ca8358216138647593354bc
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-09 15:44:46 +0200
 
-    Update lcms2 (#773)
-    
-    Update to mm2/Little-CMS@e342f44
+    Reformat whole codebase with astyle.options (#128)
 
-commit 94cfb1b008319e8b0b17e741f1e29e0a7b90af38
-Merge: ba0cf12 17a0a8a
-Author: julienmalik &lt;julienmalik@users.noreply.github.com&gt;
-Date:   2016-05-02 21:57:55 +0200
+commit d4e54e9f35d532062533f1d369c159810b01d224
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-09 15:28:09 +0200
 
-    Merge pull request #769 from julienmalik/cmake_lowercase
+    Add mechanisms to reformant and check code style (#128)
     
-    Use lowercase for cmake commands consistenly
-
-commit 17a0a8a195a9aad76a6bdb174edc8aa5fb8b7831
-Author: Julien Malik &lt;julien.malik@paraiso.me&gt;
-Date:   2016-05-02 16:03:16 +0200
-
-    Use lowercase for cmake commands consistenly
+    Use an internal version of astyle (astyle 3.0). Scripts taken from QGIS.
+    astyle.options from https://github.com/uclouvain/openjpeg/issues/128
     
-    Inspired from https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/Maintenance/HowToCreateTheCMakeCaseConversion.txt
-    This needs vim 7.3 and fails with vim 7.4
+    scripts/prepare-commit.sh can be used locally to automatically reformat
+    edited files.
     
-    This also fixes a number of :
-    - missing empty line at end of files
-    - useless space at end of lines
+    Travis-CI will run scripts/verify-indentation.sh to verify committed files.
 
-commit ba0cf122f6820d38a7a5acc65b9d64392dd94e83
-Merge: da56086 e1e018a
-Author: julienmalik &lt;julienmalik@users.noreply.github.com&gt;
-Date:   2016-05-02 14:34:32 +0200
+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 #767 from julienmalik/fix_memset_null_pointer
+    Merge pull request #918 from rouault/profile
     
-    Fix UBSan gcc warning for first arg to memset non null
+    Add profiling of CPU and memory usage (#912)
 
-commit da56086e012117edb278408e6062d1b890b53576
-Merge: b51d088 04b8cbd
-Author: julienmalik &lt;julienmalik@users.noreply.github.com&gt;
-Date:   2016-05-02 14:32:08 +0200
+commit 05d58451a1221ba95db8fb1d159eb0f76dbafb22
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-06 15:06:24 +0200
 
-    Merge pull request #768 from julienmalik/filter_clang_warnings
-    
-    Ignore clang's summary warning
+    Add profiling of CPU and memory usage (#912)
 
-commit 04b8cbd27aae2372b19598a38ba15e860952cae2
-Author: Julien Malik &lt;julien.malik@paraiso.me&gt;
-Date:   2016-05-02 12:55:43 +0200
+commit e92fe29016300e7ae9ccfa6e9cf5422456f57e25
+Merge: 20291aa 328f076
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-09 12:33:07 +0200
 
-    Ignore clang's summary warning
-    
-    This assumes prior text has matched some other warning expression.
+    Merge pull request #917 from rouault/bench
     
-    This reduces the warnings reported for clang build on the dashboard,
-    which were caused only by the "XXX warnings generated." message.
-    For some reason they were not reported when not using ctest launchers.
+    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
     
-    This commit allows to confidently use ctest launchers to improve
-    dashboard reports.
+    And run them by Travis-CI
 
-commit e1e018a8dc8c96f45486768356b7fb370ae0527c
-Author: Julien Malik &lt;julien.malik@paraiso.me&gt;
-Date:   2016-05-02 12:13:24 +0200
+commit 20291aad07591da40ac86e5f5a87b4f6d154ba6a
+Merge: a18040e 04980a8
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-03 12:41:02 +0200
 
-    Fix UBSan gcc warning for first arg to memset non null
+    Merge pull request #915 from rouault/appveyor_fix_attempt
+    
+    Fix retrieval of jpylyzer in AppVeyor
 
-commit b51d088267cb88eb95555ea047755120e36c511b
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-05-01 18:05:46 +0200
+commit 04980a8c7b6c260394084ab12b4bdee957caa24f
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-05-03 12:03:00 +0200
 
-    Update to libtiff-4.0.6 (#764)
+    Fix retrieval of jpylyzer in AppVeyor
 
-commit 4f11e89c803fd9a332698bc36338a4be87c6d199
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-30 18:51:36 +0200
+commit a18040e02238c577cf7853a0e303cbca62e044a8
+Merge: e7ff1ef a43f1be
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-03 11:48:02 +0200
 
-    Add tests for recent issues
+    Merge pull request #893 from rouault/remove_tagtree_warnings
     
-    Update uclouvain/openjpeg#725
-    Update uclouvain/openjpeg#726
+    Remove warnings related to empty tag-trees.
 
-commit 9a20f8e8d1a91bd032e81ac53bf9a48dbb92bc29
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-30 17:58:04 +0200
+commit e7ff1efb82fab7ba6c6d69e7d286811abb4ee7e7
+Merge: 807da62 cf08763
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-03 11:46:45 +0200
 
-    Update lcms (#544)
+    Merge pull request #899 from jwilk/man-warnings
     
-    Update to mm2/Little-CMS@0e8234e090d6aab33f90e2eb0296f30aa0705e57
+    Remove spurious .R macros from manpages
 
-commit 72deb588cbc8d5f56f8b0db3a2d120913e792cb8
-Merge: cd77b60 20789fe
-Author: Antonin Descampe &lt;antonin@gmail.com&gt;
-Date:   2016-04-30 13:51:01 +0200
+commit 807da629a6e00a06a3d2506c3f99da1757252c43
+Merge: 8c33128 4927b64
+Author: Even Rouault &lt;even.rouault@mines-paris.org&gt;
+Date:   2017-05-03 11:46:01 +0200
 
-    Merge pull request #706 from mayeut/issue135
+    Merge pull request #914 from alexwlchan/fix-readme
     
-    Fix issue 135
-    The fix is legal regarding the standard but I did not manage to find out if it covers a bug in opj_t2_read_packet_data or if the file is corrupted
+    Escape quotes to ensure README renders on GitHub correctly
 
-commit cd77b6003b774dd337835630ea7b9b1fbc68d264
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-30 12:15:22 +0200
+commit 4927b647663bbf72500400dfd0173d53761152c9
+Author: Alex Chan &lt;a.chan@wellcome.ac.uk&gt;
+Date:   2017-04-28 09:43:05 +0100
 
-    Fix some coverity warnings
+    Escape quotes to ensure README renders on GitHub correctly
 
-commit f40a2ff2ad821cf6492761c01de136ac2bf48b4a
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-30 01:50:33 +0200
+commit cf08763c3174525f151746705c3c72a321a01a4a
+Author: Jakub Wilk &lt;jwilk@jwilk.net&gt;
+Date:   2017-03-05 16:08:57 +0100
 
-    Fix bad call to fclose with NULL pointer
+    Remove spurious .R macros from manpages
+    
+    Fixes the following warnings from man:
+    
+        `R' is a string (producing the registered sign), not a macro.
 
-commit be42e72d220ffa89b33c8d24d0c0d4c8de8533cf
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-30 01:12:16 +0200
+commit 8c33128369816be09968712b50681e743464b93c
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2017-03-03 23:23:39 +0100
 
-    Fix warnings (#763)
+    Fixed CRLF auto conversion issue in openjpeg-data #655
 
-commit 15f081c89650dccee4aa4ae66f614c3fdb268767
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-30 00:33:27 +0200
+commit a43f1bea6273e87d9e5cb6e428f560ae7a59223b
+Author: Even Rouault &lt;even.rouault@spatialys.com&gt;
+Date:   2017-02-13 12:36:45 +0100
 
-    Fix Out-Of-Bounds Read in sycc42x_to_rgb function (#745)
+    Remove warnings related to empty tag-trees.
     
-    42x Images with an odd x0/y0 lead to subsampled component starting at the
-    2nd column/line.
-    That is offset = comp-&gt;dx * comp-&gt;x0 - image-&gt;x0 = 1
+    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.
     
-    Fix #726
+    Besides that, the image is correctly decoded. So there is no reason to emit
+    those warnings.
 
-commit ad593c9e0622e0d8d87228e67e4dbd36243ffd22
-Author: Matthieu Darbois &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-04-29 23:51:14 +0200
+commit 7113c4e3bbb4b397ae0c27cbfb645ae8acfee042
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2016-10-03 23:47:10 +0200
 
-    Fix heap-buffer-overflow in color_esycc_to_rgb (#748)
-    
-    When all components do not have the same dx/dy, components buffer are
-    read beyond their end.
-    Do not convert in this case.
-    
-    Update uclouvain/openjpeg#725
+    Update THANKS.md
 
-commit 20789fed4ec7746e938dd2934a1fb5aa352f4d12
-Author: mayeut &lt;mayeut@users.noreply.github.com&gt;
-Date:   2016-01-25 22:16:49 +0100
+commit b8197de7160f4b8b072107a7ac62d25705e3fb88
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2016-10-03 23:45:44 +0200
 
-    Fix issue 135
-    
-    dwt_interleave_h.gsr105.jp2 now has the same output as kakadu
-    issue399 is corrupted. Only the corrupted part changes.
-    
-    Update known failures for x86 MD5
-    
-    NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5
-    NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5
-    NR-DEC-issue135.j2k-68-decode-md5
+    Update CHANGELOG.md
+
+commit b0791988385053075c5998bf0fe4f56a249ad56f
+Author: Antonin Descampe &lt;antonin@gmail.com&gt;
+Date:   2016-09-29 22:06:23 +0200
+
+    fix abi-check and limit upload to website for master
 
 ...</pre></div>