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 /libdce.c
parentd4d9938903b771da76960fd39470290db548a3d8 (diff)
downloadrepo-libdce-89c5d181a8e65e958e9e1c221d7f34984933d859.tar.gz
repo-libdce-89c5d181a8e65e958e9e1c221d7f34984933d859.tar.xz
repo-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>
Diffstat (limited to 'libdce.c')
-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 */