diff options
| author | Yanli <yanli@yanli-HP-Compaq-8100-Elite-SFF-PC.(none)> | 2012-10-08 17:19:02 +0800 |
|---|---|---|
| committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:02:49 -0700 |
| commit | cae415b84125ffc14bfdb121394a60b74d506f48 (patch) | |
| tree | 0ad681c0a656bef3f4d554867ad493a22c4bede8 /videocodec/OMXVideoEncoderH263.cpp | |
| parent | eb4e0f24d9e07fc733cf93cc883ecb9ab830b896 (diff) | |
| download | android_hardware_intel_common_omx-components-cae415b84125ffc14bfdb121394a60b74d506f48.tar.gz android_hardware_intel_common_omx-components-cae415b84125ffc14bfdb121394a60b74d506f48.tar.bz2 android_hardware_intel_common_omx-components-cae415b84125ffc14bfdb121394a60b74d506f48.zip | |
omx-components: fix CTS MediaCodecListTest failure issue
BZ: 54024
Implement interface for GetParam with OMX_IndexParamVideoProfileLevelQuerySupported correctly for openmax encode component.
Change-Id: If53ca95e57b950e50b29c6efbc431d85b0839210
Signed-off-by: Zhang Yanli <yanli.l.zhang@intel.com>
Reviewed-on: http://android.intel.com:8080/69235
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'videocodec/OMXVideoEncoderH263.cpp')
| -rw-r--r-- | videocodec/OMXVideoEncoderH263.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/videocodec/OMXVideoEncoderH263.cpp b/videocodec/OMXVideoEncoderH263.cpp index 15572a4..00d66e7 100644 --- a/videocodec/OMXVideoEncoderH263.cpp +++ b/videocodec/OMXVideoEncoderH263.cpp @@ -40,7 +40,7 @@ OMX_ERRORTYPE OMXVideoEncoderH263::InitOutputPortFormatSpecific(OMX_PARAM_PORTDE mParamH263.nPortIndex = OUTPORT_INDEX; mParamH263.eProfile = OMX_VIDEO_H263ProfileBaseline; // TODO: check eLevel, 10 - mParamH263.eLevel = OMX_VIDEO_H263Level70; //OMX_VIDEO_H263Level10; + mParamH263.eLevel = OMX_VIDEO_H263Level45; //OMX_VIDEO_H263Level10; // override OMX_PARAM_PORTDEFINITIONTYPE paramPortDefinitionOutput->nBufferCountActual = OUTPORT_ACTUAL_BUFFER_COUNT; @@ -236,9 +236,37 @@ out: OMX_ERRORTYPE OMXVideoEncoderH263::BuildHandlerList(void) { OMXVideoEncoderBase::BuildHandlerList(); AddHandler(OMX_IndexParamVideoH263, GetParamVideoH263, SetParamVideoH263); + AddHandler(OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported); return OMX_ErrorNone; } +OMX_ERRORTYPE OMXVideoEncoderH263::GetParamVideoProfileLevelQuerySupported(OMX_PTR pStructure) { + OMX_ERRORTYPE ret; + OMX_VIDEO_PARAM_PROFILELEVELTYPE *p = (OMX_VIDEO_PARAM_PROFILELEVELTYPE *)pStructure; + CHECK_TYPE_HEADER(p); + CHECK_PORT_INDEX(p, OUTPORT_INDEX); + + struct ProfileLevelTable { + OMX_U32 profile; + OMX_U32 level; + } plTable[] = { + {OMX_VIDEO_H263ProfileBaseline, OMX_VIDEO_H263Level45} + }; + + OMX_U32 count = sizeof(plTable)/sizeof(ProfileLevelTable); + CHECK_ENUMERATION_RANGE(p->nProfileIndex,count); + + p->eProfile = plTable[p->nProfileIndex].profile; + p->eLevel = plTable[p->nProfileIndex].level; + + return OMX_ErrorNone; +} + +OMX_ERRORTYPE OMXVideoEncoderH263::SetParamVideoProfileLevelQuerySupported(OMX_PTR pStructure) { + LOGW("SetParamVideoH263ProfileLevel is not supported."); + return OMX_ErrorUnsupportedSetting; +} + OMX_ERRORTYPE OMXVideoEncoderH263::GetParamVideoH263(OMX_PTR pStructure) { OMX_ERRORTYPE ret; OMX_VIDEO_PARAM_H263TYPE *p = (OMX_VIDEO_PARAM_H263TYPE *)pStructure; |
