diff options
author | Tao Tao <tao.q.tao@intel.com> | 2010-05-28 17:02:16 -0700 |
---|---|---|
committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:03:36 -0700 |
commit | f736a6653037f3d41c3fefe80e17c0212e28db2c (patch) | |
tree | b2000914a8ee309e6abe0e14637bd9d95e41afb2 /base | |
parent | 58b405723e007724fd1f336c1286d19e878b058e (diff) | |
download | wrs_omxil_core-f736a6653037f3d41c3fefe80e17c0212e28db2c.tar.gz |
Merge of 0427 GAID fixes
Change-Id: Ia33c9e1c3e21e9f68c867a1b5f8616c0afcd056e
Diffstat (limited to 'base')
-rw-r--r-- | base/inc/portvideo.h | 6 | ||||
-rw-r--r-- | base/src/portvideo.cpp | 32 |
2 files changed, 38 insertions, 0 deletions
diff --git a/base/inc/portvideo.h b/base/inc/portvideo.h index 2c07834..d603fae 100644 --- a/base/inc/portvideo.h +++ b/base/inc/portvideo.h @@ -33,8 +33,14 @@ public: const OMX_VIDEO_PARAM_PORTFORMATTYPE *videoparam, bool internal); const OMX_VIDEO_PARAM_PORTFORMATTYPE *GetPortVideoParam(void); + OMX_ERRORTYPE SetPortBitrateParam( + const OMX_VIDEO_PARAM_BITRATETYPE *bitrateparam, bool internal); + const OMX_VIDEO_PARAM_BITRATETYPE *GetPortBitrateParam(void); + private: OMX_VIDEO_PARAM_PORTFORMATTYPE videoparam; + + OMX_VIDEO_PARAM_BITRATETYPE bitrateparam; }; /* end of PortVideo */ diff --git a/base/src/portvideo.cpp b/base/src/portvideo.cpp index cdc340d..006d2f0 100644 --- a/base/src/portvideo.cpp +++ b/base/src/portvideo.cpp @@ -37,6 +37,12 @@ PortVideo::PortVideo() videoparam.eCompressionFormat = OMX_VIDEO_CodingUnused; videoparam.eColorFormat = OMX_COLOR_FormatYUV420Planar; videoparam.xFramerate = 15 << 16; + + memset(&bitrateparam, 0, sizeof(bitrateparam)); + ComponentBase::SetTypeHeader(&bitrateparam, sizeof(bitrateparam)); + + bitrateparam.eControlRate = OMX_Video_ControlRateConstant; + bitrateparam.nTargetBitrate = 64000; } OMX_ERRORTYPE PortVideo::SetPortVideoParam( @@ -67,6 +73,32 @@ const OMX_VIDEO_PARAM_PORTFORMATTYPE *PortVideo::GetPortVideoParam(void) return &videoparam; } +OMX_ERRORTYPE PortVideo::SetPortBitrateParam( + const OMX_VIDEO_PARAM_BITRATETYPE *p, bool internal) +{ + if (!internal) { + OMX_ERRORTYPE ret; + + ret = ComponentBase::CheckTypeHeader((void *)p, sizeof(*p)); + if (ret != OMX_ErrorNone) + return ret; + if (bitrateparam.nPortIndex != p->nPortIndex) + return OMX_ErrorBadPortIndex; + } + else + bitrateparam.nPortIndex = p->nPortIndex; + + bitrateparam.eControlRate = p->eControlRate; + bitrateparam.nTargetBitrate = p->nTargetBitrate; + + return OMX_ErrorNone; +} + +const OMX_VIDEO_PARAM_BITRATETYPE *PortVideo::GetPortBitrateParam(void) +{ + return &bitrateparam; +} + /* end of PortVideo */ PortAvc::PortAvc() |