summaryrefslogtreecommitdiff
path: root/src/rgb_xyz.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-12-27 20:02:16 +0000
committerCarl Hetherington <cth@carlh.net>2014-12-28 00:46:04 +0000
commit75788462338b1b4f464d075465da3cb372c40004 (patch)
tree24046b4554f71ae399bbd310f5df2db2c4e69f47 /src/rgb_xyz.h
parent8520636e803e9eb17c9f73272f340d0e1c17ad67 (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.h17
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>);
}