mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			83 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
| /* Copyright (c) 2018-2019 Sigmastar Technology Corp.
 | ||
|  All rights reserved.
 | ||
| 
 | ||
|   Unless otherwise stipulated in writing, any and all information contained
 | ||
|  herein regardless in any format shall remain the sole proprietary of
 | ||
|  Sigmastar Technology Corp. and be kept in strict confidence
 | ||
|  (<28><>Sigmastar Confidential Information<6F><6E>) by the recipient.
 | ||
|  Any unauthorized act including without limitation unauthorized disclosure,
 | ||
|  copying, use, reproduction, sale, distribution, modification, disassembling,
 | ||
|  reverse engineering and compiling of the contents of Sigmastar Confidential
 | ||
|  Information is unlawful and strictly prohibited. Sigmastar hereby reserves the
 | ||
|  rights to any and all damages, losses, costs and expenses resulting therefrom.
 | ||
| */
 | ||
| #ifndef _MI_SHADOW_H_
 | ||
| #define _MI_SHADOW_H_
 | ||
| #include "mi_shadow_datatype.h"
 | ||
| 
 | ||
| #define SHADOW_MAJOR_VERSION 2
 | ||
| #define SHADOW_SUB_VERSION 3
 | ||
| #define MACRO_TO_STR(macro) #macro
 | ||
| #define SHADOW_VERSION_STR(major_version,sub_version) ({char *tmp = sub_version/100 ? \
 | ||
|                                     "mi_shadow_version_" MACRO_TO_STR(major_version)"." MACRO_TO_STR(sub_version) : sub_version/10 ? \
 | ||
|                                     "mi_shadow_version_" MACRO_TO_STR(major_version)".0" MACRO_TO_STR(sub_version) : \
 | ||
|                                     "mi_shadow_version_" MACRO_TO_STR(major_version)".00" MACRO_TO_STR(sub_version);tmp;})
 | ||
| #define MI_SHADOW_API_VERSION SHADOW_VERSION_STR(SHADOW_MAJOR_VERSION,SHADOW_SUB_VERSION)
 | ||
| 
 | ||
| #ifdef __cplusplus
 | ||
| extern "C" {
 | ||
| #endif
 | ||
| 
 | ||
| MI_S32 MI_SHADOW_RegisterDev(
 | ||
|     MI_SHADOW_RegisterDevParams_t *pstDevParams,
 | ||
|     MI_SHADOW_HANDLE *phShadow);
 | ||
| MI_S32 MI_SHADOW_UnRegisterDev(MI_SHADOW_HANDLE hShadow);
 | ||
| MI_S32 MI_SHADOW_GetOutputPortBuf(
 | ||
|     MI_SHADOW_HANDLE hShadow,
 | ||
|     MI_U32 u32ChnId,
 | ||
|     MI_U32 u32PortId,
 | ||
|     MI_SYS_BufConf_t *pstBufConfig,
 | ||
| 
 | ||
|     MI_BOOL *pbBlockedByRateCtrl,
 | ||
|     MI_SYS_BufInfo_t *pstBufInfo,
 | ||
|     MI_SYS_BUF_HANDLE *phBufHandle);
 | ||
| MI_S32 MI_SHADOW_GetInputPortBuf(
 | ||
|     MI_SHADOW_HANDLE hShadow,
 | ||
|     MI_U32 u32ChnId,
 | ||
|     MI_U32 u32PortId,
 | ||
| 
 | ||
|     MI_SYS_BufInfo_t *pstBufInfo,
 | ||
|     MI_SYS_BUF_HANDLE *phBufHandle);
 | ||
| MI_S32 MI_SHADOW_FinishBuf(MI_SHADOW_HANDLE hShadow, MI_SYS_BUF_HANDLE hBufHandle);
 | ||
| MI_S32 MI_SHADOW_RewindBuf(MI_SHADOW_HANDLE hShadow, MI_SYS_BUF_HANDLE hBufHandle);
 | ||
| MI_S32 MI_SHADOW_WaitOnInputTaskAvailable(MI_SHADOW_HANDLE hShadow ,MI_S32 u32TimeOutMs);
 | ||
| 
 | ||
| MI_S32 MI_SHADOW_EnableChannel(MI_SHADOW_HANDLE hShadow, MI_U32 u32ChnId);
 | ||
| MI_S32 MI_SHADOW_DisableChannel(MI_SHADOW_HANDLE hShadow, MI_U32 u32ChnId);
 | ||
| MI_S32 MI_SHADOW_EnableOutputPort(MI_SHADOW_HANDLE hShadow, MI_U32 u32ChnId, MI_U32 u32PortId);
 | ||
| MI_S32 MI_SHADOW_DisableOutputPort(MI_SHADOW_HANDLE hShadow, MI_U32 u32ChnId, MI_U32 u32PortId);
 | ||
| MI_S32 MI_SHADOW_EnableInputPort(MI_SHADOW_HANDLE hShadow, MI_U32 u32ChnId, MI_U32 u32PortId);
 | ||
| MI_S32 MI_SHADOW_DisableInputPort(MI_SHADOW_HANDLE hShadow, MI_U32 u32ChnId, MI_U32 u32PortId);
 | ||
| MI_S32 MI_SHADOW_InitDev(MI_SHADOW_InitParam_t *pstInitParam);
 | ||
| MI_S32 MI_SHADOW_DeInitDev(void);
 | ||
| 
 | ||
| 
 | ||
| MI_S32 MI_SHADOW_SetInputPortBufExtConf(
 | ||
|     MI_SHADOW_HANDLE hShadow,
 | ||
|     MI_U32 u32ChnId,
 | ||
|     MI_U32 u32PortId,
 | ||
|     MI_SYS_FrameBufExtraConfig_t * pstBufExtraConf
 | ||
|     );
 | ||
| MI_S32 MI_SHADOW_SetOutputPortBufExtConf(
 | ||
|     MI_SHADOW_HANDLE hShadow,
 | ||
|     MI_U32 u32ChnId,
 | ||
|     MI_U32 u32PortId,
 | ||
|     MI_SYS_FrameBufExtraConfig_t * pstBufExtraConf
 | ||
|     );
 | ||
| 
 | ||
| 
 | ||
| #ifdef __cplusplus
 | ||
| }
 | ||
| #endif
 | ||
| #endif ///_MI_SHADOW_H_
 |