darktable-org / darktable-org/darktable

Use JXL for thumbnails (if available)

Open
#16,361 19 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

Is your feature request related to a problem? Please describe.
Thumbnails can take a large amount of space on a local drive. Using JXL with compression can save space.

Describe the solution you'd like
Encode the mipmap using JXL at 80 quality lossy compression. I tested to compare. A 1600 x 1600 image takes 286kb in jpg (current settings) vs 121kb using JXL. This is almost a third without any visual impact (I cant tell them apart). I think thumbnails is a good use case.

Alternatives
Keep jpg or use AVI.

Additional context
It might help if this https://github.com/darktable-org/darktable/issues/16359 cannot be done.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the code that encodes darktable mipmaps or thumbnails and check how optional image formats are detected. Implement JXL encoding at quality 80 when available, retain JPG as a fallback, and compare the resulting thumbnail behavior and storage against the current implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.