summaryrefslogtreecommitdiff
path: root/src/gamma_lut.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-03-13 16:46:50 +0000
committerCarl Hetherington <cth@carlh.net>2013-03-13 16:46:50 +0000
commit45625f3116a09d3c8415a54bf8d19fdbb3a3aa9b (patch)
tree3619eb2ba2d9e754f9122b367f4eeffe56239bf9 /src/gamma_lut.cc
parent6e5411a943ef9b3f23cfb8dd9dcc1a756b55bfbe (diff)
Compute LUTs at run-time.dynamic-lut
Diffstat (limited to 'src/gamma_lut.cc')
-rw-r--r--src/gamma_lut.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gamma_lut.cc b/src/gamma_lut.cc
new file mode 100644
index 00000000..acc80af0
--- /dev/null
+++ b/src/gamma_lut.cc
@@ -0,0 +1,16 @@
+#include <cmath>
+#include "gamma_lut.h"
+#include "lut_cache.h"
+
+using namespace libdcp;
+
+LUTCache<GammaLUT> GammaLUT::cache;
+
+GammaLUT::GammaLUT(int bits, float gamma)
+ : LUT<float> (bits, gamma)
+{
+ int const bit_length = pow(2, bits);
+ for (int i = 0; i < bit_length; ++i) {
+ _lut[i] = pow(float(i) / (bit_length - 1), gamma);
+ }
+}