Home | History | Annotate | Download | only in videocodec
      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         // Last input buffer timestamp
     32         OMX_TICKS mLastTimestamp;
     33 };
     34 
     35 #endif /* OMX_VIDEO_ENCODER_VP8_H */
     36