138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang/* 238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * Copyright 2012 Samsung Electronics S.LSI Co. LTD 438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * Licensed under the Apache License, Version 2.0 (the "License"); 638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * you may not use this file except in compliance with the License. 738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * You may obtain a copy of the License at 838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * http://www.apache.org/licenses/LICENSE-2.0 1038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 1138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * Unless required by applicable law or agreed to in writing, software 1238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * distributed under the License is distributed on an "AS IS" BASIS, 1338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * See the License for the specific language governing permissions and 1538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * limitations under the License. 1638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang */ 1738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 1838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang/* 1938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @file Exynos_OMX_VdecControl.h 2038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @brief 2138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @author SeungBeom Kim (sbcrux.kim@samsung.com) 2238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @version 2.0.0 2338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @history 2438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 2012.02.20 : Create 2538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang */ 2638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 2738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#ifndef EXYNOS_OMX_VIDEO_DECODECONTROL 2838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#define EXYNOS_OMX_VIDEO_DECODECONTROL 2938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 3038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "OMX_Component.h" 3138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "Exynos_OMX_Def.h" 3238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "Exynos_OSAL_Queue.h" 3338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "Exynos_OMX_Baseport.h" 3438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "Exynos_OMX_Basecomponent.h" 3538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 3638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 3738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#ifdef __cplusplus 3838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changextern "C" { 3938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#endif 4038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 4138ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_UseBuffer( 4238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComponent, 4338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr, 4438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nPortIndex, 4538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_PTR pAppPrivate, 4638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nSizeBytes, 4738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U8 *pBuffer); 4838ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_AllocateBuffer( 4938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComponent, 5038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_INOUT OMX_BUFFERHEADERTYPE **ppBuffer, 5138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nPortIndex, 5238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_PTR pAppPrivate, 5338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nSizeBytes); 5438ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_FreeBuffer( 5538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComponent, 5638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nPortIndex, 5738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_BUFFERHEADERTYPE *pBufferHdr); 5838ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_AllocateTunnelBuffer( 5938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang EXYNOS_OMX_BASEPORT *pOMXBasePort, 6038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_U32 nPortIndex); 6138ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_FreeTunnelBuffer( 6238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang EXYNOS_OMX_BASEPORT *pOMXBasePort, 6338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_U32 nPortIndex); 6438ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest( 6538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComp, 6638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nPort, 6738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hTunneledComp, 6838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_U32 nTunneledPort, 6938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup); 7038ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_VideoDecodeGetParameter( 7138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComponent, 7238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_INDEXTYPE nParamIndex, 7338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_INOUT OMX_PTR ComponentParameterStructure); 7438ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_VideoDecodeSetParameter( 7538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComponent, 7638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_INDEXTYPE nIndex, 7738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_PTR ComponentParameterStructure); 7838ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_VideoDecodeGetConfig( 7938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_HANDLETYPE hComponent, 8038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_INDEXTYPE nIndex, 8138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_PTR pComponentConfigStructure); 8238ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_VideoDecodeSetConfig( 8338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_HANDLETYPE hComponent, 8438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_INDEXTYPE nIndex, 8538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_PTR pComponentConfigStructure); 8638ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_VideoDecodeGetExtensionIndex( 8738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_HANDLETYPE hComponent, 8838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_IN OMX_STRING cParameterName, 8938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_OUT OMX_INDEXTYPE *pIndexType); 9038ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent); 9138ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent); 9238ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent); 9338ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_FlushInputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *dataBuffer); 9438ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_FlushOutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *dataBuffer); 9538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 9638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#ifdef USE_ANB 9738ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_Shared_ANBBufferToData(EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_DATA *pData, EXYNOS_OMX_BASEPORT *pExynosPort, EXYNOS_OMX_PLANE nPlane); 9838ef2572d26fc760c584a1855a3d002f34eb0231Jiho ChangOMX_ERRORTYPE Exynos_Shared_DataToANBBuffer(EXYNOS_OMX_DATA *pData, EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_BASEPORT *pExynosPort); 9938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#endif 10038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 10138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#ifdef __cplusplus 10238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} 10338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#endif 10438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 10538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#endif 10638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 107