[imageio] Support TIFF with any number of samples per pixel #18192
+6
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #18187.
This PR fixes a regression introduced in 5.0.0 after the imageio code refactoring.
Actually, the TIFF loader itself did not support reading 2-channel (luminance + alpha) images before either. But darktable is usually built with support for the GraphicsMagick (or ImageMagick) fallback loader. So such files used to be loaded using a fallback loader.
This broke when additional loader failure codes were introduced, and the code returned in this particular case (DT_IMAGEIO_UNSUPPORTED_FEATURE) was not added to the fallback loader call condition.
The TIFF loader code was actually ready to correctly read files with any number of channels (samples per pixel). So this fix simply removes the restriction on the number of channels and adds the correct interpretation of 2-channel files as monochrome.