summaryrefslogtreecommitdiff
path: root/src/lib/colour_conversion.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-08-18 22:11:59 +0100
committerCarl Hetherington <cth@carlh.net>2013-08-18 22:11:59 +0100
commitb89cc774a89867caa97db4b082655569c7d69432 (patch)
tree7a2381e431ac37c1e23752ad5970ded4dd99f56a /src/lib/colour_conversion.cc
parente4b30a67b690755a3cd44678bd0671f06af8a36e (diff)
Add colour conversion identifier to video identifier.
Diffstat (limited to 'src/lib/colour_conversion.cc')
-rw-r--r--src/lib/colour_conversion.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/colour_conversion.cc b/src/lib/colour_conversion.cc
index cc25ccc67..5f8064dab 100644
--- a/src/lib/colour_conversion.cc
+++ b/src/lib/colour_conversion.cc
@@ -23,6 +23,7 @@
#include <libcxml/cxml.h>
#include "config.h"
#include "colour_conversion.h"
+#include "util.h"
#include "i18n.h"
@@ -116,6 +117,26 @@ ColourConversion::preset () const
return i;
}
+string
+ColourConversion::identifier () const
+{
+ double numbers[12];
+
+ int n = 0;
+ numbers[n++] = input_gamma;
+ numbers[n++] = input_gamma_linearised;
+ for (int i = 0; i < 3; ++i) {
+ for (int j = 0; j < 3; ++j) {
+ numbers[n++] = matrix (i, j);
+ }
+ }
+ numbers[n++] = output_gamma;
+
+ assert (n == 12);
+
+ return md5_digest (numbers, 12 * sizeof (double));
+}
+
PresetColourConversion::PresetColourConversion ()
: name (_("Untitled"))
{