i, pExynosPort->extendBufferHeader[i].pYUVBuf[0], pExynosPort->extendBufferHeader[i].pYUVBuf[1]);
} else if ((pVideoDec->bDRMPlayerMode == OMX_TRUE) && (nPortIndex == INPUT_PORT_INDEX)) {
pExynosPort->extendBufferHeader[i].buf_fd[0] = (int)pBuffer;
- } else if(nPortIndex == INPUT_PORT_INDEX) {
- //tbm_surface_h surface = (tbm_surface_h) pBuffer;
- //temp_bufferHeader->pBuffer = tbm_bo_get_handle (tbm_surface_internal_get_bo(surface, 0), TBM_DEVICE_CPU).ptr;;
- temp_bufferHeader->pBuffer = pBuffer;
+ } else if (nPortIndex == INPUT_PORT_INDEX) {
+ temp_bufferHeader->pBuffer = tbm_bo_get_handle (tbm_surface_internal_get_bo((tbm_surface_h)pBuffer, 0), TBM_DEVICE_CPU).ptr;
}
#endif
*ppBufferHdr = temp_bufferHeader;
#include "Exynos_OSAL_Mutex.h"
#include "Exynos_OSAL_ETC.h"
#include "Exynos_OSAL_SharedMemory.h"
+#include <tbm_bufmgr.h>
+#include <tbm_surface.h>
+#include <tbm_surface_internal.h>
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_BUFFERHEADERTYPE *pTempBufferHdr = NULL;
OMX_U32 i = 0;
+ tbm_bo bo[2];
FunctionIn();
if (nPortIndex == OUTPUT_PORT_INDEX && pVideoEnc->bSharedOutputFD == OMX_TRUE)
pExynosPort->extendBufferHeader[i].buf_fd[0] = (int)(pBuffer); /*IL Client provides only FD value*/
- MMVideoBuffer * pSlpOutBuf = (MMVideoBuffer *)pBuffer;
+ tbm_surface_h surface = (tbm_surface_h)pBuffer;
+ bo[0] = tbm_surface_internal_get_bo(surface, 0);
+ bo[1] = tbm_surface_internal_get_bo(surface, 1);
- Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "fd[0] =%d, fd[1] =%d, vaddr[0] =%p, vaddr[1] = %p, y_size=%d, uv_size=%d\n",
- pSlpOutBuf->handle.dmabuf_fd[0], pSlpOutBuf->handle.dmabuf_fd[1], pSlpOutBuf->data[0], pSlpOutBuf->data[1],
- pSlpOutBuf->size[0],pSlpOutBuf->size[1]);
if(nPortIndex == OUTPUT_PORT_INDEX )
- pTempBufferHdr->pBuffer = pSlpOutBuf->data[0];
+ pTempBufferHdr->pBuffer = tbm_bo_get_handle((tbm_bo)pBuffer, TBM_DEVICE_CPU).ptr;
- pExynosPort->extendBufferHeader[i].buf_fd[0] = pSlpOutBuf->handle.dmabuf_fd[0];
- pExynosPort->extendBufferHeader[i].buf_fd[1] = pSlpOutBuf->handle.dmabuf_fd[1];
+ pExynosPort->extendBufferHeader[i].buf_fd[0] = tbm_bo_get_handle (bo[0], TBM_DEVICE_MM).u32;
+ pExynosPort->extendBufferHeader[i].buf_fd[1] = tbm_bo_get_handle (bo[1], TBM_DEVICE_MM).u32;;
pExynosPort->extendBufferHeader[i].buf_fd[2] = 0;
- pExynosPort->extendBufferHeader[i].pYUVBuf[0] = pSlpOutBuf->data[0];
- pExynosPort->extendBufferHeader[i].pYUVBuf[1] = pSlpOutBuf->data[1];
+ pExynosPort->extendBufferHeader[i].pYUVBuf[0] = tbm_bo_get_handle(bo[0], TBM_DEVICE_CPU).ptr;
+ pExynosPort->extendBufferHeader[i].pYUVBuf[1] = tbm_bo_get_handle(bo[1], TBM_DEVICE_CPU).ptr;
pExynosPort->extendBufferHeader[i].pYUVBuf[2] = NULL;
- pExynosPort->extendBufferHeader[i].tbm_bo[0] = pSlpOutBuf->handle.bo[0];
- pExynosPort->extendBufferHeader[i].tbm_bo[1] = pSlpOutBuf->handle.bo[1];
+ pExynosPort->extendBufferHeader[i].tbm_bo[0] = bo[0];
+ pExynosPort->extendBufferHeader[i].tbm_bo[1] = bo[1];
pExynosPort->extendBufferHeader[i].tbm_bo[2] = NULL;
- pExynosPort->extendBufferHeader[i].size[0] = pSlpOutBuf->size[0];
- pExynosPort->extendBufferHeader[i].size[1] = pSlpOutBuf->size[1];
+ pExynosPort->extendBufferHeader[i].size[0] = tbm_bo_size(bo[0]);
+ pExynosPort->extendBufferHeader[i].size[1] = tbm_bo_size(bo[1]);
pExynosPort->extendBufferHeader[i].size[2] = 0;
-
-
#endif
pExynosPort->assignedBufferNum++;
if (pExynosPort->assignedBufferNum == pExynosPort->portDefinition.nBufferCountActual) {