aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPradeep Venkatasubbarao2014-08-17 21:53:56 -0500
committerPradeep Venkatasubbarao2014-08-17 22:04:05 -0500
commit89c5d181a8e65e958e9e1c221d7f34984933d859 (patch)
tree5d4723c47b4ed03d0b156b16200f0f8f8d68150f
parentd4d9938903b771da76960fd39470290db548a3d8 (diff)
downloadhardware-ti-libdce-89c5d181a8e65e958e9e1c221d7f34984933d859.tar.gz
hardware-ti-libdce-89c5d181a8e65e958e9e1c221d7f34984933d859.tar.xz
hardware-ti-libdce-89c5d181a8e65e958e9e1c221d7f34984933d859.zip
[VIDENC2] Single planar support for encoder input
This patch adds support for single planar buffers (Y and UV) in a single buffer sharing the same dma buf fd. In the case of single planar buffers the offset of uv data need to passed to rpc. This logic has been added in this patch. The patch s specific to LINUX and will not have any effect on QNX and Android builds. Change-Id: Ib4be4b8f1df36a1dc8d53eb0299189802ce040ca Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
-rw-r--r--libdce.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libdce.c b/libdce.c
index 4c20a3d..3d4765b 100644
--- a/libdce.c
+++ b/libdce.c
@@ -624,7 +624,17 @@ static XDAS_Int32 process(void *codec, void *inBufs, void *outBufs,
624 Fill_MmRpc_fxnCtx_Xlt_Array(&(fxnCtx.xltAry[total_count]), INBUFS_INDEX, 624 Fill_MmRpc_fxnCtx_Xlt_Array(&(fxnCtx.xltAry[total_count]), INBUFS_INDEX,
625 MmRpc_OFFSET((int32_t)inBufs, (int32_t)data_buf), 625 MmRpc_OFFSET((int32_t)inBufs, (int32_t)data_buf),
626 (size_t)*data_buf, (size_t)*data_buf); 626 (size_t)*data_buf, (size_t)*data_buf);
627#endif 627#ifdef BUILDOS_LINUX
628 if(count == CHROMA_BUF && codec_id == OMAP_DCE_VIDENC2 ){
629 if(((IVIDEO2_BufDesc *)inBufs)->planeDesc[count].memType == XDM_MEMTYPE_RAW ||
630 ((IVIDEO2_BufDesc *)inBufs)->planeDesc[count].memType == XDM_MEMTYPE_TILEDPAGE )
631 *data_buf += ((IVIDEO2_BufDesc *)inBufs)->planeDesc[LUMA_BUF].bufSize.bytes;
632 else
633 *data_buf += ((IVIDEO2_BufDesc *)inBufs)->planeDesc[LUMA_BUF].bufSize.tileMem.width *
634 ((IVIDEO2_BufDesc *)inBufs)->planeDesc[LUMA_BUF].bufSize.tileMem.height;
635 }
636#endif //BUILDOS_LINUX
637#endif //BUILDOS_ANDROID
628 } 638 }
629 639
630 /* Output Buffers */ 640 /* Output Buffers */