summaryrefslogtreecommitdiff
path: root/lut.py
diff options
context:
space:
mode:
Diffstat (limited to 'lut.py')
-rw-r--r--lut.py127
1 files changed, 0 insertions, 127 deletions
diff --git a/lut.py b/lut.py
deleted file mode 100644
index 9dd4ff20..00000000
--- a/lut.py
+++ /dev/null
@@ -1,127 +0,0 @@
-from __future__ import print_function
-import math
-
-BIT_DEPTH = 12
-DCI_GAMMA = 2.6
-SRGB_GAMMA = 2.4;
-BIT_LENGTH = int(math.pow(2, BIT_DEPTH))
-COLOR_DEPTH = BIT_LENGTH - 1
-
-def boilerplate(f):
- print("""/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
-
- This program 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.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-
-/* This file is auto-generated by the build scripts; edits will be lost
- on ./waf configure.
-*/
-""", file=f)
-
-def make_luts():
- cc = open('src/lut.cc', 'w')
-
- boilerplate(cc)
-
- print("#include \"lut.h\"", file=cc)
-
- print("""
-/* sRGB color matrix for XYZ -> RGB */
-float color_matrix[3][3] = {
- { 3.240454836, -1.537138850, -0.498531547},
- {-0.969266390, 1.876010929, 0.041556082},
- { 0.055643420, -0.204025854, 1.057225162}
-};\n\n
-""", file=cc)
-
- print("""
-float lut_in[COLOR_DEPTH + 1] = {\n
-\t/* Bit depth: %d
-\t * Reference white: DCI
-\t * Gamma: %f
-\t */
-""" % (BIT_DEPTH, DCI_GAMMA), file=cc)
-
- c = 0
- for i in range(0, BIT_LENGTH):
- v = math.pow (i / (BIT_LENGTH - 1.0), DCI_GAMMA);
-
- if (c == 0):
- print(" ", end='', file=cc)
-
- if i < BIT_LENGTH - 1:
- print("%06f, " % v, end="", file=cc)
- if c == 12:
- c = 0;
- print("", file=cc)
- else:
- c += 1
- else:
- print("%06f" % v, file=cc)
-
- print("};", file=cc)
-
- print("""
-int lut_out[COLOR_DEPTH + 1] = {
-\t/* Bit depth: %d
-\t * Reference white: sRGB
-\t * Gamma: %f
-\t */
-""", file=cc)
-
- c = 0
- for i in range (0, BIT_LENGTH):
- v = i / (BIT_LENGTH - 1.0)
-
- if (v < (0.04045 / 12.92)):
- v *= 12.92
- else:
- v = (1.055 * pow (v, (1 / SRGB_GAMMA))) - 0.055
-
- v *= 255
-
- if c == 0:
- print(" ", end="", file=cc)
-
- if i < BIT_LENGTH - 1:
- print("%d, " % v, end="", file=cc)
- if c == 12:
- c = 0;
- print("", file=cc)
- else:
- c += 1
- else:
- print("%d" % v, file=cc)
-
- print("};", file=cc)
-
- h = open('src/lut.h', 'w')
-
- boilerplate(h)
-
- print("""
-#define COLOR_DEPTH (%d)
-#define DCI_COEFFICIENT (48.0/52.37)
-
-extern float color_matrix[3][3];
-extern int lut_out[COLOR_DEPTH + 1];
-extern float lut_in[COLOR_DEPTH + 1];
-""" % COLOR_DEPTH, file=h)
-
-if __name__ == "__main__":
- make_luts()