Add test() to cscript.
[libdcp.git] / src / colour_matrix.cc
1 /*
2     Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 #include "colour_matrix.h"
21
22 /* sRGB color matrix for XYZ -> RGB.  This is the same as the one used by the Fraunhofer
23    EasyDCP player, I think.
24 */
25
26 double const libdcp::colour_matrix::xyz_to_rgb[3][3] = {
27         {  3.24096989631653,   -1.5373831987381,  -0.498610764741898 },
28         { -0.96924364566803,    1.87596750259399,  0.0415550582110882 },
29         {  0.0556300804018974, -0.203976958990097, 1.05697154998779 }
30 };
31
32 /* From Dennis Couzin via email */
33 double const libdcp::colour_matrix::rec601_to_xyz[3][3] = {
34         { 0.3935276, 0.3652562, 0.1916771 },
35         { 0.2123800, 0.7010562, 0.0865638 },
36         { 0.0187394, 0.1119333, 0.9583854 }
37 };
38
39 /* These are the same, but kept as two separate variables for backwards compatibility;
40    the confusion is fixed in the 1.0 branch.
41 */
42
43 double const libdcp::colour_matrix::srgb_to_xyz[3][3] = {
44         { 0.4123908, 0.3575843, 0.1804808 },
45         { 0.2126390, 0.7151687, 0.0721923 },
46         { 0.0193308, 0.1191948, 0.9505322 }
47 };
48
49 double const libdcp::colour_matrix::rec709_to_xyz[3][3] = {
50         { 0.4123908, 0.3575843, 0.1804808 },
51         { 0.2126390, 0.7151687, 0.0721923 },
52         { 0.0193308, 0.1191948, 0.9505322 }
53 };