<div dir="auto">I can't touch grok... <font color="#24292e" face="sfmono-regular, consolas, liberation mono, menlo, monospace"><span style="font-size:12px;white-space:pre;background-color:rgb(255,255,255)">GNU Affero General Public License</span></font></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Feb 27, 2021, 9:50 AM Aaron Boxer <<a href="mailto:boxerab@gmail.com">boxerab@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">
        
        

<p style="margin-bottom:0cm;line-height:100%;background:transparent"> Hello Everyone,</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent">For those who aren’t
aware, there is a pending PR for a new open source JPEG 2000 driver,
based on the Grok JPEG 2000 library</span><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent"><a href="https://github.com/OSGeo/gdal/pull/3449" target="_blank" rel="noreferrer">https://github.com/OSGeo/gdal/pull/3449</a></span><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent">Notable Library
Features:</span><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent">1. support for
reading TLM and PLT markers, for fast random access into large tiled
or single-tiled images</span><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent">2. support for
memory mapped files, which helps speed up random access decode for
large images 
</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent">3. internal tile
cache that allows efficient reading of multiple tiles from single
Grok codec object</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent">4. support for new
Part 15 of the JPEG 2000 standard (HTJ2K) which promises up to
**10x** speedup</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent">of encode and decode
</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent">Benchmarks:</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent">I haven't done a
thorough comparison between Kakadu, Grok and OpenjPEG, but here are a
few results (more details in PR)</span><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent">1. Compression:
multi-tile</span><br></p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent">Kakadu is 2X faster
than Grok;  Grok is 5X faster than OpenJPEG</p>
<p style="margin-bottom:0cm;line-height:100%;background:transparent"><span style="background-color:transparent">2. Decompression:
large single tile image with PLT markers</span><br></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<font color="#24292e"><font face="apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"><font style="font-size:10pt">Kakadu
is 60% faster than Grok; Grok is 2.5x faster than OpenJPEG</font></font></font></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent"><span style="font-size:10pt;font-family:apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";color:rgb(36,41,46);background-color:transparent">3.
Decompression: 4000x4000 sub-region of large single tile image with
PLT markers</span><br></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<font color="#24292e"><font face="apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"><font style="font-size:10pt">Kakadu
is 40% faster than Grok; Grok is 5X faster than OpenJPEG</font></font></font></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent"><span style="font-size:10pt;font-family:apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";color:rgb(36,41,46);background-color:transparent"><br></span></p><p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent"><span style="font-size:10pt;font-family:apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";color:rgb(36,41,46);background-color:transparent">This
year should see Grok reaching performance parity with Kakadu.</span><br></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<br>

</p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<font color="#24292e"><font face="apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"><font style="font-size:10pt">There
is an RFC for the new driver, which is complete, and tested on a few
compression and decompression work flows.</font></font></font></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<br>

</p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<font color="#24292e"><font face="apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"><font style="font-size:10pt">Any
comments or feedback is very welcome.</font></font></font></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<br>

</p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<font color="#24292e"><font face="apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"><font style="font-size:10pt">Cheers,</font></font></font></p>
<p style="margin-bottom:0cm;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:100%;background:transparent">
<font color="#24292e"><font face="apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"><font style="font-size:10pt">Aaron </font></font></font>
</p></div>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank" rel="noreferrer">gdal-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</blockquote></div>