#define LIBDCP_LUT_H
#include <cmath>
+#include <boost/utility.hpp>
namespace libdcp {
-template<typename T>
-class LUT
+class LUT : boost::noncopyable
{
public:
LUT(int bit_depth, float gamma)
, _bit_depth (bit_depth)
, _gamma (gamma)
{
- _lut = new T[int(std::pow(2, _bit_depth))];
+ _lut = new float[int(std::pow(2.0f, _bit_depth))];
}
virtual ~LUT() {
delete[] _lut;
}
- T const * lut() const {
+ float const * lut() const {
return _lut;
}
}
protected:
- T* _lut;
+ float* _lut;
int _bit_depth;
float _gamma;
};