diff options
| author | Manikanta Sivapala <msivap@codeaurora.org> | 2015-07-30 12:29:12 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-11-05 04:32:21 -0800 |
| commit | ed97113cb7977bbcacaa7690e911243e696833cc (patch) | |
| tree | e38da5f537bafea5add068ff2aa9815380866454 | |
| parent | 2bd086c452e9b5ea5fa9224012662f8045ef8295 (diff) | |
| download | android_hardware_qcom_media-ed97113cb7977bbcacaa7690e911243e696833cc.tar.gz android_hardware_qcom_media-ed97113cb7977bbcacaa7690e911243e696833cc.tar.bz2 android_hardware_qcom_media-ed97113cb7977bbcacaa7690e911243e696833cc.zip | |
mm-video-v4l2: Return supported profile and level
Return the profile and level supported by HEVC SW decoder
Change-Id: I272762941bd405cf5149d2b67716661268fa6388
| -rw-r--r-- | mm-video-v4l2/vidc/vdec/inc/omx_vdec_hevc_swvdec.h | 1 | ||||
| -rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_hevc_swvdec.cpp | 15 |
2 files changed, 10 insertions, 6 deletions
diff --git a/mm-video-v4l2/vidc/vdec/inc/omx_vdec_hevc_swvdec.h b/mm-video-v4l2/vidc/vdec/inc/omx_vdec_hevc_swvdec.h index f4b1c63c..00c5cec6 100644 --- a/mm-video-v4l2/vidc/vdec/inc/omx_vdec_hevc_swvdec.h +++ b/mm-video-v4l2/vidc/vdec/inc/omx_vdec_hevc_swvdec.h @@ -99,6 +99,7 @@ extern "C"{ #include "OMX_Core.h" #include "OMX_QCOMExtns.h" #include "OMX_Video.h" +#include "OMX_VideoExt.h" #include "qc_omx_component.h" #include <linux/msm_vidc_dec.h> #include <media/msm_vidc.h> diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_hevc_swvdec.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_hevc_swvdec.cpp index 73de601c..1a121182 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_hevc_swvdec.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_hevc_swvdec.cpp @@ -3038,22 +3038,25 @@ bool omx_vdec::post_event(unsigned long p1, OMX_ERRORTYPE omx_vdec::get_supported_profile_level_for_1080p(OMX_VIDEO_PARAM_PROFILELEVELTYPE *profileLevelType) { - OMX_ERRORTYPE eRet = OMX_ErrorNoMore; + OMX_ERRORTYPE eRet = OMX_ErrorNone; if(!profileLevelType) return OMX_ErrorBadParameter; - if(profileLevelType->nPortIndex == 0) { - if (!strncmp(drv_ctx.kind, "OMX.qcom.video.decoder.hevchybrid",OMX_MAX_STRINGNAME_SIZE) || - !strncmp(drv_ctx.kind, "OMX.qcom.video.decoder.hevcswvdec",OMX_MAX_STRINGNAME_SIZE) || - !strncmp(drv_ctx.kind, "OMX.qcom.video.decoder.hevc",OMX_MAX_STRINGNAME_SIZE) ) + if (!strncmp(drv_ctx.kind, "OMX.qcom.video.decoder.hevcswvdec",OMX_MAX_STRINGNAME_SIZE)) { + if(profileLevelType->nProfileIndex == 0) { + profileLevelType->eProfile = OMX_VIDEO_HEVCProfileMain; + profileLevelType->eLevel = OMX_VIDEO_HEVCMainTierLevel31; + } + else { DEBUG_PRINT_LOW("get_parameter: OMX_IndexParamVideoProfileLevelQuerySupported nProfileIndex ret NoMore %d", (int)profileLevelType->nProfileIndex); eRet = OMX_ErrorNoMore; + } } else { - DEBUG_PRINT_ERROR("get_parameter: OMX_IndexParamVideoProfileLevelQuerySupported nProfileIndex ret NoMore %lu", profileLevelType->nProfileIndex); + DEBUG_PRINT_ERROR("get_parameter: OMX_IndexParamVideoProfileLevelQuerySupported ret NoMore for codecs %s", drv_ctx.kind); eRet = OMX_ErrorNoMore; } } |
