DivXNetworks, Inc.
Main Page | Namespace List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals | Related Pages

EncoderInterface.h

Go to the documentation of this file.
00001 
00015 #ifndef _Q_LibQEnc_h
00016 #define _Q_LibQEnc_h
00017 
00018 #include "./FrameInput.h"
00019 #include "./FrameOutput.h"
00020 #include "./FrameResult.h"
00021 #include "./Settings.h"
00022 #include "./FeedbackInterface.h"
00023 #include "./EncoderCallback.h"
00024 
00025 #include "../common/FormatInfo.h"
00026 
00027 
00030 class EncoderInterface
00031 {
00032 public:
00036     static EncoderInterface* create();
00037 
00040     static void destroy(EncoderInterface* pIQEncoderInterface);
00041 
00042 protected:
00043     virtual ~EncoderInterface() {}
00044 
00045 public:
00046 
00049     virtual Settings* getSettingsApi() = 0;
00050 
00054     virtual void setFeedback(FeedbackInterface* pFeedbackInterface) = 0;
00055 
00056     virtual void setEncoderCallback(EncoderCallback* pCallback) = 0;
00057 
00060     virtual const char* getVersionInfo() const = 0;
00061 
00065     virtual void setFormatInput(const FormatInfo* pFormatInfo) = 0;
00066 
00071     virtual bool getFormatInput(FormatInfo* pFormatInfo) const = 0;
00072 
00077     virtual bool getFormatOutput(FormatInfo* pFormatInfo) const = 0;
00078 
00079 public: // Delivery API 
00080 
00086     virtual void deliverFrame(const FrameInput* pFrameInput) = 0;
00087 
00088 public: // Bitstream API #1
00089 
00095     virtual bool encodeFrame(FrameOutput* pFrameOutput, FrameResult* pFrameResult=0) = 0;
00096 
00097 public: // Bitstream API #2
00098 
00105     virtual bool encode(FrameOutput* pFrameOutput, FrameResult* pFrameResult=0) = 0;
00106 };
00107 
00108 
00109 #endif

Generated on Tue Jan 24 16:43:33 2006 for DivX Codec API Documentation.