Skip to content

Implement Sony ARW6 decoder - #983

Open
abbradar wants to merge 5 commits into
darktable-org:developfrom
abbradar:arw6-decoder
Open

Implement Sony ARW6 decoder#983
abbradar wants to merge 5 commits into
darktable-org:developfrom
abbradar:arw6-decoder

Conversation

@abbradar

Copy link
Copy Markdown

This is an LLM-assisted (Claude Fable) port of my ARW6 reference decoder to rawspeed. The reference decoder's initial implementation was LLM-assisted too, but I've completely reviewed it and rewrote most parts by hand.

The comments were preserved as is from the reference decoder, but I restructured the code to live in a single .cpp, as other decoders here do.

One questionable thing is a custom Plane class which is an owning Array2DRef; I didn't find anything similar in the existing code, but I may be wrong. I've also introduced OpenMP parallelism for tiles and channels. It's clunky because of the exception passing; I didn't use OpenMP before, but AFAIU that's a well-known wart; I'd also love to be corrected.

Fixes #968

@abbradar
abbradar requested a review from LebedevRI as a code owner August 22, 2026 09:58
@github-actions

Copy link
Copy Markdown

The proposed diff is not clang-formatted.
To make this check pass, download the following patch
(via browser, you must be logged-in in order for this URL to work),
(NOTE: save it into the repo checkout dir for the snippet to work)
https://github.com/darktable-org/rawspeed/actions/runs/32566379854/artifacts/9474187307
... and run:

cd <path/to/repo/checkout> # NOTE: use your own path here
unzip clang-format.patch.zip
git stash # Temporairly stash away any preexisting diff
git apply clang-format.patch # Apply the diff
git add -u # Stage changed files
git commit -m "Applying clang-format" # Commit the patch
git push
git stash pop # Unstast preexisting diff
rm clang-format.patch.zip clang-format.patch

@abbradar
abbradar marked this pull request as draft August 22, 2026 10:20
@github-actions

Copy link
Copy Markdown

The proposed diff is not clang-formatted.
To make this check pass, download the following patch
(via browser, you must be logged-in in order for this URL to work),
(NOTE: save it into the repo checkout dir for the snippet to work)
https://github.com/darktable-org/rawspeed/actions/runs/32567908722/artifacts/9474570607
... and run:

cd <path/to/repo/checkout> # NOTE: use your own path here
unzip clang-format.patch.zip
git stash # Temporairly stash away any preexisting diff
git apply clang-format.patch # Apply the diff
git add -u # Stage changed files
git commit -m "Applying clang-format" # Commit the patch
git push
git stash pop # Unstast preexisting diff
rm clang-format.patch.zip clang-format.patch

@abbradar

Copy link
Copy Markdown
Author

Formatted and also cleaned up a bit; decided against an arrow proxy clunkiness after all, and removed the identity LUT.

@abbradar
abbradar marked this pull request as ready for review August 22, 2026 10:37
@github-actions

Copy link
Copy Markdown

The proposed diff is not clang-formatted.
To make this check pass, download the following patch
(via browser, you must be logged-in in order for this URL to work),
(NOTE: save it into the repo checkout dir for the snippet to work)
https://github.com/darktable-org/rawspeed/actions/runs/32568125313/artifacts/9474621151
... and run:

cd <path/to/repo/checkout> # NOTE: use your own path here
unzip clang-format.patch.zip
git stash # Temporairly stash away any preexisting diff
git apply clang-format.patch # Apply the diff
git add -u # Stage changed files
git commit -m "Applying clang-format" # Commit the patch
git push
git stash pop # Unstast preexisting diff
rm clang-format.patch.zip clang-format.patch

@kmilos

kmilos commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

x-ref #972

@abbradar

Copy link
Copy Markdown
Author

Ouch, failed to find it while searching before, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A7R VI camera support

2 participants