Remove build warnings and fixed svace issues
[platform/adaptation/ap_samsung/libomxil-e3250-v4l2.git] / openmax / component / video / dec / Exynos_OMX_Vdec.c
old mode 100644 (file)
new mode 100755 (executable)
index d426153..3fa4f06
 #include "Exynos_OMX_Vdec.h"
 #include "Exynos_OMX_VdecControl.h"
 #include "Exynos_OMX_Basecomponent.h"
+#include "Exynos_OMX_Baseport.h"
 #include "Exynos_OSAL_Thread.h"
 #include "Exynos_OSAL_Semaphore.h"
 #include "Exynos_OSAL_Mutex.h"
 #include "Exynos_OSAL_ETC.h"
+#include "Exynos_OSAL_SharedMemory.h"
 
 #ifdef USE_PB
 #include "Exynos_OSAL_Platform_Specific.h"
@@ -173,7 +175,6 @@ OMX_BOOL Exynos_Check_BufferProcess_State(EXYNOS_OMX_BASECOMPONENT *pExynosCompo
 OMX_ERRORTYPE Exynos_Input_CodecBufferToData(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_PTR codecBuffer, EXYNOS_OMX_DATA *pData)
 {
     OMX_ERRORTYPE                  ret = OMX_ErrorNone;
-    EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
     CODEC_DEC_BUFFER *pInputCodecBuffer = (CODEC_DEC_BUFFER *)codecBuffer;
 
     pData->buffer.singlePlaneBuffer.dataBuffer = pInputCodecBuffer->pVirAddr[0];
@@ -217,8 +218,6 @@ OMX_ERRORTYPE Exynos_Output_CodecBufferToData(EXYNOS_OMX_BASECOMPONENT *pExynosC
 
 void Exynos_Wait_ProcessPause(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 nPortIndex)
 {
-    EXYNOS_OMX_BASEPORT *exynosOMXInputPort  = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
-    EXYNOS_OMX_BASEPORT *exynosOMXOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
     EXYNOS_OMX_BASEPORT *exynosOMXPort = NULL;
 
     FunctionIn();
@@ -249,7 +248,6 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
     EXYNOS_OMX_BASEPORT           *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
 
     EXYNOS_OMX_DATABUFFER         *outputUseBuffer  = &exynosOutputPort->way.port2WayDataBuffer.outputDataBuffer;
-    OMX_U32                        copySize         = 0;
     DECODE_CODEC_EXTRA_BUFFERINFO *pBufferInfo      = NULL;
 #ifdef TIZEN_FEATURE_E3250
     MMVideoBuffer *pSlpOutBuf = NULL;
@@ -313,8 +311,7 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
                     pSlpOutBuf->handle.dmabuf_fd[2]);
 
     ret = OMX_TRUE;
-    goto EXIT;
-#endif
+#else
 
     pSrcBuf[0] = dstOutputData->buffer.multiPlaneBuffer.dataBuffer[0];
     pSrcBuf[1] = dstOutputData->buffer.multiPlaneBuffer.dataBuffer[1];
@@ -327,9 +324,9 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
     csc_get_method(pVideoDec->csc_handle, &csc_method);
 #ifdef USE_DMA_BUF
     if (csc_method == CSC_METHOD_HW) {
-        pSrcBuf[0] = dstOutputData->buffer.multiPlaneBuffer.fd[0];
-        pSrcBuf[1] = dstOutputData->buffer.multiPlaneBuffer.fd[1];
-        pSrcBuf[2] = dstOutputData->buffer.multiPlaneBuffer.fd[2];
+        pSrcBuf[0] = (unsigned char *)(&dstOutputData->buffer.multiPlaneBuffer.fd[0]);
+        pSrcBuf[1] = (unsigned char *)(&dstOutputData->buffer.multiPlaneBuffer.fd[1]);
+        pSrcBuf[2] = (unsigned char *)(&dstOutputData->buffer.multiPlaneBuffer.fd[2]);
     }
 #endif
 
@@ -356,7 +353,7 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
 #ifdef USE_DMA_BUF
     if ((exynosOutputPort->bIsPBEnabled == OMX_FALSE) &&
         (csc_method == CSC_METHOD_HW)) {
-        pYUVBuf[0] = Exynos_OSAL_SharedMemory_VirtToION(pVideoDec->hSharedMemory, pOutputBuf);
+        pYUVBuf[0] = Exynos_OSAL_SharedMemory_VirtToION(pVideoDec->hSharedMemory, (OMX_PTR)pOutputBuf);
         pYUVBuf[1] = NULL;
         pYUVBuf[2] = NULL;
     }
@@ -402,7 +399,7 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
         ret = OMX_FALSE;
     else
         ret = OMX_TRUE;
-
+#endif
 #ifdef USE_PB
     if (exynosOutputPort->bIsPBEnabled == OMX_TRUE) {
 #ifdef TIZEN_FEATURE_E3250
@@ -423,7 +420,6 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
 {
     OMX_BOOL               ret = OMX_FALSE;
     EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
-    EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
     EXYNOS_OMX_BASEPORT      *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
     EXYNOS_OMX_DATABUFFER    *inputUseBuffer = &exynosInputPort->way.port2WayDataBuffer.inputDataBuffer;
     OMX_U32                copySize = 0;
@@ -445,6 +441,7 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
             Exynos_Shared_BufferToData(inputUseBuffer, srcInputData, ONE_PLANE);
 
 #ifndef TIZEN_FEATURE_E3250
+            EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
             if (pVideoDec->bDRMPlayerMode == OMX_TRUE) {
                 OMX_PTR dataBuffer = NULL;
 
@@ -526,12 +523,10 @@ OMX_BOOL Exynos_Postprocess_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
 {
     OMX_BOOL                   ret = OMX_FALSE;
     EXYNOS_OMX_BASECOMPONENT  *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
-    EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
     EXYNOS_OMX_BASEPORT       *exynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
     EXYNOS_OMX_BASEPORT       *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX]; 
     EXYNOS_OMX_DATABUFFER     *outputUseBuffer = &exynosOutputPort->way.port2WayDataBuffer.outputDataBuffer;
     OMX_U32                    copySize = 0;
-    DECODE_CODEC_EXTRA_BUFFERINFO *pBufferInfo = NULL;
 
     FunctionIn();
 
@@ -585,15 +580,7 @@ OMX_BOOL Exynos_Postprocess_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
         }
 
         if (exynosOutputPort->bufferProcessType & BUFFER_COPY) {
-            OMX_U32 width = 0, height = 0;
-            int imageSize = 0;
-            void *pOutputBuf = (void *)outputUseBuffer->bufferHeader->pBuffer;
-
-            pBufferInfo = (DECODE_CODEC_EXTRA_BUFFERINFO *)dstOutputData->extInfo;
-
-            width = pBufferInfo->imageWidth;
-            height = pBufferInfo->imageHeight;
-            imageSize = width * height;
+            //void *pOutputBuf = (void *)outputUseBuffer->bufferHeader->pBuffer;
 
             if ((dstOutputData->remainDataLen <= (outputUseBuffer->allocSize - outputUseBuffer->dataLen)) &&
                 (!CHECK_PORT_BEING_FLUSHED(exynosOutputPort))) {
@@ -685,7 +672,6 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
     EXYNOS_OMX_DATABUFFER    *srcInputUseBuffer = &exynosInputPort->way.port2WayDataBuffer.inputDataBuffer;
     EXYNOS_OMX_DATA          *pSrcInputData = &exynosInputPort->processData;
     OMX_BOOL               bCheckInputData = OMX_FALSE;
-    OMX_BOOL               bValidCodecData = OMX_FALSE;
     OMX_BOOL               bCodecConfigured = OMX_FALSE;
 
     FunctionIn();
@@ -699,13 +685,13 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
             Exynos_OSAL_SleepMillisec(0);
 
             if ((CHECK_PORT_BEING_FLUSHED(exynosInputPort)) ||
-                ((exynosOutputPort->exceptionFlag == NEED_PORT_DISABLE) && (ret == OMX_ErrorInputDataDecodeYet)))
+                ((exynosOutputPort->exceptionFlag == NEED_PORT_DISABLE) && (ret == (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet)))
                 break;
             if (exynosInputPort->portState != OMX_StateIdle)
                 break;
 
             Exynos_OSAL_MutexLock(srcInputUseBuffer->bufferMutex);
-            if (ret != OMX_ErrorInputDataDecodeYet) {
+            if (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) {
                 if (exynosInputPort->bufferProcessType & BUFFER_COPY) {
                     OMX_PTR codecBuffer;
 
@@ -751,7 +737,7 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
 
             ret = pVideoDec->exynos_codec_srcInputProcess(pOMXComponent, pSrcInputData);
 
-               if (ret == OMX_ErrorCorruptedFrame) {
+               if (ret == (OMX_ERRORTYPE)OMX_ErrorCorruptedFrame) {
                 if (exynosInputPort->bufferProcessType & BUFFER_COPY) {
                     OMX_PTR codecBuffer;
                     codecBuffer = pSrcInputData->pPrivate;
@@ -764,17 +750,15 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
                 }
             }
 
-            if (ret != OMX_ErrorInputDataDecodeYet) {
+            if (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) {
                 Exynos_ResetCodecData(pSrcInputData);
             }
             Exynos_OSAL_MutexUnlock(srcInputUseBuffer->bufferMutex);
-            if (ret == OMX_ErrorCodecInit)
+            if (ret == (OMX_ERRORTYPE)OMX_ErrorCodecInit)
                 pVideoDec->bExitBufferProcessThread = OMX_TRUE;
         }
     }
 
-EXIT:
-
     FunctionOut();
 
     return ret;
@@ -825,8 +809,6 @@ OMX_ERRORTYPE Exynos_OMX_SrcOutputBufferProcess(OMX_HANDLETYPE hComponent)
         }
     }
 
-EXIT:
-
     FunctionOut();
 
     return ret;
@@ -858,7 +840,7 @@ OMX_ERRORTYPE Exynos_OMX_DstInputBufferProcess(OMX_HANDLETYPE hComponent)
                 break;
 
             Exynos_OSAL_MutexLock(dstInputUseBuffer->bufferMutex);
-            if (ret != OMX_ErrorOutputBufferUseYet) {
+            if (ret != (OMX_ERRORTYPE)OMX_ErrorOutputBufferUseYet) {
                 if (exynosOutputPort->bufferProcessType & BUFFER_COPY) {
                     OMX_PTR codecBuffer;
                     ret = Exynos_CodecBufferDeQueue(pExynosComponent, OUTPUT_PORT_INDEX, &codecBuffer);
@@ -900,15 +882,13 @@ OMX_ERRORTYPE Exynos_OMX_DstInputBufferProcess(OMX_HANDLETYPE hComponent)
             }
 
             ret = pVideoDec->exynos_codec_dstInputProcess(pOMXComponent, &dstInputData);
-            if (ret != OMX_ErrorOutputBufferUseYet) {
+            if (ret != (OMX_ERRORTYPE)OMX_ErrorOutputBufferUseYet) {
                 Exynos_ResetCodecData(&dstInputData);
             }
             Exynos_OSAL_MutexUnlock(dstInputUseBuffer->bufferMutex);
         }
     }
 
-EXIT:
-
     FunctionOut();
 
     return ret;
@@ -973,8 +953,6 @@ OMX_ERRORTYPE Exynos_OMX_DstOutputBufferProcess(OMX_HANDLETYPE hComponent)
         }
     }
 
-EXIT:
-
     FunctionOut();
 
     return ret;
@@ -984,8 +962,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcInputProcessThread(OMX_PTR threadData)
 {
     OMX_ERRORTYPE          ret = OMX_ErrorNone;
     OMX_COMPONENTTYPE     *pOMXComponent = NULL;
-    EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
-    EXYNOS_OMX_MESSAGE       *message = NULL;
 
     FunctionIn();
 
@@ -998,7 +974,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcInputProcessThread(OMX_PTR threadData)
     if (ret != OMX_ErrorNone) {
         goto EXIT;
     }
-    pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     Exynos_OMX_SrcInputBufferProcess(pOMXComponent);
 
     Exynos_OSAL_ThreadExit(NULL);
@@ -1013,8 +988,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcOutputProcessThread(OMX_PTR threadData)
 {
     OMX_ERRORTYPE          ret = OMX_ErrorNone;
     OMX_COMPONENTTYPE     *pOMXComponent = NULL;
-    EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
-    EXYNOS_OMX_MESSAGE       *message = NULL;
 
     FunctionIn();
 
@@ -1027,7 +1000,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcOutputProcessThread(OMX_PTR threadData)
     if (ret != OMX_ErrorNone) {
         goto EXIT;
     }
-    pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     Exynos_OMX_SrcOutputBufferProcess(pOMXComponent);
 
     Exynos_OSAL_ThreadExit(NULL);
@@ -1042,8 +1014,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstInputProcessThread(OMX_PTR threadData)
 {
     OMX_ERRORTYPE          ret = OMX_ErrorNone;
     OMX_COMPONENTTYPE     *pOMXComponent = NULL;
-    EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
-    EXYNOS_OMX_MESSAGE       *message = NULL;
 
     FunctionIn();
 
@@ -1056,7 +1026,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstInputProcessThread(OMX_PTR threadData)
     if (ret != OMX_ErrorNone) {
         goto EXIT;
     }
-    pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     Exynos_OMX_DstInputBufferProcess(pOMXComponent);
 
     Exynos_OSAL_ThreadExit(NULL);
@@ -1071,8 +1040,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstOutputProcessThread(OMX_PTR threadData)
 {
     OMX_ERRORTYPE          ret = OMX_ErrorNone;
     OMX_COMPONENTTYPE     *pOMXComponent = NULL;
-    EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
-    EXYNOS_OMX_MESSAGE       *message = NULL;
 
     FunctionIn();
 
@@ -1085,7 +1052,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstOutputProcessThread(OMX_PTR threadData)
     if (ret != OMX_ErrorNone) {
         goto EXIT;
     }
-    pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     Exynos_OMX_DstOutputBufferProcess(pOMXComponent);
 
     Exynos_OSAL_ThreadExit(NULL);
@@ -1123,7 +1089,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Create(OMX_HANDLETYPE hComponent)
                      Exynos_OMX_SrcInputProcessThread,
                      pOMXComponent);
 
-EXIT:
     FunctionOut();
 
     return ret;
@@ -1136,7 +1101,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
     EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
     OMX_S32                countValue = 0;
-    unsigned int           i = 0;
 
     FunctionIn();
 
@@ -1174,7 +1138,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
     Exynos_OSAL_ThreadTerminate(pVideoDec->hDstOutputThread);
     pVideoDec->hDstOutputThread = NULL;
 
-EXIT:
     FunctionOut();
 
     return ret;