diff options
Diffstat (limited to 'src/transfer_function.h')
| -rw-r--r-- | src/transfer_function.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/transfer_function.h b/src/transfer_function.h index 4105f3d4..7f7187b5 100644 --- a/src/transfer_function.h +++ b/src/transfer_function.h @@ -30,22 +30,18 @@ namespace dcp { class TransferFunction : public boost::noncopyable { public: - TransferFunction (bool inverse); - virtual ~TransferFunction (); /** @return A look-up table (of size 2^bit_depth) whose values range from 0 to 1 */ - double const * lut (int bit_depth) const; + double const * lut (int bit_depth, bool inverse) const; - virtual bool about_equal (boost::shared_ptr<const TransferFunction> other, double epsilon) const; + virtual bool about_equal (boost::shared_ptr<const TransferFunction> other, double epsilon) const = 0; protected: - virtual double * make_lut (int bit_depth) const = 0; - - bool _inverse; + virtual double * make_lut (int bit_depth, bool inverse) const = 0; private: - mutable std::map<int, double*> _luts; + mutable std::map<std::pair<int, bool>, double*> _luts; /** mutex to protect _luts */ mutable boost::mutex _mutex; }; |
