<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openjpeg/src/lib/openjp2/bench_dwt.c, 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>2021-12-05T12:14:33Z</updated>
<entry>
<title>Fix some typos (found by codespell)</title>
<updated>2021-12-05T12:14:33Z</updated>
<author>
<name>Stefan Weil</name>
<email>sw@weilnetz.de</email>
</author>
<published>2021-12-05T12:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=667149ffa11f0255db92f522bc5b5fc8aefb16ec'/>
<id>urn:sha1:667149ffa11f0255db92f522bc5b5fc8aefb16ec</id>
<content type='text'>
Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
</content>
</entry>
<entry>
<title>bench_dwt.c: add a -I switch to test irreversible FWDT/IDWT</title>
<updated>2020-05-20T21:20:48Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-05-20T21:20:48Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=0c09062464fe74f62fb9a4da829992c6a8bd7920'/>
<id>urn:sha1:0c09062464fe74f62fb9a4da829992c6a8bd7920</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add multithreaded support in the DWT encoder.</title>
<updated>2020-05-20T18:30:21Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2020-04-30T09:52:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=07d1f775a1ef95496b0c78b18f671dac41983320'/>
<id>urn:sha1:07d1f775a1ef95496b0c78b18f671dac41983320</id>
<content type='text'>
Update the bench_dwt utility to have a -decode/-encode switch

Measured performance gains for DWT encoder on a
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (4 cores, hyper threaded)

Encoding time:
$ ./bin/bench_dwt -encode -num_threads 1
time for dwt_encode: total = 8.348 s, wallclock = 8.352 s

$ ./bin/bench_dwt -encode -num_threads 2
time for dwt_encode: total = 9.776 s, wallclock = 4.904 s

$ ./bin/bench_dwt -encode -num_threads 4
time for dwt_encode: total = 13.188 s, wallclock = 3.310 s

$ ./bin/bench_dwt -encode -num_threads 8
time for dwt_encode: total = 30.024 s, wallclock = 4.064 s

Scaling is probably limited by memory access patterns causing
memory access to be the bottleneck.
The slightly worse results with threads==8 than with thread==4
is due to hyperthreading being not appropriate here.
</content>
</entry>
<entry>
<title>bench_dwt: fix wrong index in iteration (issue found by Fethi Migaou)</title>
<updated>2018-02-18T13:38:16Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2018-02-18T13:38:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=06f7d412435ddb62f8e9935af7e306783bc4b75b'/>
<id>urn:sha1:06f7d412435ddb62f8e9935af7e306783bc4b75b</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>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>
<entry>
<title>Subtile decoding: only do 5x3 IDWT computations on relevant areas of tile-component buffer.</title>
<updated>2017-08-18T13:08:51Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-08-18T13:08:51Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=5d403250561398f7ba3041d9eb8c893bd680dd72'/>
<id>urn:sha1:5d403250561398f7ba3041d9eb8c893bd680dd72</id>
<content type='text'>
This lowers 'bin/opj_decompress -i ../MAPA.jp2 -o out.tif -d 0,0,256,256'
down to 0.860s
</content>
</entry>
<entry>
<title>bench_dwt.c: fix signedness related warnings</title>
<updated>2017-08-17T15:04:48Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-08-17T15:04:48Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=fd8448ed446a935da3210821a783e794ede3c599'/>
<id>urn:sha1:fd8448ed446a935da3210821a783e794ede3c599</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)</title>
<updated>2017-06-20T15:56:19Z</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2017-06-20T15:56:19Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/openjpeg/commit/?id=919ed5f8b8681aeae54ce3884b3ecca56cadc2e0'/>
<id>urn:sha1:919ed5f8b8681aeae54ce3884b3ecca56cadc2e0</id>
<content type='text'>
</content>
</entry>
</feed>
