diff options
-rw-r--r-- | mm-video-v4l2/vidc/vdec/inc/omx_vdec.h | 1 | ||||
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h index 780abfb7..352c2ec5 100644 --- a/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h +++ b/mm-video-v4l2/vidc/vdec/inc/omx_vdec.h @@ -861,6 +861,7 @@ class omx_vdec: public qc_omx_component bool m_use_android_native_buffers; bool m_debug_extradata; bool m_debug_concealedmb; + OMX_U32 m_conceal_color; #endif #ifdef MAX_RES_1080P MP4_Utils mp4_headerparser; diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp index 963d6253..e9213978 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp @@ -124,6 +124,7 @@ extern "C" { #define EXTRADATA_IDX(__num_planes) (__num_planes - 1) #define DEFAULT_EXTRADATA (OMX_INTERLACE_EXTRADATA) +#define DEFAULT_CONCEAL_COLOR "32896" //0x8080, black by default int debug_level = PRIO_ERROR; @@ -1429,6 +1430,7 @@ OMX_ERRORTYPE omx_vdec::component_init(OMX_STRING role) int r,ret=0; bool codec_ambiguous = false; OMX_STRING device_name = (OMX_STRING)"/dev/video/venus_dec"; + char property_value[PROPERTY_VALUE_MAX] = {0}; #ifdef _ANDROID_ char platform_name[PROPERTY_VALUE_MAX]; @@ -1673,6 +1675,16 @@ OMX_ERRORTYPE omx_vdec::component_init(OMX_STRING role) } } + property_get("persist.vidc.dec.conceal_color", property_value, DEFAULT_CONCEAL_COLOR); + m_conceal_color= atoi(property_value); + DEBUG_PRINT_HIGH("trying to set 0x%x as conceal color\n",m_conceal_color); + control.id = V4L2_CID_MPEG_VIDC_VIDEO_CONCEAL_COLOR; + control.value = m_conceal_color; + ret = ioctl(drv_ctx.video_driver_fd, VIDIOC_S_CTRL, &control); + if (ret) { + DEBUG_PRINT_ERROR("Failed to set conceal color %d\n", ret); + } + //Get the hardware capabilities memset((void *)&frmsize,0,sizeof(frmsize)); frmsize.index = 0; |