VideoCodec/Modules/StreamFormat/StreamFormatter.h
#ifndef STREAMFORMATTER_H_
#define STREAMFORMATTER_H_
#include "../Module.h"
#include "../Output/StreamOutputModule.h"
namespace VideoCodec
{
// Formats the result of encoding the video into a file.
class StreamFormatter : public VideoCodec::Module
{
public:
StreamFormatter();
virtual ~StreamFormatter();
ConfigurationStatus Configure(ConfigurationElement* configuration);
void SetOutputModule(StreamOutputModule* output);
void OutputFormatHeader();
void OutputStreamHeader(FrameCount totalFrameCount, BlockCount blockColumns, BlockCount blockRows, bool mv4, bool halfPixel);
void OutputFrame(UnsignedByte* frameData, FrameDataByteCount elementCount);
void OutputFrameHeader(bool pFrame, DCTCoefficientQuantizationMethod quantizationMethod, UnsignedByte quantizationScale);
private:
StreamOutputModule* output;
};
}
#endif /*STREAMFORMATTER_H_*/