3 * Copyright 2012 Samsung Electronics S.LSI Co. LTD
\r
5 * Licensed under the Apache License, Version 2.0 (the "License");
\r
6 * you may not use this file except in compliance with the License.
\r
7 * You may obtain a copy of the License at
\r
9 * http://www.apache.org/licenses/LICENSE-2.0
\r
11 * Unless required by applicable law or agreed to in writing, software
\r
12 * distributed under the License is distributed on an "AS IS" BASIS,
\r
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
14 * See the License for the specific language governing permissions and
\r
15 * limitations under the License.
\r
19 * @file Exynos_OMX_VencControl.h
\r
21 * @author SeungBeom Kim (sbcrux.kim@samsung.com)
\r
24 * 2012.02.20 : Create
\r
27 #ifndef EXYNOS_OMX_VIDEO_ENCODECONTROL
\r
28 #define EXYNOS_OMX_VIDEO_ENCODECONTROL
\r
30 #include "OMX_Component.h"
\r
31 #include "Exynos_OMX_Def.h"
\r
32 #include "Exynos_OSAL_Queue.h"
\r
33 #include "Exynos_OMX_Baseport.h"
\r
34 #include "Exynos_OMX_Basecomponent.h"
\r
41 OMX_ERRORTYPE Exynos_OMX_UseBuffer(
\r
42 OMX_IN OMX_HANDLETYPE hComponent,
\r
43 OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr,
\r
44 OMX_IN OMX_U32 nPortIndex,
\r
45 OMX_IN OMX_PTR pAppPrivate,
\r
46 OMX_IN OMX_U32 nSizeBytes,
\r
47 OMX_IN OMX_U8 *pBuffer);
\r
48 OMX_ERRORTYPE Exynos_OMX_AllocateBuffer(
\r
49 OMX_IN OMX_HANDLETYPE hComponent,
\r
50 OMX_INOUT OMX_BUFFERHEADERTYPE **ppBuffer,
\r
51 OMX_IN OMX_U32 nPortIndex,
\r
52 OMX_IN OMX_PTR pAppPrivate,
\r
53 OMX_IN OMX_U32 nSizeBytes);
\r
54 OMX_ERRORTYPE Exynos_OMX_FreeBuffer(
\r
55 OMX_IN OMX_HANDLETYPE hComponent,
\r
56 OMX_IN OMX_U32 nPortIndex,
\r
57 OMX_IN OMX_BUFFERHEADERTYPE *pBufferHdr);
\r
58 OMX_ERRORTYPE Exynos_OMX_AllocateTunnelBuffer(
\r
59 EXYNOS_OMX_BASEPORT *pOMXBasePort,
\r
60 OMX_U32 nPortIndex);
\r
61 OMX_ERRORTYPE Exynos_OMX_FreeTunnelBuffer(
\r
62 EXYNOS_OMX_BASEPORT *pOMXBasePort,
\r
63 OMX_U32 nPortIndex);
\r
64 OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
\r
65 OMX_IN OMX_HANDLETYPE hComp,
\r
66 OMX_IN OMX_U32 nPort,
\r
67 OMX_IN OMX_HANDLETYPE hTunneledComp,
\r
68 OMX_IN OMX_U32 nTunneledPort,
\r
69 OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup);
\r
70 OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
\r
71 OMX_IN OMX_HANDLETYPE hComponent,
\r
72 OMX_IN OMX_INDEXTYPE nParamIndex,
\r
73 OMX_INOUT OMX_PTR pComponentParameterStructure);
\r
74 OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
\r
75 OMX_IN OMX_HANDLETYPE hComponent,
\r
76 OMX_IN OMX_INDEXTYPE nIndex,
\r
77 OMX_IN OMX_PTR pComponentParameterStructure);
\r
78 OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetConfig(
\r
79 OMX_HANDLETYPE hComponent,
\r
80 OMX_INDEXTYPE nIndex,
\r
81 OMX_PTR pComponentConfigStructure);
\r
82 OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetConfig(
\r
83 OMX_HANDLETYPE hComponent,
\r
84 OMX_INDEXTYPE nIndex,
\r
85 OMX_PTR pComponentConfigStructure);
\r
86 OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetExtensionIndex(
\r
87 OMX_IN OMX_HANDLETYPE hComponent,
\r
88 OMX_IN OMX_STRING szParameterName,
\r
89 OMX_OUT OMX_INDEXTYPE *pIndexType);
\r
90 OMX_ERRORTYPE Exynos_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent);
\r
91 OMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent);
\r
92 OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent);
\r
93 OMX_ERRORTYPE Exynos_FlushInputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *pDataBuffer);
\r
94 OMX_ERRORTYPE Exynos_FlushOutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *pDataBuffer);
\r