sdk-hwV1.3/external/eyesee-mpp/middleware/sun8iw21/media/include/component/VideoEIS_Component.h

75 lines
3.6 KiB
C
Executable File

/******************************************************************************
Copyright (C), 2018-2020, Allwinner Tech. Co., Ltd.
******************************************************************************
File Name : VideoEIS_Component.h
Version : Initial Draft
Author : Allwinner PDC-PD5 Team
Created : 2018/04/20
Last Modified :
Description : EIS mpp component implement
Function List :
History :
******************************************************************************/
#ifndef __IPCLINUX_VIDEOEIS_COMPONENT_H__
#define __IPCLINUX_VIDEOEIS_COMPONENT_H__
/* standard header files */
#include <stdbool.h>
/* ref platform headers */
#include "plat_defines.h"
#include "plat_errno.h"
#include "plat_math.h"
#include "plat_type.h"
/* media api headers to app */
#include "mm_comm_eis.h"
#include "mm_comm_video.h"
#include "mm_common.h"
/* media internal common headers */
#include "ComponentCommon.h"
#include "media_common.h"
#include "mm_component.h"
#include "tmessage.h"
#include "tsemaphore.h"
#define EIS_MAXPATHSIZE (256)
#define GYRO_DEV_NAME "/dev/iio:device0"
#define GYRO_DEV_DIR_PATH "/sys/bus/iio/devices/iio:device0"
/* private interface */
ERRORTYPE VideoEISGetPortDefinition(PARAM_IN COMP_HANDLETYPE hComponent,
PARAM_INOUT COMP_PARAM_PORTDEFINITIONTYPE* pPortDef);
ERRORTYPE VideoEISSetPortDefinition(PARAM_IN COMP_HANDLETYPE hComponent,
PARAM_IN COMP_PARAM_PORTDEFINITIONTYPE* pPortDef);
ERRORTYPE VideoEISGetCompBufferSupplier(PARAM_IN COMP_HANDLETYPE hComponent,
PARAM_INOUT COMP_PARAM_BUFFERSUPPLIERTYPE* pPortBufSupplier);
ERRORTYPE VideoEISSetCompBufferSupplier(PARAM_IN COMP_HANDLETYPE hComponent,
PARAM_IN COMP_PARAM_BUFFERSUPPLIERTYPE* pPortBufSupplier);
ERRORTYPE VideoEISGetMPPChannelInfo(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_OUT MPP_CHN_S* pChn);
ERRORTYPE VideoEISSetMPPChannelInfo(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN MPP_CHN_S* pChn);
ERRORTYPE VideoEISSendCommand(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN COMP_COMMANDTYPE Cmd,
PARAM_IN unsigned int nParam1, PARAM_IN void* pCmdData);
ERRORTYPE VideoEISGetState(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_OUT COMP_STATETYPE* pState);
ERRORTYPE VideoEISSetCallbacks(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN COMP_CALLBACKTYPE* pCallbacks,
PARAM_IN void* pAppData);
ERRORTYPE VideoEISGetConfig(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN COMP_INDEXTYPE nIndex,
PARAM_IN void* pComponentConfigStructure);
ERRORTYPE VideoEISSetConfig(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN COMP_INDEXTYPE nIndex,
PARAM_IN void* pComponentConfigStructure);
ERRORTYPE VideoEISComponentTunnelRequest(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN unsigned int nPort,
PARAM_IN COMP_HANDLETYPE hTunneledComp, PARAM_IN unsigned int nTunneledPort,
PARAM_INOUT COMP_TUNNELSETUPTYPE* pTunnelSetup);
ERRORTYPE VideoEISEmptyThisBuffer(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN COMP_BUFFERHEADERTYPE* pBuffer);
ERRORTYPE VideoEISFillThisBuffer(PARAM_IN COMP_HANDLETYPE hComponent, PARAM_IN COMP_BUFFERHEADERTYPE* pBuffer);
/* public interface */
ERRORTYPE VideoEISComponentDeInit(PARAM_IN COMP_HANDLETYPE hComponent);
ERRORTYPE VideoEISComponentInit(PARAM_IN COMP_HANDLETYPE hComponent);
#endif /* __IPCLINUX_VIDEOEIS_COMPONENT_H__ */