summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-04-22 15:56:56 +0100
committerCarl Hetherington <cth@carlh.net>2015-04-22 15:56:56 +0100
commitfa1dddf081a35fde2479f6a23088b608ee956437 (patch)
tree2699446180165a84907ef00e10213381cf0d61f5 /src
parentdae4702a779b9dbaabf2a2361c26ae0c592f4bf3 (diff)
Add p3_to_xyz colour conversion preset.
Diffstat (limited to 'src')
-rw-r--r--src/colour_conversion.cc16
-rw-r--r--src/colour_conversion.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/src/colour_conversion.cc b/src/colour_conversion.cc
index 59aadf1a..fc1c9db8 100644
--- a/src/colour_conversion.cc
+++ b/src/colour_conversion.cc
@@ -81,6 +81,22 @@ ColourConversion::rec709_to_xyz ()
return *c;
}
+ColourConversion const &
+ColourConversion::p3_to_xyz ()
+{
+ static ColourConversion* c = new ColourConversion (
+ shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6)),
+ YUV_TO_RGB_REC709,
+ Chromaticity (0.68, 0.32),
+ Chromaticity (0.265, 0.69),
+ Chromaticity (0.15, 0.06),
+ Chromaticity (0.314, 0.351),
+ optional<Chromaticity> (),
+ shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6))
+ );
+ return *c;
+}
+
ColourConversion::ColourConversion (
shared_ptr<const TransferFunction> in,
YUVToRGB yuv_to_rgb,
diff --git a/src/colour_conversion.h b/src/colour_conversion.h
index 559707af..939b0d2b 100644
--- a/src/colour_conversion.h
+++ b/src/colour_conversion.h
@@ -129,6 +129,7 @@ public:
static ColourConversion const & srgb_to_xyz ();
static ColourConversion const & rec601_to_xyz ();
static ColourConversion const & rec709_to_xyz ();
+ static ColourConversion const & p3_to_xyz ();
protected:
boost::shared_ptr<const TransferFunction> _in;