Skip to content

Would internal multi-threaded decoding be welcome? #695

@lilith

Description

@lilith

We maintain a fork (zenjxl-decoder) that adds rayon-based parallel decoding — parallel LF/HF group decode and parallel render pipeline, behind an optional threads feature flag.

On a 4K VarDCT image with 8 threads it's roughly 4-5x faster than single-threaded decode. The implementation is ~20 commits touching frame decode, render pipeline, and group scheduling.

Before we invest in cleaning this up for a PR, is internal multi-threading something you'd want in jxl-rs? For what it's worth, libdav1d (used for AVIF in Chromium) does use internal multi-threading for single-frame decode.

Totally understand if single-threaded is the intended scope — just want to check before proposing anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions