#ifndef OMX_VIDEO_ENCODER_VP8_H #define OMX_VIDEO_ENCODER_VP8_H #include <OMX_VideoExt.h> #include "OMXVideoEncoderBase.h" class OMXVideoEncoderVP8 : public OMXVideoEncoderBase { public: OMXVideoEncoderVP8(); virtual ~OMXVideoEncoderVP8(); protected: virtual OMX_ERRORTYPE InitOutputPortFormatSpecific(OMX_PARAM_PORTDEFINITIONTYPE *paramPortDeninitionOutput); virtual OMX_ERRORTYPE ProcessorInit(void); virtual OMX_ERRORTYPE ProcessorDeinit(void); virtual OMX_ERRORTYPE ProcessorProcess(OMX_BUFFERHEADERTYPE **buffers, buffer_retain_t *retains, OMX_U32 numberBuffers); virtual OMX_ERRORTYPE BuildHandlerList(void); virtual OMX_ERRORTYPE SetVideoEncoderParam(); DECLARE_HANDLER(OMXVideoEncoderVP8, ParamVideoVp8); DECLARE_HANDLER(OMXVideoEncoderVP8, ConfigVideoVp8ReferenceFrame); DECLARE_HANDLER(OMXVideoEncoderVP8, ConfigVp8MaxFrameSizeRatio); private: enum { OUTPORT_MIN_BUFFER_COUNT = 1, OUTPORT_ACTUAL_BUFFER_COUNT = 2, OUTPORT_BUFFER_SIZE = 1382400, }; OMX_VIDEO_PARAM_VP8TYPE mParamVp8; OMX_VIDEO_VP8REFERENCEFRAMETYPE mConfigVideoVp8ReferenceFrame; // Last input buffer timestamp OMX_TICKS mLastTimestamp; }; #endif /* OMX_VIDEO_ENCODER_VP8_H */