summaryrefslogtreecommitdiff
path: root/src/gamma_lut.cc
diff options
context:
space:
mode:
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);
+ }
+}