aboutsummaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorTao Tao <tao.q.tao@intel.com>2010-05-28 17:02:16 -0700
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:03:36 -0700
commitf736a6653037f3d41c3fefe80e17c0212e28db2c (patch)
treeb2000914a8ee309e6abe0e14637bd9d95e41afb2 /base
parent58b405723e007724fd1f336c1286d19e878b058e (diff)
downloadwrs_omxil_core-f736a6653037f3d41c3fefe80e17c0212e28db2c.tar.gz
Merge of 0427 GAID fixes
Change-Id: Ia33c9e1c3e21e9f68c867a1b5f8616c0afcd056e
Diffstat (limited to 'base')
-rw-r--r--base/inc/portvideo.h6
-rw-r--r--base/src/portvideo.cpp32
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()