<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openjpeg/src/lib/openjp2/t2.c, branch v2.4.0</title>
<subtitle>Fork of openjpeg library for JPEG2000 encoding and decoding</subtitle>
<id>https://git.carlh.net/cgit/openjpeg/atom?h=v2.4.0</id>
<link rel='self' href='https://git.carlh.net/cgit/openjpeg/atom?h=v2.4.0'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/'/>
<updated>2020-12-02T22:56:39Z</updated>
<entry>
<title>Merge pull request #1300 from rouault/complement_1293</title>
<updated>2020-12-02T22:56:39Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-12-02T22:56:39Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=fb9eae5d637d06209a6cb9ca57960ac72179ee14'/>
<id>urn:sha1:fb9eae5d637d06209a6cb9ca57960ac72179ee14</id>
<content type='text'>
pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)</content>
</entry>
<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>opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix</title>
<updated>2020-12-02T12:13:26Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-12-02T12:13:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=38d661a3897052c7ff0b39b30c29cb067e130121'/>
<id>urn:sha1:38d661a3897052c7ff0b39b30c29cb067e130121</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix</title>
<updated>2020-12-01T18:51:35Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-12-01T18:51:35Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=fbd30b064f8f9607d500437b6fedc41431fd6cdc'/>
<id>urn:sha1:fbd30b064f8f9607d500437b6fedc41431fd6cdc</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>compression: emit POC marker when only one single POC is requested (fixes #1191)</title>
<updated>2019-04-25T12:40:55Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-04-24T22:17:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=1e3a57563defb6aa7cf24ffd2394d4a820e13bda'/>
<id>urn:sha1:1e3a57563defb6aa7cf24ffd2394d4a820e13bda</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opj_t2_encode_packet(): disable setting empty packet header bit to 1 when there is an empty packet</title>
<updated>2018-01-08T08:38:44Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-01-08T08:38:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=07d526e4cb93b6d2e1a52cf49e3d011d3d4caa11'/>
<id>urn:sha1:07d526e4cb93b6d2e1a52cf49e3d011d3d4caa11</id>
<content type='text'>
This effectively reverts commit 2609fb8077125b5b31f1bcc2f98c12ff1e6572d7
since it has been reported that
such packets cause decoding issues with cinema J2K hardware
decoders: https://groups.google.com/forum/#!topic/openjpeg/M7M_fLX_Bco
</content>
</entry>
<entry>
<title>Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area()</title>
<updated>2017-08-17T17:05:54Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-08-14T11:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=fe338a057c39797bf61939471ebaef09e44464c7'/>
<id>urn:sha1:fe338a057c39797bf61939471ebaef09e44464c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opj_t2_encode_packet(): fix potential write heap buffer overflow (#992)</title>
<updated>2017-08-16T15:20:29Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-08-16T15:20:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=c535531f03369623b9b833ef41952c62257b507e'/>
<id>urn:sha1:c535531f03369623b9b833ef41952c62257b507e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opj_t2_encode_packet(): only emit an error about insufficiently large output buffer in FINAL_PASS mode. Fixes (master-only) regression added in 0b4fef6d1901254e41ab74ed681daba477d724c3</title>
<updated>2017-08-16T10:52:33Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-08-16T10:52:33Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=9624b2fa4722edf77fbac631e7dacaae12c91672'/>
<id>urn:sha1:9624b2fa4722edf77fbac631e7dacaae12c91672</id>
<content type='text'>
</content>
</entry>
</feed>
