darktable-org / darktable-org/rawspeed

LJpegDecompressor predictor mode 7 support

Open
#258 1 comment 1 reaction 0 assignees View on GitHub

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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.