VideoCodec/Modules/Transform/DCT.h

#ifndef DCT_H_ #define DCT_H_ #include <math.h> #include "../../Data/Constants.h" #include "../../Data/PictureInfo.h" #include "../../Logger.h" #include "../Module.h" namespace VideoCodec {    class DCT : public VideoCodec::Module    {    public:       DCT();       virtual ~DCT();       ConfigurationStatus Configure(ConfigurationElement* configuration);       void ExecuteDCT(PictureInfo* picture);       void ExecuteIDCT(PictureInfo* picture);       void initialize();    private:       void referenceDCT(unsigned char* data, short int* result);       void referenceIDCT(short int* data, unsigned char* result);              void debugOutputMB(short int* mb, const char* label);       void debugOutputMB(unsigned char* mb, const char* label);              bool isInitialized;       double* dctCosineProductLookupTable;       double* idctCosineProductLookupTable;       double reciprocalRootTwo;    }; } #endif /*DCT_H_*/