darktable-org / darktable-org/rawspeed
LJpegDecompressor predictor mode 7 support
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 456
- Forks
- 147
- PR merge metrics
- No merged PRs in 30d
Description
Comes up in iPhone 12 Pro raws: https://raw.pixls.us/getfile.php/4264/raw/IMG_1361.DNG
/tmp/IMG_1361.DNG : starting decoding ...
/tmp/IMG_1361.DNG failed: ../src/librawspeed/decompressors/AbstractDngDecompressor.cpp:218: void rawspeed::AbstractDngDecompressor::decompress() const: Too many errors encountered. Giving up. First Error:
../src/librawspeed/decompressors/LJpegDecompressor.cpp:91: virtual void rawspeed::LJpegDecompressor::decodeScan(): Unsupported predictor mode: 7
Total decoding time: 0s
WARNING: the following 1 tests have failed:
/tmp/IMG_1361.DNG failed: ../src/librawspeed/decompressors/AbstractDngDecompressor.cpp:218: void rawspeed::AbstractDngDecompressor::decompress() const: Too many errors encountered. Giving up. First Error:
../src/librawspeed/decompressors/LJpegDecompressor.cpp:91: virtual void rawspeed::LJpegDecompressor::decodeScan(): Unsupported predictor mode: 7
==46741==LeakSanitizer has encountered a fatal error.
==46741==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==46741==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
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 reproducing the failure with the linked IMG_1361.DNG sample and read src/librawspeed/decompressors/LJpegDecompressor.cpp, especially decodeScan() around the reported line. Determine the expected handling for predictor mode 7, then verify that the sample decodes without the unsupported-predictor error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100