diff options
| author | Yanli <yanli@yanli-HP-Compaq-8100-Elite-SFF-PC.(none)> | 2012-09-25 16:54:53 +0800 |
|---|---|---|
| committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:02:48 -0700 |
| commit | c28131c7f4fd7a6506e46cededc4ae2657dd75de (patch) | |
| tree | 4d19b9bf49bb86676de195604de3266313eb631e /videocodec/OMXVideoEncoderAVC.cpp | |
| parent | 5392514b1aff96ce5eb13b28fe2099d54bbd59d1 (diff) | |
| download | android_hardware_intel_common_omx-components-c28131c7f4fd7a6506e46cededc4ae2657dd75de.tar.gz android_hardware_intel_common_omx-components-c28131c7f4fd7a6506e46cededc4ae2657dd75de.tar.bz2 android_hardware_intel_common_omx-components-c28131c7f4fd7a6506e46cededc4ae2657dd75de.zip | |
omx-components: fix CTS MediaCodecListTest failure issue
BZ: 54024
Implement interface for GetParam with OMX_IndexParamVideoProfileLevelQuerySupported correctly for openmax encode component.
Change-Id: I29d318e62ee3d3b1a105b01b34af4576006997ac
Signed-off-by: Yanli <yanli@yanli-HP-Compaq-8100-Elite-SFF-PC.(none)>
Reviewed-on: http://android.intel.com:8080/67661
Reviewed-by: Yuan, Shengquan <shengquan.yuan@intel.com>
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/OMXVideoEncoderAVC.cpp')
| -rw-r--r-- | videocodec/OMXVideoEncoderAVC.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/videocodec/OMXVideoEncoderAVC.cpp b/videocodec/OMXVideoEncoderAVC.cpp index 9a39570..9a59485 100644 --- a/videocodec/OMXVideoEncoderAVC.cpp +++ b/videocodec/OMXVideoEncoderAVC.cpp @@ -466,9 +466,37 @@ OMX_ERRORTYPE OMXVideoEncoderAVC::BuildHandlerList(void) { AddHandler((OMX_INDEXTYPE)OMX_IndexConfigIntelSliceNumbers, GetConfigIntelSliceNumbers, SetConfigIntelSliceNumbers); AddHandler((OMX_INDEXTYPE)OMX_IndexParamIntelAVCVUI, GetParamIntelAVCVUI, SetParamIntelAVCVUI); AddHandler((OMX_INDEXTYPE)OMX_IndexParamVideoBytestream, GetParamVideoBytestream, SetParamVideoBytestream); + AddHandler((OMX_INDEXTYPE)OMX_IndexParamVideoProfileLevelQuerySupported, GetParamVideoProfileLevelQuerySupported, SetParamVideoProfileLevelQuerySupported); return OMX_ErrorNone; } +OMX_ERRORTYPE OMXVideoEncoderAVC::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_AVCProfileBaseline, OMX_VIDEO_AVCLevel41}, + }; + + 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 OMXVideoEncoderAVC::SetParamVideoProfileLevelQuerySupported(OMX_PTR pStructure) { + LOGW("SetParamVideoAVCProfileLevel is not supported."); + return OMX_ErrorUnsupportedSetting; +} + OMX_ERRORTYPE OMXVideoEncoderAVC::GetParamVideoAvc(OMX_PTR pStructure) { OMX_ERRORTYPE ret; OMX_VIDEO_PARAM_AVCTYPE *p = (OMX_VIDEO_PARAM_AVCTYPE *)pStructure; |
