Skip to content

Conversation

@mrdoob
Copy link
Owner

@mrdoob mrdoob commented Nov 10, 2025

Related issue: #31911

Description

Adds support for HTJ2K (High Throughput JPEG 2000) compression in EXRLoader, following OpenEXR 3.4.0 specification. Includes a new JPHLoader for standalone JPEG 2000 files.

Changes

  • EXRLoader: Added HTJ2K decompression (compression code 11)

    • Automatic OpenJPH WASM initialization (lazy loading)
    • Parses HTJ2K header format (magic, payload length, channel map)
    • Async parse() method to support WASM loading
  • JPHLoader: New loader for standalone JPEG 2000/HTJ2K files

    • Auto-initializes OpenJPH WASM on first use
    • Supports 8-bit, 16-bit, and 32-bit data
    • Progressive decoding and resolution skipping
  • Bundled OpenJPH WASM: ~126 KB (105 KB WASM + 21 KB JS)

@mrdoob mrdoob added this to the r182 milestone Nov 10, 2025
…rt, function or class

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants