2013-01-12 03:20:40 +00:00
|
|
|
#ifndef _VIDEOSTREAM_READMOTIONVECTORS_H_
|
|
|
|
#define _VIDEOSTREAM_READMOTIONVECTORS_H_
|
|
|
|
|
|
|
|
#include "VideoStream_Program.h"
|
|
|
|
#include "VideoStream_ReadMotionVector.h"
|
|
|
|
|
|
|
|
namespace VideoStream
|
|
|
|
{
|
|
|
|
class ReadMotionVectors : public Program
|
|
|
|
{
|
|
|
|
public:
|
2018-04-30 21:01:23 +01:00
|
|
|
ReadMotionVectors();
|
|
|
|
virtual ~ReadMotionVectors();
|
2013-01-12 03:20:40 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
void SetRSizes(uint8, uint8);
|
|
|
|
void SetMotionVector(int16*);
|
2013-01-12 03:20:40 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
void Reset();
|
|
|
|
void Execute(void*, Framework::CBitStream&);
|
2013-01-12 03:20:40 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
enum PROGRAM_STATE
|
|
|
|
{
|
|
|
|
STATE_INIT,
|
|
|
|
STATE_SINGLE_READVECTOR,
|
|
|
|
STATE_DOUBLE_FIRST_READFIELDSELECT,
|
|
|
|
STATE_DOUBLE_FIRST_READVECTOR,
|
|
|
|
STATE_DOUBLE_SECOND_READFIELDSELECT,
|
|
|
|
STATE_DOUBLE_SECOND_READVECTOR,
|
|
|
|
STATE_DONE,
|
|
|
|
};
|
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
ReadMotionVector m_motionVectorReader;
|
|
|
|
PROGRAM_STATE m_programState;
|
|
|
|
uint8 m_hrSize;
|
|
|
|
uint8 m_vrSize;
|
|
|
|
int16* m_motionVector;
|
2013-01-12 03:20:40 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|