VideoCodec/Modules/Prediction/MotionEstimation.h

#ifndef MOTIONESTIMATION_H_ #define MOTIONESTIMATION_H_ #include "../../Data/Constants.h" #include "../../Data/PictureInfo.h" #include "../Module.h" namespace VideoCodec {    class MotionEstimation : public VideoCodec::Module    {    public:       MotionEstimation();       virtual ~MotionEstimation();       ConfigurationStatus Configure(ConfigurationElement* configuration);       void CalculateMotionVectors(PictureInfo* reference, PictureInfo* current);       void ApplyMotionVectors(PictureInfo* subject, SignedByte* xComponents, SignedByte* yComponents);       void EnableMV4();       bool UseSubPixel();    private:       UnsignedShort sumAbsoluteError(UnsignedByte* referenceDataStart, UnsignedByte* currentStart, UnsignedShort imageWidth, unsigned char blockSize);       UnsignedByte distance;       UnsignedShort saeLimit;       bool subPixel;       bool mv4;    }; } #endif /*MOTIONESTIMATION_H_*/