summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-01-08 02:21:57 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-01-08 02:21:57 -0800
commite51fdd934184ce9350300b8f682b779649fc0bdc (patch)
treeaac6f2af0aefce3884320f3dbde1c8d8b3d00f95
parent54f8421e275831b0a1ba74a324964dcaa7cd4ab0 (diff)
parent3a3c649623dc7c3b323fcc862376ea7fb15bddb9 (diff)
downloadandroid_hardware_qcom_media-e51fdd934184ce9350300b8f682b779649fc0bdc.tar.gz
android_hardware_qcom_media-e51fdd934184ce9350300b8f682b779649fc0bdc.tar.bz2
android_hardware_qcom_media-e51fdd934184ce9350300b8f682b779649fc0bdc.zip
Merge "mm-video: added a property "persist.vidc.dec.conceal_color""
-rw-r--r--mm-video-v4l2/vidc/vdec/inc/omx_vdec.h1
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp12
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;