summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManikanta Sivapala <msivap@codeaurora.org>2015-07-30 12:29:12 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-11-05 04:32:21 -0800
commited97113cb7977bbcacaa7690e911243e696833cc (patch)
treee38da5f537bafea5add068ff2aa9815380866454
parent2bd086c452e9b5ea5fa9224012662f8045ef8295 (diff)
downloadandroid_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.h1
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_hevc_swvdec.cpp15
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;
}
}