Initial version of libomxil-e3250-v4l2
[platform/adaptation/ap_samsung/libomxil-e3250-v4l2.git] / openmax / core / Exynos_OMX_Core.h
1 /*
2  *
3  * Copyright 2012 Samsung Electronics S.LSI Co. LTD
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 /*
19  * @file       Exynos_OMX_Core.h
20  * @brief      Exynos OpenMAX IL Core
21  * @author     SeungBeom Kim (sbcrux.kim@samsung.com)
22  *             HyeYeon Chung (hyeon.chung@samsung.com)
23  *             Yunji Kim (yunji.kim@samsung.com)
24  * @version    2.0.0
25  * @history
26  *    2012.02.20 : Create
27  */
28
29 #ifndef EXYNOS_OMX_CORE
30 #define EXYNOS_OMX_CORE
31
32 #include "Exynos_OMX_Def.h"
33 #include "OMX_Types.h"
34 #include "OMX_Core.h"
35
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 #ifdef SLP_PLATFORM /* build env */
42 #define Exynos_OMX_Init                    OMX_Init
43 #define Exynos_OMX_Deinit                  OMX_Deinit
44 #define Exynos_OMX_ComponentNameEnum       OMX_ComponentNameEnum
45 #define Exynos_OMX_GetHandle               OMX_GetHandle
46 #define Exynos_OMX_FreeHandle              OMX_FreeHandle
47 #define Exynos_OMX_SetupTunnel             OMX_SetupTunnel
48 #define Exynos_OMX_GetContentPipe          OMX_GetContentPipe
49 #define Exynos_OMX_GetComponentsOfRole     OMX_GetComponentsOfRole
50 #define Exynos_OMX_GetRolesOfComponent     OMX_GetRolesOfComponent
51 #endif
52
53 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_Init(void);
54 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_Deinit(void);
55 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_ComponentNameEnum(
56     OMX_OUT   OMX_STRING        cComponentName,
57     OMX_IN    OMX_U32           nNameLength,
58     OMX_IN    OMX_U32           nIndex);
59 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_GetHandle(
60     OMX_OUT   OMX_HANDLETYPE   *pHandle,
61     OMX_IN    OMX_STRING        cComponentName,
62     OMX_IN    OMX_PTR           pAppData,
63     OMX_IN    OMX_CALLBACKTYPE *pCallBacks);
64 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_FreeHandle(
65     OMX_IN    OMX_HANDLETYPE    hComponent);
66 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_SetupTunnel(
67     OMX_IN    OMX_HANDLETYPE    hOutput,
68     OMX_IN    OMX_U32           nPortOutput,
69     OMX_IN    OMX_HANDLETYPE    hInput,
70     OMX_IN    OMX_U32           nPortInput);
71 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE              Exynos_OMX_GetContentPipe(
72     OMX_OUT   OMX_HANDLETYPE   *hPipe,
73     OMX_IN    OMX_STRING        szURI);
74 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE              Exynos_OMX_GetComponentsOfRole(
75     OMX_IN    OMX_STRING        role,
76     OMX_INOUT OMX_U32          *pNumComps,
77     OMX_INOUT OMX_U8          **compNames);
78 EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE              Exynos_OMX_GetRolesOfComponent(
79     OMX_IN    OMX_STRING        compName,
80     OMX_INOUT OMX_U32          *pNumRoles,
81     OMX_OUT   OMX_U8          **roles);
82
83
84 #ifdef __cplusplus
85 }
86 #endif
87
88 #endif
89