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

84 lines
3.0 KiB
C
Executable File

/*
******************************************************************************
*
* vi_api.h
*
* Hawkview ISP - vi_api.h module
*
* Copyright (c) 2016 by Allwinnertech Co., Ltd. http://www.allwinnertech.com
*
* Version Author Date Description
*
* 2.0 yuanxianfeng 2016/08/01 VIDEO INPUT
*
*****************************************************************************
*/
#ifndef _AW_VI_API_H_
#define _AW_VI_API_H_
#include "mm_comm_vi.h"
#include "mm_comm_region.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif /* __cplusplus */
#endif /* __cplusplus */
/* Vi tunnel operations, Vipp & Osd/Mask & VirviChn Settings */
// AW_S32 AW_MPI_VI_Init(void);
// AW_S32 AW_MPI_VI_Exit(void);
ERRORTYPE AW_MPI_VI_CreateVipp(VI_DEV ViDev);
ERRORTYPE AW_MPI_VI_DestroyVipp(VI_DEV ViDev);
ERRORTYPE AW_MPI_VI_SetVippAttr(VI_DEV ViDev, VI_ATTR_S *pstAttr);
ERRORTYPE AW_MPI_VI_GetVippAttr(VI_DEV ViDev, VI_ATTR_S *pstAttr);
ERRORTYPE AW_MPI_VI_SetVippMirror(VI_DEV ViDev, int Value);
ERRORTYPE AW_MPI_VI_GetVippMirror(VI_DEV ViDev, int *Value);
ERRORTYPE AW_MPI_VI_SetVippFlip(VI_DEV ViDev, int Value);
ERRORTYPE AW_MPI_VI_GetVippFlip(VI_DEV ViDev, int *Value);
ERRORTYPE AW_MPI_VI_EnableVipp(VI_DEV ViDev);
ERRORTYPE AW_MPI_VI_DisableVipp(VI_DEV ViDev);
ERRORTYPE AW_MPI_VI_SetVippShutterTime(VI_DEV ViDev, VI_SHUTTIME_CFG_S *pTime);
ERRORTYPE AW_MPI_VI_CreateVirChn(VI_DEV ViDev, VI_CHN ViCh, ViVirChnAttrS *pAttr);
ERRORTYPE AW_MPI_VI_DestroyVirChn(VI_DEV ViDev, VI_CHN ViCh);
ERRORTYPE AW_MPI_VI_GetVirChnAttr(VI_DEV ViDev, VI_CHN ViCh, ViVirChnAttrS *pAttr);
ERRORTYPE AW_MPI_VI_SetVirChnAttr(VI_DEV ViDev, VI_CHN ViCh, ViVirChnAttrS *pAttr);
ERRORTYPE AW_MPI_VI_EnableVirChn(VI_DEV ViDev, VI_CHN ViCh);
ERRORTYPE AW_MPI_VI_DisableVirChn(VI_DEV ViDev, VI_CHN ViCh);
/* VI non-tunnel operations */
ERRORTYPE AW_MPI_VI_GetFrame(VI_DEV ViDev, VI_CHN ViCh, VIDEO_FRAME_INFO_S *pstFrameInfo, AW_S32 s32MilliSec);
ERRORTYPE AW_MPI_VI_ReleaseFrame(VI_DEV ViDev, VI_CHN ViCh, VIDEO_FRAME_INFO_S *pstFrameInfo);
ERRORTYPE AW_MPI_VI_SetShutterTime(VI_DEV ViDev, VI_CHN ViChnMask, VI_SHUTTIME_CFG_S *pTime);
// Other Interface
ERRORTYPE AW_MPI_VI_SetVIFreq(VI_DEV ViDev, int nFreq); //nFreq: MHz
//AW_S32 AW_MPI_VI_GetInfo(); /* get bind config */
ERRORTYPE AW_MPI_VI_RegisterCallback(VI_DEV ViDev, MPPCallbackInfo *pCallback);
//AW_S32 AW_MPI_VI_SetOsdMaskRegion(VI_DEV ViDev, VI_OsdMaskRegion *pstOsdMaskRegion);
//AW_S32 AW_MPI_VI_UpdateOsdMaskRegion(VI_DEV ViDev, AW_U32 OnOff);
ERRORTYPE AW_MPI_VI_GetIspDev(VI_DEV ViDev, ISP_DEV *pIspDev);
ERRORTYPE AW_MPI_VI_SetCrop(VI_DEV ViDev, const VI_CROP_CFG_S *pCropCfg);
ERRORTYPE AW_MPI_VI_GetCrop(VI_DEV ViDev, VI_CROP_CFG_S *pCropCfg);
ERRORTYPE AW_MPI_VI_SetSyncCtrl(VI_DEV ViDev, const struct csi_sync_ctrl *pSync);
AW_S32 AW_MPI_ISP_SetMirror(VI_DEV ViDev, int Value);
AW_S32 AW_MPI_ISP_SetFlip(VI_DEV ViDev, int Value);
#ifdef __cplusplus
#if __cplusplus
}
#endif /* __cplusplus */
#endif /* __cplusplus */
#endif /*_AW_VI_API_H_*/