3 * Copyright 2012 Samsung Electronics S.LSI Co. LTD
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
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)
29 #ifndef EXYNOS_OMX_CORE
30 #define EXYNOS_OMX_CORE
32 #include "Exynos_OMX_Def.h"
33 #include "OMX_Types.h"
41 #ifdef TIZEN_FEATURE_E3250 /* 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
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);