VideoCodec/Modules/RateControl/GOPManager.h
#ifndef GOPMANAGER_H_
#define GOPMANAGER_H_
#include "../../Data/PictureInfo.h"
#include "../Module.h"
namespace VideoCodec
{
class GOPManager : public VideoCodec::Module
{
public:
GOPManager();
virtual ~GOPManager();
ConfigurationStatus Configure(ConfigurationElement* configuration);
// Determine whether an I-frame is definitely required.
bool RequireIFrame();
// Reset this GOP (call when an intra-frame is coded).
void Reset();
// Increment the number of predictive frames which have been coded.
void IncrementInterCount();
private:
UnsignedByte frameCountSinceLastIntraFrame;
UnsignedByte maxPredictiveFramesInGOP;
};
}
#endif /*GOPMANAGER_H_*/