Add function for D65 white point.
authorCarl Hetherington <cth@carlh.net>
Wed, 14 Dec 2016 14:48:06 +0000 (14:48 +0000)
committerCarl Hetherington <cth@carlh.net>
Wed, 14 Dec 2016 14:48:06 +0000 (14:48 +0000)
src/chromaticity.cc [new file with mode: 0644]
src/chromaticity.h
src/colour_conversion.cc
src/wscript

diff --git a/src/chromaticity.cc b/src/chromaticity.cc
new file mode 100644 (file)
index 0000000..9d67d72
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+    Copyright (C) 2016 Carl Hetherington <cth@carlh.net>
+
+    This file is part of libdcp.
+
+    libdcp is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    libdcp is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with libdcp.  If not, see <http://www.gnu.org/licenses/>.
+
+    In addition, as a special exception, the copyright holders give
+    permission to link the code of portions of this program with the
+    OpenSSL library under certain conditions as described in each
+    individual source file, and distribute linked combinations
+    including the two.
+
+    You must obey the GNU General Public License in all respects
+    for all of the code used other than OpenSSL.  If you modify
+    file(s) with this exception, you may extend this exception to your
+    version of the file(s), but you are not obligated to do so.  If you
+    do not wish to do so, delete this exception statement from your
+    version.  If you delete this exception statement from all source
+    files in the program, then also delete it here.
+*/
+
+#include "chromaticity.h"
+
+using namespace dcp;
+
+Chromaticity
+Chromaticity::D65 ()
+{
+       return Chromaticity (0.3127, 0.329);
+}
index 90453457e4402307255d62f96a9d97b359176bdd..c62731f73a5a9429f94d7e0c5de651b389bf31c5 100644 (file)
@@ -69,6 +69,8 @@ public:
        bool about_equal (Chromaticity const & other, float epsilon) const {
                return std::fabs (x - other.x) < epsilon && std::fabs (y - other.y) < epsilon;
        }
+
+       static Chromaticity D65 ();
 };
 
 }
index aa22a615bddb727e93dc52baa87ab9bbd330885f..16915c72edc689fea8e00b4d4a9bcfdfaa38d1b7 100644 (file)
@@ -53,8 +53,7 @@ ColourConversion::srgb_to_xyz ()
                Chromaticity (0.64, 0.33),
                Chromaticity (0.3, 0.6),
                Chromaticity (0.15, 0.06),
-               /* D65 */
-               Chromaticity (0.3127, 0.329),
+               Chromaticity::D65 (),
                optional<Chromaticity> (),
                shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6))
                );
@@ -70,8 +69,7 @@ ColourConversion::rec601_to_xyz ()
                Chromaticity (0.64, 0.33),
                Chromaticity (0.3, 0.6),
                Chromaticity (0.15, 0.06),
-               /* D65 */
-               Chromaticity (0.3127, 0.329),
+               Chromaticity::D65 (),
                optional<Chromaticity> (),
                shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6))
                );
@@ -87,8 +85,7 @@ ColourConversion::rec709_to_xyz ()
                Chromaticity (0.64, 0.33),
                Chromaticity (0.3, 0.6),
                Chromaticity (0.15, 0.06),
-               /* D65 */
-               Chromaticity (0.3127, 0.329),
+               Chromaticity::D65 (),
                optional<Chromaticity> (),
                shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6))
                );
@@ -123,8 +120,7 @@ ColourConversion::rec1886_to_xyz ()
                Chromaticity (0.64, 0.33),
                Chromaticity (0.3, 0.6),
                Chromaticity (0.15, 0.06),
-               /* D65 */
-               Chromaticity (0.3127, 0.329),
+               Chromaticity::D65 (),
                optional<Chromaticity> (),
                shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6))
                );
@@ -140,8 +136,7 @@ ColourConversion::rec2020_to_xyz ()
                Chromaticity (0.708, 0.292),
                Chromaticity (0.170, 0.797),
                Chromaticity (0.131, 0.046),
-               /* D65 */
-               Chromaticity (0.3127, 0.329),
+               Chromaticity::D65 (),
                optional<Chromaticity> (),
                shared_ptr<const TransferFunction> (new GammaTransferFunction (2.6))
                );
index 8c35c62cfeeba8b93550a649dfd48d2e733138c5..61570bd568478d1b704a806fa4bc8deac606f83c 100644 (file)
@@ -40,6 +40,7 @@ def build(bld):
              atmos_asset_writer.cc
              certificate_chain.cc
              certificate.cc
+             chromaticity.cc
              colour_conversion.cc
              colour_matrix.cc
              cpl.cc