VideoCodec/Modules/Input/FrameInputModule.h
#ifndef FRAMEINPUTMODULE_H_
#define FRAMEINPUTMODULE_H_
#include <string>
#include <vector>
#include "../Module.h"
#include "../../Configuration/ConfigurationElement.h"
#include "../../Logger.h"
#include "../../Data/Constants.h"
#include "../../Data/PictureInfo.h"
using namespace std;
namespace VideoCodec
{
class FrameInputModule : public VideoCodec::Module
{
public:
FrameInputModule();
virtual ~FrameInputModule();
ConfigurationStatus Configure(ConfigurationElement* configuration);
bool HasFrames();
PictureInfo* FetchNextFrame();
FrameCount GetTotalFrameCount();
void PreloadInputFrames();
void CleanUpPreloaded();
private:
vector<std::string> inputFrameFileNames;
vector<std::string> unprocessedFrameFileNames;
vector<std::string> processedFrameFileNames;
bool preload;
vector<PictureInfo*> preloadedFrames;
PictureInfo* preloadFrame(std::string fileName);
};
}
#endif /*FRAMEINPUTMODULE_H_*/