VideoCodec/Modules/ModuleRegistry.h
#ifndef MODULEREGISTRY_H_
#define MODULEREGISTRY_H_
#include "Module.h"
#include "../Configuration/Configuration.h"
#include "../Data/Constants.h"
#include "Input/FrameInputModule.h"
#include "Inspection/External.h"
#include "Inspection/ProgressInformation.h"
#include "Output/FrameOutputModule.h"
#include "Output/StreamOutputModule.h"
#include "Pipeline/Pipeline.h"
#include "Transform/ColourSpaceConverter.h"
#include "Transform/MacroblockHandler.h"
#include "Transform/DCT.h"
#include "Transform/AANDCT.h"
#include "Quantization/DCTCoefficientQuantizer.h"
#include "StreamCoding/HuffmanEntropyEncoder.h"
#include "StreamCoding/HuffmanEntropyDecoder.h"
#include "StreamFormat/StreamFormatter.h"
#include "Prediction/FrameDifference.h"
#include "Prediction/MotionEstimation.h"
#include "RateControl/GOPManager.h"
#include "RateControl/RateControl.h"
namespace VideoCodec
{
class ModuleRegistry
{
public:
ModuleRegistry();
virtual ~ModuleRegistry();
map<std::string, Module*>* GetModules();
Module* GetModule(std::string* name);
Module* GetModule(std::string* name, Configuration* configuration);
private:
map<std::string, Module*>* modules;
};
}
#endif /*MODULEREGISTRY_H_*/