40 #ifndef DCP_COLOUR_CONVERSION_H
41 #define DCP_COLOUR_CONVERSION_H
46 #if BOOST_VERSION >= 106400
47 #include <boost/serialization/array_wrapper.hpp>
49 #include <boost/numeric/ublas/matrix.hpp>
50 #include <boost/optional.hpp>
56 class TransferFunction;
78 std::shared_ptr<const TransferFunction> in,
84 boost::optional<Chromaticity> adjusted_white,
85 std::shared_ptr<const TransferFunction> out
88 std::shared_ptr<const TransferFunction> in ()
const {
92 YUVToRGB yuv_to_rgb ()
const {
112 boost::optional<Chromaticity> adjusted_white ()
const {
116 std::shared_ptr<const TransferFunction> out ()
const {
120 void set_in (std::shared_ptr<const TransferFunction> f) {
124 void set_yuv_to_rgb (YUVToRGB y) {
148 void unset_adjusted_white () {
152 void set_out (std::shared_ptr<const TransferFunction> f) {
158 boost::numeric::ublas::matrix<double> rgb_to_xyz ()
const;
159 boost::numeric::ublas::matrix<double> xyz_to_rgb ()
const;
160 boost::numeric::ublas::matrix<double> bradford ()
const;
172 std::shared_ptr<const TransferFunction>
_in;
182 std::shared_ptr<const TransferFunction>
_out;
A representation of a x,y,z chromaticity, where z = 1 - x - y.
A representation of all the parameters involved the colourspace conversion of a YUV image to XYZ (via...
std::shared_ptr< const TransferFunction > _out
static ColourConversion const & s_gamut3_to_xyz()
boost::optional< Chromaticity > _adjusted_white
std::shared_ptr< const TransferFunction > _in
Namespace for everything in libdcp.