diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-12-27 20:02:16 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-12-28 00:46:04 +0000 |
| commit | 75788462338b1b4f464d075465da3cb372c40004 (patch) | |
| tree | 24046b4554f71ae399bbd310f5df2db2c4e69f47 /src/rgb_xyz.h | |
| parent | 8520636e803e9eb17c9f73272f340d0e1c17ad67 (diff) | |
Change colourspace handling round a bit:1.0-colour-cleanup
- move the essence of GammaLUT into TransferFunction and handle
different bit depths more neatly
- add ColourConversion to describe input gamma correction, colour
transformation and then output gamma correction in one class.
- add default ColourConversions for sRGB->XYZ, Rec709->XYZ and
XYZ->RGB.
Diffstat (limited to 'src/rgb_xyz.h')
| -rw-r--r-- | src/rgb_xyz.h | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/rgb_xyz.h b/src/rgb_xyz.h index 871473c0..a6463b0d 100644 --- a/src/rgb_xyz.h +++ b/src/rgb_xyz.h @@ -24,21 +24,12 @@ namespace dcp { class ARGBFrame; class XYZFrame; -class GammaLUT; class Image; +class ColourConversion; -extern boost::shared_ptr<ARGBFrame> xyz_to_rgba ( - boost::shared_ptr<const XYZFrame>, boost::shared_ptr<const GammaLUT>, boost::shared_ptr<const GammaLUT> - ); - -extern void xyz_to_rgb ( - boost::shared_ptr<const XYZFrame>, boost::shared_ptr<const GammaLUT>, boost::shared_ptr<const GammaLUT>, uint8_t* buffer - ); - -extern boost::shared_ptr<XYZFrame> rgb_to_xyz ( - boost::shared_ptr<const Image>, boost::shared_ptr<const GammaLUT>, boost::shared_ptr<const GammaLUT>, double const colour_matrix[3][3] - ); - +extern boost::shared_ptr<ARGBFrame> xyz_to_rgba (boost::shared_ptr<const XYZFrame>, ColourConversion const & conversion); +extern void xyz_to_rgb (boost::shared_ptr<const XYZFrame>, ColourConversion const & conversion, uint8_t* buffer); +extern boost::shared_ptr<XYZFrame> rgb_to_xyz (boost::shared_ptr<const Image>, ColourConversion const & conversion); extern boost::shared_ptr<XYZFrame> xyz_to_xyz (boost::shared_ptr<const Image>); } |
