diff options
author | Pradeep Venkatasubbarao | 2014-08-17 21:53:56 -0500 |
---|---|---|
committer | Pradeep Venkatasubbarao | 2014-08-17 22:04:05 -0500 |
commit | 89c5d181a8e65e958e9e1c221d7f34984933d859 (patch) | |
tree | 5d4723c47b4ed03d0b156b16200f0f8f8d68150f /libdce.c | |
parent | d4d9938903b771da76960fd39470290db548a3d8 (diff) | |
download | repo-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.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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 */ |