darktable-org / darktable-org/darktable
8->12 bit JPEG rendering
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.1k
- Forks
- 1.4k
- Avg merge
- 22h 14m
- Merged PRs (30d)
- 198
Description
Describe the solution you'd like
I suggest considering support for libjpeg-turbo's new 8->12 bit decompression mode, which allows recovering shadows from standard "8-bit" JPEGs encoded with >8 source bits, and high Q factor.
Alternatives
I also wrote a standalone floating point decoder, jfloaty, but it doesn't support any of the other features of libjpeg-turbo. I wouldn't use it.
Additional context
https://GitHub.com/rsaxvc/jfloaty
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/867#issuecomment-3993681990
https://discuss.pixls.us/t/foss-photo-manager-editor-for-jpeg-workflow/53090/44
https://gitlab.gnome.org/GNOME/gimp/-/issues/15627#note_2679424
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing libjpeg-turbo's 8-to-12-bit decompression mode and the referenced libjpeg-turbo issue #867. Then trace how darktable currently decodes and renders JPEGs; done would mean support for recovering shadows from standard JPEGs encoded from sources above 8 bits without replacing the existing libjpeg-turbo feature set.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100