Add p3_to_xyz colour conversion preset.
authorCarl Hetherington <cth@carlh.net>
Wed, 22 Apr 2015 14:56:56 +0000 (15:56 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 22 Apr 2015 14:56:56 +0000 (15:56 +0100)
src/colour_conversion.cc
src/colour_conversion.h

index 59aadf1a865fb28530ed011966b2d9314692c54f..fc1c9db89845fa9ca0fe7041a3ac765e12a6076c 100644 (file)
@@ -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,
index 559707af6b7b5d084ea1a9b2ca643b794001427c..939b0d2bebd7fb10bfd54b7f87b51b483eb87a6a 100644 (file)
@@ -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;