summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShivaprasad Hongal <shongal@codeaurora.org>2015-08-17 15:19:40 -0700
committerPatrick Tjin <pattjin@google.com>2015-08-19 08:35:26 -0700
commitf23399fbd9d7bcdd9067a4881218ac16779ffebc (patch)
tree1d0fe3a45a35156bea0de3d842bcf6d25ec8e6d4
parent38bb5a473d10ab6a86caa32e1a587f41e94ca500 (diff)
downloadandroid_hardware_qcom_media-f23399fbd9d7bcdd9067a4881218ac16779ffebc.tar.gz
android_hardware_qcom_media-f23399fbd9d7bcdd9067a4881218ac16779ffebc.tar.bz2
android_hardware_qcom_media-f23399fbd9d7bcdd9067a4881218ac16779ffebc.zip
mm-video-v4l2: vdec: Disable input buffer cached-allocations.
Disable input buffer cacheing as cache flush is causing higher CPU utilization and resulting in power regression for video playback power. Bug: 21816928 Change-Id: I014b13e48793162f7905d916b92e8466de020472
-rw-r--r--mm-video-v4l2/vidc/vdec.mk1
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp8
2 files changed, 8 insertions, 1 deletions
diff --git a/mm-video-v4l2/vidc/vdec.mk b/mm-video-v4l2/vidc/vdec.mk
index c4079b19..ffee562d 100644
--- a/mm-video-v4l2/vidc/vdec.mk
+++ b/mm-video-v4l2/vidc/vdec.mk
@@ -42,6 +42,7 @@ libOmxVdec-def += -DMAX_RES_1080P_EBI
libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT
libOmxVdec-def += -D_MSM8974_
libOmxVdec-def += -D_HEVC_USE_ADSP_HEAP_
+libOmxVdec-def += -DDISABLE_INPUT_BUFFER_CACHE
endif
ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
libOmxVdec-def += -DMAX_RES_720P
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 2e840c12..22115b3d 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
@@ -5361,7 +5361,13 @@ OMX_ERRORTYPE omx_vdec::allocate_input_buffer(
drv_ctx.ip_buf_ion_info[i].ion_device_fd = alloc_map_ion_memory(
drv_ctx.ip_buf.buffer_size,drv_ctx.op_buf.alignment,
&drv_ctx.ip_buf_ion_info[i].ion_alloc_data,
- &drv_ctx.ip_buf_ion_info[i].fd_ion_data, secure_mode ? ION_SECURE : ION_FLAG_CACHED);
+ &drv_ctx.ip_buf_ion_info[i].fd_ion_data, secure_mode ? ION_SECURE
+#ifndef DISABLE_INPUT_BUFFER_CACHE
+ : ION_FLAG_CACHED
+#else
+ : 0
+#endif
+ );
if (drv_ctx.ip_buf_ion_info[i].ion_device_fd < 0) {
return OMX_ErrorInsufficientResources;
}