/* * Quantization.h * * Created on: 02.04.2011 * Author: sven */ #ifndef QUANTIZATION_H_ #define QUANTIZATION_H_ #ifndef QUANTIZATIONPARAMETERS_H_ #include "QuantizationParameters.h" #endif #ifndef _GLIBCXX_VECTOR #include #endif struct QuantizationRange { unsigned short mMinValue; unsigned short mMaxValue; unsigned short mRangeWidth; unsigned short mRangeValue; bool IsInRange(unsigned short val) { return ((val >= mMinValue) && (val <= mMaxValue)); } }; typedef std::vector QuantizationRanges; typedef std::vector::iterator QuantizationRangesIter; class Quantization { public: Quantization(QuantizationParameters& params); virtual ~Quantization(); private: QuantizationParameters& mParams; unsigned mNumQuantizationValues; QuantizationRanges mQuantizationRanges; short getQuantizationValue(short); void calcQuantizationValues(); }; #endif /* QUANTIZATION_H_ */