<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openjpeg/src/lib/openjp2/pi.h, branch master</title>
<subtitle>Fork of openjpeg library for JPEG2000 encoding and decoding</subtitle>
<id>https://git.carlh.net/cgit/openjpeg/atom?h=master</id>
<link rel='self' href='https://git.carlh.net/cgit/openjpeg/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/'/>
<updated>2020-12-02T13:03:11Z</updated>
<entry>
<title>pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)</title>
<updated>2020-12-02T13:03:11Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-12-02T13:02:17Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=00383e162ae2f8fc951f5745bf1011771acb8dce'/>
<id>urn:sha1:00383e162ae2f8fc951f5745bf1011771acb8dce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for generation of PLT markers in encoder</title>
<updated>2020-04-21T13:55:44Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-04-21T13:55:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=4edb8c83374f52cd6a8f2c7c875e8ffacccb5fa5'/>
<id>urn:sha1:4edb8c83374f52cd6a8f2c7c875e8ffacccb5fa5</id>
<content type='text'>
* -PLT switch added to opj_compress
* Add a opj_encoder_set_extra_options() function that
  accepts a PLT=YES option, and could be expanded later
  for other uses.

-------

Testing with a Sentinel2 10m band, T36JTT_20160914T074612_B02.jp2,
coming from S2A_MSIL1C_20160914T074612_N0204_R135_T36JTT_20160914T081456.SAFE

Decompress it to TIFF:
```
opj_uncompress -i T36JTT_20160914T074612_B02.jp2 -o T36JTT_20160914T074612_B02.tif
```

Recompress it with similar parameters as original:
```
opj_compress -n 5 -c [256,256],[256,256],[256,256],[256,256],[256,256] -t 1024,1024 -PLT -i T36JTT_20160914T074612_B02.tif -o T36JTT_20160914T074612_B02_PLT.jp2
```

Dump codestream detail with GDAL dump_jp2.py utility (https://github.com/OSGeo/gdal/blob/master/gdal/swig/python/samples/dump_jp2.py)
```
python dump_jp2.py T36JTT_20160914T074612_B02.jp2 &gt; /tmp/dump_sentinel2_ori.txt
python dump_jp2.py T36JTT_20160914T074612_B02_PLT.jp2 &gt; /tmp/dump_sentinel2_openjpeg_plt.txt
```

The diff between both show very similar structure, and identical number of packets in PLT markers

Now testing with Kakadu (KDU803_Demo_Apps_for_Linux-x86-64_200210)

Full file decompression:
```
kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp.tif

Consumed 121 tile-part(s) from a total of 121 tile(s).
Consumed 80,318,806 codestream bytes (excluding any file format) = 5.329697
bits/pel.
Processed using the multi-threaded environment, with
    8 parallel threads of execution
```

Partial decompresson (presumably using PLT markers):
```
kdu_expand -i T36JTT_20160914T074612_B02.jp2 -o tmp.pgm -region "{0.5,0.5},{0.01,0.01}"
kdu_expand -i T36JTT_20160914T074612_B02_PLT.jp2 -o tmp2.pgm  -region "{0.5,0.5},{0.01,0.01}"
diff tmp.pgm tmp2.pgm &amp;&amp; echo "same !"
```

-------

Funded by ESA for S2-MPC project
</content>
</entry>
<entry>
<title>pi.c: avoid integer overflow, resulting in later invalid access to memory in opj_t2_decode_packets(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18979</title>
<updated>2019-11-17T00:18:26Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-11-17T00:18:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=4cb1f663049aab96e122d1ff16f601d0cc0be976'/>
<id>urn:sha1:4cb1f663049aab96e122d1ff16f601d0cc0be976</id>
<content type='text'>
</content>
</entry>
<entry>
<title>src/lib/openjp2/*.h: use OPJ_ prefix for inclusion guards instead of reserved __ (#587)</title>
<updated>2017-07-30T17:46:52Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-07-30T17:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=13cde9fa37249628af6b6f10601b733f87a025f4'/>
<id>urn:sha1:13cde9fa37249628af6b6f10601b733f87a025f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid index out of bounds access to pi-&gt;include[] (#938)</title>
<updated>2017-07-26T10:50:51Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-07-26T10:24:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=80818c39f5bfbac37768fcee95b0ffeceaa77264'/>
<id>urn:sha1:80818c39f5bfbac37768fcee95b0ffeceaa77264</id>
<content type='text'>
Fix id:000098,sig:11,src:005411,op:havoc,rep:2 test case
</content>
</entry>
<entry>
<title>Reformat: apply reformattin on .h files (#128)</title>
<updated>2017-05-15T10:21:30Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-05-15T10:21:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=3c2972f924857016bb454201c7e92f25de9105ee'/>
<id>urn:sha1:3c2972f924857016bb454201c7e92f25de9105ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typos in comments and string</title>
<updated>2015-09-29T03:55:43Z</updated>
<author>
<name>Stefan Weil</name>
<email>sw@weilnetz.de</email>
</author>
<published>2015-09-29T03:55:43Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=99fc1ab306f9db0085adf648369404ce8aae22a9'/>
<id>urn:sha1:99fc1ab306f9db0085adf648369404ce8aae22a9</id>
<content type='text'>
Most typos were found by codespell.

Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
</content>
</entry>
<entry>
<title>[trunk] updated copyright and added copyright notice required by ISO, in each file; updated AUTHORS, NEWS</title>
<updated>2014-04-03T15:30:57Z</updated>
<author>
<name>Antonin Descampe</name>
<email>antonin@gmail.com</email>
</author>
<published>2014-04-03T15:30:57Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=d19a4ab6768c48b542c0add922eba0dcddae9ffe'/>
<id>urn:sha1:d19a4ab6768c48b542c0add922eba0dcddae9ffe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[trunk] move opj_bool to OPJ_BOOL to follow the other type</title>
<updated>2012-11-15T13:13:36Z</updated>
<author>
<name>Mickael Savinaud</name>
<email>savmickael@users.noreply.github.com</email>
</author>
<published>2012-11-15T13:13:36Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=ec0fe091380c2de75584fdfc3d914eee5b89e731'/>
<id>urn:sha1:ec0fe091380c2de75584fdfc3d914eee5b89e731</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[trunk] Fix remainings issues with doxygen doc</title>
<updated>2012-10-29T14:35:11Z</updated>
<author>
<name>Mathieu Malaterre</name>
<email>mathieu.malaterre@gmail.com</email>
</author>
<published>2012-10-29T14:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=759be64115508e4589c098c5e777d03a1a04bb25'/>
<id>urn:sha1:759be64115508e4589c098c5e777d03a1a04bb25</id>
<content type='text'>
Convert DOS files to UNIX eol

</content>
</entry>
</feed>
