120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/*
220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang *
338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * Copyright 2012 Samsung Electronics S.LSI Co. LTD
420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang *
520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * Licensed under the Apache License, Version 2.0 (the "License");
620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * you may not use this file except in compliance with the License.
720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * You may obtain a copy of the License at
820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang *
920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang *      http://www.apache.org/licenses/LICENSE-2.0
1020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang *
1120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * Unless required by applicable law or agreed to in writing, software
1220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * distributed under the License is distributed on an "AS IS" BASIS,
1320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * See the License for the specific language governing permissions and
1520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * limitations under the License.
1620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */
1720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
1820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/*
1920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @file       Exynos_OMX_Baseport.h
2020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @brief
2120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @author     SeungBeom Kim (sbcrux.kim@samsung.com)
2220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang *             HyeYeon Chung (hyeon.chung@samsung.com)
2338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @version    2.0.0
2420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @history
2538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang *    2012.02.20 : Create
2620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */
2720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
2820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifndef EXYNOS_OMX_BASE_PORT
2920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define EXYNOS_OMX_BASE_PORT
3020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
3120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
3220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "OMX_Component.h"
3320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OMX_Def.h"
3420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OSAL_Queue.h"
3538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "Exynos_OMX_Def.h"
3620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
3720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
3820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define BUFFER_STATE_ALLOCATED  (1 << 0)
3920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define BUFFER_STATE_ASSIGNED   (1 << 1)
4020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define HEADER_STATE_ALLOCATED  (1 << 2)
4120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define BUFFER_STATE_FREE        0
4220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
4338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#define MAX_BUFFER_NUM          40
4420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
4520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define INPUT_PORT_INDEX    0
4620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define OUTPUT_PORT_INDEX   1
4720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define ALL_PORT_INDEX     -1
4820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define ALL_PORT_NUM        2
4920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
5038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
5138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_BUFFERHEADERTYPE
5238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
5338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_BUFFERHEADERTYPE *OMXBufferHeader;
5438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_BOOL              bBufferInOMX;
5538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_HANDLETYPE        ANBHandle;
5638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    void                 *pYUVBuf[MAX_BUFFER_PLANE];
5701fa64f5f096690c95b2fd1d3a875d7a1aeefe53Dima Zavin    int                   buf_fd[MAX_BUFFER_PLANE];
5838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_BUFFERHEADERTYPE;
5938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
6038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_DATABUFFER
6138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
6238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_HANDLETYPE        bufferMutex;
6338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_BUFFERHEADERTYPE* bufferHeader;
6438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_BOOL              dataValid;
6538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32               allocSize;
6638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32               dataLen;
6738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32               usedDataLen;
6838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32               remainDataLen;
6938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32               nFlags;
7038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_TICKS             timeStamp;
7138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_PTR               pPrivate;
7238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_DATABUFFER;
7338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
7438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef void* CODEC_EXTRA_BUFFERINFO;
7538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
7638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_SINGLEPLANE_DATA
7738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
7838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_PTR dataBuffer;
7901fa64f5f096690c95b2fd1d3a875d7a1aeefe53Dima Zavin    int fd;
8038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_SINGLEPLANE_DATA;
8138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
8238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_MULTIPLANE_DATA
8338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
8438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32 validPlaneNum;
8538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_PTR dataBuffer[MAX_BUFFER_PLANE];
8601fa64f5f096690c95b2fd1d3a875d7a1aeefe53Dima Zavin    int fd[MAX_BUFFER_PLANE];
8738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_MULTIPLANE_DATA;
8838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
8938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_DATA
9038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
9138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    union {
9238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang        EXYNOS_OMX_SINGLEPLANE_DATA singlePlaneBuffer;
9338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang        EXYNOS_OMX_MULTIPLANE_DATA multiPlaneBuffer;
9438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    } buffer;
9538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32   allocSize;
9638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32   dataLen;
9738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32   usedDataLen;
9838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32   remainDataLen;
9938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_U32   nFlags;
10038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_TICKS timeStamp;
10138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_PTR   pPrivate;
10238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    CODEC_EXTRA_BUFFERINFO extInfo;
1033b1c2e30b8c73bb51c3e2c93504e3571ab851268SeungBeom Kim
10438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    /* For Share Buffer */
10538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_BUFFERHEADERTYPE* bufferHeader;
10638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_DATA;
10738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
10838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_WAY1_PORT_DATABUFFER
10938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
11038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_DATABUFFER dataBuffer;
11138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_PORT_1WAY_DATABUFFER;
11238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
11338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_OMX_WAY2_PORT_DATABUFFER
11438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
11538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_DATABUFFER inputDataBuffer;
11638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_DATABUFFER outputDataBuffer;
11738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_PORT_2WAY_DATABUFFER;
11838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
11938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef enum _EXYNOS_OMX_PORT_WAY_TYPE
12038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
12138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    WAY1_PORT = 0x00,
12238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    WAY2_PORT
12338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_PORT_WAY_TYPE;
12438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
12538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef enum _EXYNOS_OMX_EXCEPTION_STATE
12638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
12738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    GENERAL_STATE = 0x00,
12838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    NEED_PORT_FLUSH,
12938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    NEED_PORT_DISABLE,
130c01f2434dc56e71482229e8ab8c7d5cda7c46d01SeungBeom Kim    INVALID_STATE,
13138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_EXCEPTION_STATE;
13238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
13338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef enum _EXYNOS_OMX_PLANE
13438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang{
13538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    ONE_PLANE       = 0x01,
13638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    TWO_PLANE       = 0x02,
13738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    THREE_PLANE     = 0x03,
13838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang/*
13938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    ANB_START_PLANE = 0x10,
14038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    ANB_ONE_PLANE   = 0x11,
14138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    ANB_TWO_PLANE   = 0x12,
14238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    ANB_THREE_PLANE = 0x13,
14338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang*/
14438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_OMX_PLANE;
14538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
14620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changtypedef struct _EXYNOS_OMX_BASEPORT
14720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{
14838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_BUFFERHEADERTYPE   *extendBufferHeader;
14920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_U32                       *bufferStateAllocate;
15020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_PARAM_PORTDEFINITIONTYPE   portDefinition;
15120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_HANDLETYPE                 bufferSemID;
15220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    EXYNOS_QUEUE                   bufferQ;
15320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_U32                        assignedBufferNum;
15420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_STATETYPE                  portState;
15520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_HANDLETYPE                 loadedResource;
15620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_HANDLETYPE                 unloadedResource;
15720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
15820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_BOOL                       bIsPortFlushed;
15920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_BOOL                       bIsPortDisabled;
16020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_MARKTYPE                   markType;
16120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
16220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_CONFIG_RECTTYPE            cropRectangle;
16320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
16420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    /* Tunnel Info */
16520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_HANDLETYPE                 tunneledComponent;
16620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_U32                        tunneledPort;
16720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_U32                        tunnelBufferNum;
16820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_BUFFERSUPPLIERTYPE         bufferSupplier;
16920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_U32                        tunnelFlags;
17020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
17120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_BOOL                       bIsANBEnabled;
17220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang    OMX_BOOL                       bStoreMetaData;
17338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
17438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_BUFFERPROCESS_TYPE  bufferProcessType;
17538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_PORT_WAY_TYPE       portWayType;
17638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_HANDLETYPE                 codecSemID;
17738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_QUEUE                   codecBufferQ;
17838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
17938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_HANDLETYPE                 pauseEvent;
18038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
18138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    /* Buffer */
18238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    union {
18338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang        EXYNOS_OMX_PORT_1WAY_DATABUFFER port1WayDataBuffer;
18438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang        EXYNOS_OMX_PORT_2WAY_DATABUFFER port2WayDataBuffer;
18538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    } way;
18638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
18738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    /* Data */
18838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_DATA                processData;
18938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang
19038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    /* for flush of Shared buffer scheme */
19138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_HANDLETYPE                 hAllCodecBufferReturnEvent;
19238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    OMX_HANDLETYPE                 hPortMutex;
19338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang    EXYNOS_OMX_EXCEPTION_STATE     exceptionFlag;
194bd09b8148180c902648b5ac57d024f457f852efaSeungBeom Kim
195bd09b8148180c902648b5ac57d024f457f852efaSeungBeom Kim    OMX_PARAM_PORTDEFINITIONTYPE   newPortDefinition;
196bd09b8148180c902648b5ac57d024f457f852efaSeungBeom Kim    OMX_CONFIG_RECTTYPE            newCropRectangle;
19720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} EXYNOS_OMX_BASEPORT;
19820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
19920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
20020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifdef __cplusplus
20120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changextern "C" {
20220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif
20320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
20420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOMX_ERRORTYPE Exynos_OMX_PortEnableProcess(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex);
20520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOMX_ERRORTYPE Exynos_OMX_PortDisableProcess(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex);
20638ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_BufferFlushProcess(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent);
20720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOMX_ERRORTYPE Exynos_OMX_Port_Constructor(OMX_HANDLETYPE hComponent);
20820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOMX_ERRORTYPE Exynos_OMX_Port_Destructor(OMX_HANDLETYPE hComponent);
20938ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_ResetDataBuffer(EXYNOS_OMX_DATABUFFER *pDataBuffer);
21038ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_ResetCodecData(EXYNOS_OMX_DATA *pData);
21138ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_Shared_BufferToData(EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_DATA *pData, EXYNOS_OMX_PLANE nPlane);
21238ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_Shared_DataToBuffer(EXYNOS_OMX_DATA *pData, EXYNOS_OMX_DATABUFFER *pUseBuffer);
21320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
21420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifdef __cplusplus
21520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang};
21620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif
21720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
21820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang
21920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif
220