Skip to content

World's Leading Open Source JPEG 2000 Codec

License

Notifications You must be signed in to change notification settings

GerHobbelt/grok

 
 

Repository files navigation

World's Leading Open Source JPEG 2000 Codec

badge-license

Features

  • support for new High Throughput JPEG 2000 (HTJ2K) standard
  • fast random-access sub-image decoding using TLM and PLT markers
  • full encode/decode support for ICC colour profiles
  • full encode/decode support for XML,IPTC, XMP and EXIF meta-data
  • full encode/decode support for monochrome, sRGB, palette, YCC, extended YCC, CIELab and CMYK colour spaces
  • full encode/decode support for JPEG,PNG,BMP,TIFF,RAW,PNM and PAM image formats
  • full encode/decode support for 1-16 bit precision images
  • supported platforms: Linux x86-64, Linux AArch64, Windows, macOS and WebAssembly

Performance

Below is a benchmark comparing time and memory performance for Grok 9.7.8 and Kakadu 8.05 on the following workflows:

  1. decompress large single-tiled image of Mars to TIF output
  2. decompress region (1000,1000,5000,5000) from large single-tiled image of Mars to TIF output
  3. decompress large multi-tiled Pleiades image to TIF output.
  4. decompress large multi-tiled Pleiades image to PGM output.
  5. decompress 6 resolutions from 580000x825000 single-tiled image of Luxembourg
  6. decompress 7 resolutions from 580000x825000 single-tiled image of Luxembourg
  7. decompress 8 resolutions from 580000x825000 single-tiled image of Luxembourg
  8. decompress region (574200,816750,580000,825000) from 580000x825000 single-tiled image of Luxembourg

Benchmark Details

  • test system : 24 core / 48 thread AMD Threadripper running Fedora 36 with 5.17 Linux kernel and xfs file system
  • codecs were configured to use all 48 threads
  • file cache was cleared before each decompression using $ sudo sysctl vm.drop_caches=3
  • Grok was built in release mode using GCC 10

Results

Test Grok Kakadu
1 13.74 s / 16.6 GB 9.02 s / 0.05 GB
2 0.25 s / 0.4 GB 0.12 s
3 3.21 s / 3.65 GB 4.94 s / 0.1 GB
4 2.94 s / 4.0 GB 3.90 s / 0.09 GB
5 0.37 s / 0.7 GB 2.72 s / 1.0 GB
6 0.67 s / 1.0 GB 3.02 s / 1.0 GB
7 1.76 s / 1.8 GB 3.72 s / 1.1 GB
8 2.89 s / 6.0 GB 7.39 s / 1.1 GB

Library Details

Current Build Status

badge-actions badge-oss-fuzz

About

World's Leading Open Source JPEG 2000 Codec

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 95.3%
  • C 2.5%
  • CMake 1.9%
  • Starlark 0.3%
  • Shell 0.0%
  • Makefile 0.0%