Merge master; at least partially.
[libdcp.git] / src / gamma_lut.cc
1 #include <cmath>
2 #include "gamma_lut.h"
3 #include "lut_cache.h"
4
5 using namespace libdcp;
6
7 LUTCache<GammaLUT> GammaLUT::cache;
8
9 GammaLUT::GammaLUT(int bits, float gamma)
10         : LUT<float> (bits, gamma)
11 {
12         int const bit_length = pow(2, bits);
13         for (int i = 0; i < bit_length; ++i) {
14                 _lut[i] = pow(float(i) / (bit_length - 1), gamma);
15         }
16 }