<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openjpeg/src/lib/openjp2/t1.c, branch v2.3.0</title>
<subtitle>Fork of openjpeg library for JPEG2000 encoding and decoding</subtitle>
<id>https://git.carlh.net/cgit/openjpeg/atom?h=v2.3.0</id>
<link rel='self' href='https://git.carlh.net/cgit/openjpeg/atom?h=v2.3.0'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/'/>
<updated>2017-09-21T12:10:49Z</updated>
<entry>
<title>Workaround Coverity CID 169392</title>
<updated>2017-09-21T12:10:49Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-21T12:10:49Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=7711307d865d46ca1bb8bb152071178b10066d05'/>
<id>urn:sha1:7711307d865d46ca1bb8bb152071178b10066d05</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid relying on operator precedence (raised by cppcheck)</title>
<updated>2017-09-19T16:35:52Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-19T16:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=8df07d5866c9e3517bf04a7abee4a07a04735df4'/>
<id>urn:sha1:8df07d5866c9e3517bf04a7abee4a07a04735df4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix warnings and errors when compiling with a c++ compiler (#1021)</title>
<updated>2017-09-19T10:46:20Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-19T10:46:20Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=fdef69b43ce5222ac0f2a87f2fad1442ece340e8'/>
<id>urn:sha1:fdef69b43ce5222ac0f2a87f2fad1442ece340e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace uses of size_t by OPJ_SIZE_T</title>
<updated>2017-09-04T15:35:52Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-04T15:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=579b8937eae7e6b6868b8b5c6286a742c10a5130'/>
<id>urn:sha1:579b8937eae7e6b6868b8b5c6286a742c10a5130</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opj_t1_clbl_decode_processor(): use SSE2 in subtile decoding code path, for irreversible</title>
<updated>2017-09-01T20:23:29Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-01T19:17:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=4c7effa6bc37beb2a8e2f29ecf5845cde93f6b88'/>
<id>urn:sha1:4c7effa6bc37beb2a8e2f29ecf5845cde93f6b88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opj_t1_decode_cblk(): move some code to codeblock processor for (theoretical) better multi-threading in subtile decoding</title>
<updated>2017-09-01T20:23:29Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-01T14:31:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=559d16e8f43a0cd090d217d7d111820989299b85'/>
<id>urn:sha1:559d16e8f43a0cd090d217d7d111820989299b85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tiny perf improvement in T1 stage for subtile decoding</title>
<updated>2017-09-01T14:30:58Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-01T14:30:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=ccac773556070ede24ea3dfbdec47c2b3c5be5c4'/>
<id>urn:sha1:ccac773556070ede24ea3dfbdec47c2b3c5be5c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow several repeated calls to opj_set_decode_area() and opj_decode() for single-tiled images</title>
<updated>2017-09-01T14:30:48Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-01T14:30:48Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=0ae3cba3404674bbe2028ea9a801301a4c951b33'/>
<id>urn:sha1:0ae3cba3404674bbe2028ea9a801301a4c951b33</id>
<content type='text'>
* Only works for single-tiled images --&gt; will error out cleanly, as currently
  in other cases
* Save re-reading the codestream for the tile, and re-use code-blocks of the
  previous decoding pass.
* Future improvements might involve improving opj_decompress, and the image writing logic,
  to use this strategy.
</content>
</entry>
<entry>
<title>Various changes to allow tile buffers of more than 4giga pixels</title>
<updated>2017-09-01T14:30:44Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-01T14:30:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=98b93103613c90753fb6c57696f9403f8ea0b1d6'/>
<id>urn:sha1:98b93103613c90753fb6c57696f9403f8ea0b1d6</id>
<content type='text'>
Untested though, since that means a tile buffer of at least 16 GB. So
there might be places where uint32 overflow on multiplication still occur...
</content>
</entry>
<entry>
<title>Sub-tile decoding: only allocate tile component buffer of the needed dimension</title>
<updated>2017-09-01T14:30:29Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-09-01T14:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=f9e9942330f476b66ac4a35d0ae521200878f343'/>
<id>urn:sha1:f9e9942330f476b66ac4a35d0ae521200878f343</id>
<content type='text'>
Instead of being the full tile size.

* Use a sparse array mechanism to store code-blocks and intermediate stages of
  IDWT.
* IDWT, DC level shift and MCT stages are done just on that smaller array.
* Improve copy of tile component array to final image, by saving an intermediate
  buffer.
* For full-tile decoding at reduced resolution, only allocate the tile buffer to
  the reduced size, instead of the full-resolution size.
</content>
</entry>
</feed>
