for callback invoke when resolution is changed
[platform/adaptation/ap_samsung/libomxil-e3250-v4l2.git] / openmax / component / video / enc / Exynos_OMX_VencControl.c
old mode 100644 (file)
new mode 100755 (executable)
index 49203f5..7053059
@@ -27,6 +27,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <mm_types.h>
 #include "Exynos_OMX_Macros.h"
 #include "Exynos_OSAL_Event.h"
 #include "Exynos_OMX_Venc.h"
@@ -126,9 +127,35 @@ OMX_ERRORTYPE Exynos_OMX_UseBuffer(
                 pTempBufferHdr->nInputPortIndex = INPUT_PORT_INDEX;
             else
                 pTempBufferHdr->nOutputPortIndex = OUTPUT_PORT_INDEX;
-#ifdef SLP_PLATFORM
+#ifdef TIZEN_FEATURE_E3250
             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;
+
+            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->handle.paddr[0];
+
+            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[2] = 0;
+
+            pExynosPort->extendBufferHeader[i].pYUVBuf[0] = pSlpOutBuf->data[0];
+            pExynosPort->extendBufferHeader[i].pYUVBuf[1] = pSlpOutBuf->data[1];
+            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[2] = NULL;
+
+            //pExynosPort->extendBufferHeader[i].size[0] = pSlpOutBuf->size[0];
+            //pExynosPort->extendBufferHeader[i].size[1] = pSlpOutBuf->size[1];
+            //pExynosPort->extendBufferHeader[i].size[2] = 0;
+
+
 #endif
             pExynosPort->assignedBufferNum++;
             if (pExynosPort->assignedBufferNum == pExynosPort->portDefinition.nBufferCountActual) {
@@ -452,7 +479,7 @@ OMX_ERRORTYPE Exynos_OMX_FlushPort(
     int                       i                 = 0;
 
     FunctionIn();
-#ifdef SLP_PLATFORM
+#ifdef TIZEN_FEATURE_E3250
     Exynos_OSAL_Log(EXYNOS_LOG_WARNING, "flushPort idx:%d", nPortIndex);
 #endif
 
@@ -567,7 +594,7 @@ OMX_ERRORTYPE Exynos_OMX_BufferFlush(
     OMX_U32                          i                  = 0;
 
     FunctionIn();
-#ifdef SLP_PLATFORM
+#ifdef TIZEN_FEATURE_E3250
     Exynos_OSAL_Log(EXYNOS_LOG_WARNING, "bufferFlush idx:%d", nPortIndex);
 #endif
 
@@ -845,7 +872,7 @@ OMX_ERRORTYPE Exynos_InputBufferGetQueue(
 
             Exynos_OSAL_Free(pMessage);
 
-#ifndef SLP_PLATFORM
+#ifndef TIZEN_FEATURE_E3250
             if (pDataBuffer->allocSize <= pDataBuffer->dataLen)
                 Exynos_OSAL_Log(EXYNOS_LOG_WARNING, "Input Buffer Full, Check input buffer size! allocSize:%d, dataLen:%d", pDataBuffer->allocSize, pDataBuffer->dataLen);
 #endif
@@ -1307,7 +1334,7 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
                 pPortFormat->xFramerate         = pPortDef->format.video.xFramerate;
                 break;
             case supportFormat_4:
-#ifdef SLP_PLATFORM
+#ifdef TIZEN_FEATURE_E3250
                 Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "can not support this format");
 #else
                 pPortFormat->eCompressionFormat = OMX_VIDEO_CodingUnused;