Skip to content

GrokImageCompression/grok

Repository files navigation

Grok

badge-license badge-actions badge-oss-fuzz

Grok is an open-source JPEG 2000 codec licensed under AGPL v3. It is integrated into GDAL via the JP2Grok driver.

Performance

Benchmark results (16 threads, GDAL release build, Fedora 42):

Workflow Grok (JP2Grok) Kakadu (JP2KAK) OpenJPEG
Spot 6 (Network Storage) 35.17 s 344 s 85 s
Spot 6 (Local Storage) 26.92 s 30.57 s 52.09 s
Pleiades (Region) 0.74 s 1.41 s 4.28 s

Features

  • High Throughput JPEG 2000 (HTJ2K) support
  • Random-access sub-image decoding (TLM + PLT markers)
  • ICC color profiles, XML/IPTC/XMP/EXIF metadata
  • Monochrome, sRGB, palette, YCC, extended YCC, CIELab, CMYK
  • 1–16 bit precision
  • JPEG/PNG/BMP/TIFF/RAW/PNM/PAM I/O
  • Linux (x86-64/AArch64), Windows, macOS, WebAssembly

Testing

  • 2,000+ unit tests
  • Continuous fuzzing via OSS-Fuzz

Language Bindings

Links

Quick Build

git clone --recursive https://github.com/GrokImageCompression/grok.git cd grok cmake -B build cmake --build build --parallel