Exynos_OMX_Mpeg4enc.h revision 20d3e6e3118a6e19627296e9247e948d54ec0fb8
1/*
2 *
3 * Copyright 2010 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_Mpeg4enc.h
20 * @brief
21 * @author      Yunji Kim (yunji.kim@samsung.com)
22 * @version     1.1.0
23 * @history
24 *   2010.7.15 : Create
25 */
26
27#ifndef EXYNOS_OMX_MPEG4_ENC_COMPONENT
28#define EXYNOS_OMX_MPEG4_ENC_COMPONENT
29
30#include "Exynos_OMX_Def.h"
31#include "OMX_Component.h"
32#include "SsbSipMfcApi.h"
33
34
35typedef enum _CODEC_TYPE
36{
37    CODEC_TYPE_H263,
38    CODEC_TYPE_MPEG4
39} CODEC_TYPE;
40
41typedef struct _EXYNOS_MFC_MPEG4ENC_HANDLE
42{
43    OMX_HANDLETYPE             hMFCHandle;
44    SSBSIP_MFC_ENC_MPEG4_PARAM mpeg4MFCParam;
45    SSBSIP_MFC_ENC_H263_PARAM  h263MFCParam;
46    SSBSIP_MFC_ENC_INPUT_INFO  inputInfo;
47    OMX_U32                    indexTimestamp;
48    OMX_BOOL                   bConfiguredMFC;
49    CODEC_TYPE                 codecType;
50    OMX_S32                    returnCodec;
51} EXYNOS_MFC_MPEG4ENC_HANDLE;
52
53typedef struct _EXYNOS_MPEG4ENC_HANDLE
54{
55    /* OMX Codec specific */
56    OMX_VIDEO_PARAM_H263TYPE  h263Component[ALL_PORT_NUM];
57    OMX_VIDEO_PARAM_MPEG4TYPE mpeg4Component[ALL_PORT_NUM];
58    OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM];
59
60    /* SEC MFC Codec specific */
61    EXYNOS_MFC_MPEG4ENC_HANDLE   hMFCMpeg4Handle;
62} EXYNOS_MPEG4ENC_HANDLE;
63
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69
70OSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName);
71                OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent);
72
73#ifdef __cplusplus
74};
75#endif
76
77#endif
78