Grok is an open-source JPEG 2000 codec licensed under AGPL v3. It is integrated into GDAL via the JP2Grok driver.
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 |
- 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
- 2,000+ unit tests
- Continuous fuzzing via OSS-Fuzz
- Python, C#, Java (SWIG)
- Rust (bindgen)
git clone --recursive https://github.com/GrokImageCompression/grok.git cd grok cmake -B build cmake --build build --parallel