Exynos_OMX_H264dec.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_H264dec.h
20 * @brief
21 * @author    SeungBeom Kim (sbcrux.kim@samsung.com)
22 * @version    1.1.0
23 * @history
24 *   2010.7.15 : Create
25 */
26
27#ifndef EXYNOS_OMX_H264_DEC_COMPONENT
28#define EXYNOS_OMX_H264_DEC_COMPONENT
29
30#include "Exynos_OMX_Def.h"
31#include "OMX_Component.h"
32#include "OMX_Video.h"
33
34
35#define MAX_H264_FP_VIDEO_INPUTBUFFER_NUM  4
36#define MAX_H264_FP_VIDEO_OUTPUTBUFFER_NUM 4
37
38typedef struct _EXYNOS_MFC_H264DEC_HANDLE
39{
40    OMX_HANDLETYPE hMFCHandle;
41    OMX_PTR  pMFCStreamBuffer;
42    OMX_PTR  pMFCStreamPhyBuffer;
43    OMX_U32  indexTimestamp;
44    OMX_U32  outputIndexTimestamp;
45    OMX_BOOL bConfiguredMFC;
46    OMX_BOOL bFlashPlayerMode;
47    OMX_S32  returnCodec;
48} EXYNOS_MFC_H264DEC_HANDLE;
49
50typedef struct _EXYNOS_H264DEC_HANDLE
51{
52    /* OMX Codec specific */
53    OMX_VIDEO_PARAM_AVCTYPE AVCComponent[ALL_PORT_NUM];
54    OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM];
55
56    /* SEC MFC Codec specific */
57    EXYNOS_MFC_H264DEC_HANDLE hMFCH264Handle;
58} EXYNOS_H264DEC_HANDLE;
59
60#ifdef __cplusplus
61extern "C" {
62#endif
63
64OSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName);
65OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent);
66
67#ifdef __cplusplus
68};
69#endif
70
71#endif
72