Commit | Line | Data |
---|---|---|
c6f4bc34 YK |
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_VdecControl.h | |
20 | * @brief | |
21 | * @author SeungBeom Kim (sbcrux.kim@samsung.com) | |
22 | * @version 2.0.0 | |
23 | * @history | |
24 | * 2012.02.20 : Create | |
25 | */ | |
26 | ||
27 | #ifndef EXYNOS_OMX_VIDEO_DECODECONTROL | |
28 | #define EXYNOS_OMX_VIDEO_DECODECONTROL | |
29 | ||
30 | #include "OMX_Component.h" | |
31 | #include "Exynos_OMX_Def.h" | |
32 | #include "Exynos_OSAL_Queue.h" | |
33 | #include "Exynos_OMX_Baseport.h" | |
34 | #include "Exynos_OMX_Basecomponent.h" | |
35 | ||
36 | ||
37 | #ifdef __cplusplus | |
38 | extern "C" { | |
39 | #endif | |
40 | ||
41 | OMX_ERRORTYPE Exynos_OMX_UseBuffer( | |
42 | OMX_IN OMX_HANDLETYPE hComponent, | |
43 | OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr, | |
44 | OMX_IN OMX_U32 nPortIndex, | |
45 | OMX_IN OMX_PTR pAppPrivate, | |
46 | OMX_IN OMX_U32 nSizeBytes, | |
47 | OMX_IN OMX_U8 *pBuffer); | |
48 | OMX_ERRORTYPE Exynos_OMX_AllocateBuffer( | |
49 | OMX_IN OMX_HANDLETYPE hComponent, | |
50 | OMX_INOUT OMX_BUFFERHEADERTYPE **ppBuffer, | |
51 | OMX_IN OMX_U32 nPortIndex, | |
52 | OMX_IN OMX_PTR pAppPrivate, | |
53 | OMX_IN OMX_U32 nSizeBytes); | |
54 | OMX_ERRORTYPE Exynos_OMX_FreeBuffer( | |
55 | OMX_IN OMX_HANDLETYPE hComponent, | |
56 | OMX_IN OMX_U32 nPortIndex, | |
57 | OMX_IN OMX_BUFFERHEADERTYPE *pBufferHdr); | |
58 | OMX_ERRORTYPE Exynos_OMX_AllocateTunnelBuffer( | |
59 | EXYNOS_OMX_BASEPORT *pOMXBasePort, | |
60 | OMX_U32 nPortIndex); | |
61 | OMX_ERRORTYPE Exynos_OMX_FreeTunnelBuffer( | |
62 | EXYNOS_OMX_BASEPORT *pOMXBasePort, | |
63 | OMX_U32 nPortIndex); | |
64 | OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest( | |
65 | OMX_IN OMX_HANDLETYPE hComp, | |
66 | OMX_IN OMX_U32 nPort, | |
67 | OMX_IN OMX_HANDLETYPE hTunneledComp, | |
68 | OMX_IN OMX_U32 nTunneledPort, | |
69 | OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup); | |
70 | OMX_ERRORTYPE Exynos_OMX_VideoDecodeGetParameter( | |
71 | OMX_IN OMX_HANDLETYPE hComponent, | |
72 | OMX_IN OMX_INDEXTYPE nParamIndex, | |
73 | OMX_INOUT OMX_PTR ComponentParameterStructure); | |
74 | OMX_ERRORTYPE Exynos_OMX_VideoDecodeSetParameter( | |
75 | OMX_IN OMX_HANDLETYPE hComponent, | |
76 | OMX_IN OMX_INDEXTYPE nIndex, | |
77 | OMX_IN OMX_PTR ComponentParameterStructure); | |
78 | OMX_ERRORTYPE Exynos_OMX_VideoDecodeGetConfig( | |
79 | OMX_HANDLETYPE hComponent, | |
80 | OMX_INDEXTYPE nIndex, | |
81 | OMX_PTR pComponentConfigStructure); | |
82 | OMX_ERRORTYPE Exynos_OMX_VideoDecodeSetConfig( | |
83 | OMX_HANDLETYPE hComponent, | |
84 | OMX_INDEXTYPE nIndex, | |
85 | OMX_PTR pComponentConfigStructure); | |
86 | OMX_ERRORTYPE Exynos_OMX_VideoDecodeGetExtensionIndex( | |
87 | OMX_IN OMX_HANDLETYPE hComponent, | |
88 | OMX_IN OMX_STRING cParameterName, | |
89 | OMX_OUT OMX_INDEXTYPE *pIndexType); | |
7ccbc6ff TK |
90 | OMX_ERRORTYPE Exynos_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *pDataBuffer); |
91 | OMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *pDataBuffer); | |
c6f4bc34 | 92 | OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent); |
c6f4bc34 YK |
93 | |
94 | #ifdef USE_ANB | |
95 | OMX_ERRORTYPE Exynos_Shared_ANBBufferToData(EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_DATA *pData, EXYNOS_OMX_BASEPORT *pExynosPort, EXYNOS_OMX_PLANE nPlane); | |
96 | OMX_ERRORTYPE Exynos_Shared_DataToANBBuffer(EXYNOS_OMX_DATA *pData, EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_BASEPORT *pExynosPort); | |
97 | #endif | |
98 | ||
323488ff | 99 | OMX_ERRORTYPE Exynos_Shared_DataToBuffer(EXYNOS_OMX_DATA *pData, EXYNOS_OMX_DATABUFFER *pUseBuffer); |
cc46393d | 100 | OMX_ERRORTYPE Exynos_OutputBufferGetQueue(EXYNOS_OMX_BASECOMPONENT *pExynosComponent); |
433e798a | 101 | OMX_BUFFERHEADERTYPE *Exynos_OutputBufferGetQueue_Direct(EXYNOS_OMX_BASECOMPONENT *pExynosComponent); |
cc46393d AS |
102 | OMX_ERRORTYPE Exynos_CodecBufferEnQueue(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 PortIndex, OMX_PTR data); |
103 | OMX_ERRORTYPE Exynos_ResolutionUpdate(OMX_COMPONENTTYPE *pOMXComponent); | |
104 | OMX_ERRORTYPE Exynos_CodecBufferReset(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 PortIndex); | |
323488ff | 105 | |
c6f4bc34 YK |
106 | #ifdef __cplusplus |
107 | } | |
108 | #endif | |
109 | ||
110 | #endif | |
111 |