• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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