diff options
author | Scott Mertz <scott@cyngn.com> | 2016-05-02 12:05:24 -0700 |
---|---|---|
committer | Scott Mertz <scott@cyngn.com> | 2016-05-02 12:05:30 -0700 |
commit | 17c36140484853b4b7bd46fc12dfb671a474d98b (patch) | |
tree | a113f534b2e6b1982c6231ef74c2ec2ae43d5fdb | |
parent | 6060ede5605579bf674c6d2f397f09de91e76b50 (diff) | |
parent | 9f9ad5ab4f5f94318cbf51f40d80084bca6e304e (diff) | |
download | android_hardware_qcom_media-17c36140484853b4b7bd46fc12dfb671a474d98b.tar.gz android_hardware_qcom_media-17c36140484853b4b7bd46fc12dfb671a474d98b.tar.bz2 android_hardware_qcom_media-17c36140484853b4b7bd46fc12dfb671a474d98b.zip |
Merge remote-tracking branch 'caf/LA.HB.1.3.1' into HEAD
Change-Id: Ic2298d56a02cdec757f2a1de1fc44c5821da61bd
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp index 69eaf1c4..0c8996a5 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp @@ -9670,10 +9670,24 @@ OMX_ERRORTYPE omx_vdec::update_portdef(OMX_PARAM_PORTDEFINITIONTYPE *portDefn) fmt.fmt.pix_mp.pixelformat = output_capability; } else if (1 == portDefn->nPortIndex) { unsigned int buf_size = 0; + int ret = 0; if (!client_buffers.update_buffer_req()) { DEBUG_PRINT_ERROR("client_buffers.update_buffer_req Failed"); return OMX_ErrorHardware; } + + memset(&fmt, 0x0, sizeof(struct v4l2_format)); + fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; + fmt.fmt.pix_mp.pixelformat = capture_capability; + ret = ioctl(drv_ctx.video_driver_fd, VIDIOC_G_FMT, &fmt); + if (ret) { + DEBUG_PRINT_ERROR("Get Resolution failed"); + return OMX_ErrorHardware; + } + drv_ctx.op_buf.buffer_size = fmt.fmt.pix_mp.plane_fmt[0].sizeimage; + drv_ctx.op_buf.buffer_size += drv_ctx.extradata_info.buffer_size; + drv_ctx.op_buf.buffer_size = (drv_ctx.op_buf.buffer_size + drv_ctx.op_buf.alignment - 1)&(~(drv_ctx.op_buf.alignment - 1)); + if (!client_buffers.get_buffer_req(buf_size)) { DEBUG_PRINT_ERROR("update buffer requirements"); return OMX_ErrorHardware; |