Skip to content

Conversation

@JimBobSquarePants
Copy link
Member

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

This pull request adds support for decoding TIFF images with CIE Lab color data in both 8-bit and 16-bit per channel formats, including both planar and interleaved storage. It also updates the CMYK TIFF decoder to support ICC color profile conversion and makes the decoder factory aware of these new types. The changes improve color accuracy and extensibility for TIFF decoding.

New TIFF color decoders and ICC profile support:

  • Added CieLab16TiffColor<TPixel> and CieLab16PlanarTiffColor<TPixel> classes to decode 16-bit per channel CIE Lab TIFF images, with proper ICC profile conversion and endianness handling. [1] [2]
  • Updated CmykTiffColor<TPixel> to support ICC profile conversion and use buffer-based SIMD processing for more efficient decoding. [1] [2]

Refactoring and naming consistency:

  • Renamed CieLabTiffColor<TPixel> and CieLabPlanarTiffColor<TPixel> to CieLab8TiffColor<TPixel> and CieLab8PlanarTiffColor<TPixel>, respectively, to clarify that these handle 8-bit per channel data. [1] [2]

Decoder factory enhancements:

  • Updated TiffColorDecoderFactory<TPixel> to instantiate the correct decoder based on bits per sample and to pass necessary metadata, options, and allocator for ICC profile-aware decoders. [1] [2] [3] [4] [5]

Minor improvements:

  • Used C# type inference for default struct initialization in YCbCrToRgbConverter.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants