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
38extern "C" {
39#endif
40
41
42EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_Init(void);
43EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_Deinit(void);
44EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_ComponentNameEnum(
45    OMX_OUT   OMX_STRING        cComponentName,
46    OMX_IN    OMX_U32           nNameLength,
47    OMX_IN    OMX_U32           nIndex);
48EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynnos_OMX_GetHandle(
49    OMX_OUT   OMX_HANDLETYPE   *pHandle,
50    OMX_IN    OMX_STRING        cComponentName,
51    OMX_IN    OMX_PTR           pAppData,
52    OMX_IN    OMX_CALLBACKTYPE *pCallBacks);
53EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_FreeHandle(
54    OMX_IN    OMX_HANDLETYPE    hComponent);
55EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_SetupTunnel(
56    OMX_IN    OMX_HANDLETYPE    hOutput,
57    OMX_IN    OMX_U32           nPortOutput,
58    OMX_IN    OMX_HANDLETYPE    hInput,
59    OMX_IN    OMX_U32           nPortInput);
60EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE              Exynos_OMX_GetContentPipe(
61    OMX_OUT   OMX_HANDLETYPE   *hPipe,
62    OMX_IN    OMX_STRING        szURI);
63EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE              Exynos_OMX_GetComponentsOfRole(
64    OMX_IN    OMX_STRING        role,
65    OMX_INOUT OMX_U32          *pNumComps,
66    OMX_INOUT OMX_U8          **compNames);
67EXYNOS_EXPORT_REF OMX_API OMX_ERRORTYPE              Exynos_OMX_GetRolesOfComponent(
68    OMX_IN    OMX_STRING        compName,
69    OMX_INOUT OMX_U32          *pNumRoles,
70    OMX_OUT   OMX_U8          **roles);
71
72
73#ifdef __cplusplus
74}
75#endif
76
77#endif
78
79