1 2 #ifndef OMX_VIDEO_ENCODER_VP8_H 3 #define OMX_VIDEO_ENCODER_VP8_H 4 5 #include <OMX_VideoExt.h> 6 #include "OMXVideoEncoderBase.h" 7 8 class OMXVideoEncoderVP8 : public OMXVideoEncoderBase { 9 public: 10 OMXVideoEncoderVP8(); 11 virtual ~OMXVideoEncoderVP8(); 12 protected: 13 virtual OMX_ERRORTYPE InitOutputPortFormatSpecific(OMX_PARAM_PORTDEFINITIONTYPE *paramPortDeninitionOutput); 14 virtual OMX_ERRORTYPE ProcessorInit(void); 15 virtual OMX_ERRORTYPE ProcessorDeinit(void); 16 virtual OMX_ERRORTYPE ProcessorProcess(OMX_BUFFERHEADERTYPE **buffers, buffer_retain_t *retains, OMX_U32 numberBuffers); 17 virtual OMX_ERRORTYPE BuildHandlerList(void); 18 virtual OMX_ERRORTYPE SetVideoEncoderParam(); 19 DECLARE_HANDLER(OMXVideoEncoderVP8, ParamVideoVp8); 20 DECLARE_HANDLER(OMXVideoEncoderVP8, ConfigVideoVp8ReferenceFrame); 21 DECLARE_HANDLER(OMXVideoEncoderVP8, ConfigVp8MaxFrameSizeRatio); 22 private: 23 enum { 24 OUTPORT_MIN_BUFFER_COUNT = 1, 25 OUTPORT_ACTUAL_BUFFER_COUNT = 2, 26 OUTPORT_BUFFER_SIZE = 1382400, 27 }; 28 29 OMX_VIDEO_PARAM_VP8TYPE mParamVp8; 30 OMX_VIDEO_VP8REFERENCEFRAMETYPE mConfigVideoVp8ReferenceFrame; 31 }; 32 33 #endif /* OMX_VIDEO_ENCODER_VP8_H */ 34