144 lines
4.8 KiB
C
144 lines
4.8 KiB
C
|
/******************************************************************************
|
|||
|
Copyright (C), 2001-2017, Allwinner Tech. Co., Ltd.
|
|||
|
******************************************************************************
|
|||
|
File Name : mm_comm_ise.h
|
|||
|
Version : Initial Draft
|
|||
|
Author : Allwinner BU3-PD2 Team
|
|||
|
Created : 2017/1/5
|
|||
|
Last Modified :
|
|||
|
Description : mpp component implement
|
|||
|
Function List :
|
|||
|
History :
|
|||
|
******************************************************************************/
|
|||
|
|
|||
|
#ifndef _MM_COMMON_ISE_H_
|
|||
|
#define _MM_COMMON_ISE_H_
|
|||
|
|
|||
|
#include "mm_common.h"
|
|||
|
#include "plat_errno.h"
|
|||
|
#include "sunxi_camera_v2.h"
|
|||
|
#include "mm_comm_vi.h"
|
|||
|
// #include "ISE_common.h"
|
|||
|
//#include "ISE_lib_bi.h"
|
|||
|
#include "ISE_lib_mo.h"
|
|||
|
//#include "ISE_lib_sti.h"
|
|||
|
#include "ISE_lib_gdc.h"
|
|||
|
#ifdef __cplusplus
|
|||
|
#if __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif /* __cplusplus */
|
|||
|
#endif /* __cplusplus */
|
|||
|
|
|||
|
typedef void AW_VOID;
|
|||
|
|
|||
|
#define ISE_MAX_GRP_NUM 8
|
|||
|
#define ISE_MAX_CHN_NUM 4
|
|||
|
|
|||
|
#define ISEMODE_ONE_FISHEYE 0x01
|
|||
|
#define ISEMODE_TWO_FISHEYE 0x02
|
|||
|
#define ISEMODE_TWO_ISE 0x03
|
|||
|
|
|||
|
typedef enum {
|
|||
|
HANDLE_BY_HARDWARE = 0x0001,
|
|||
|
HANDLE_BY_SOFT = 0x0002
|
|||
|
}DFISH_HANDLE_MODE;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
int bgfg_intvl; // 每隔多少个SLEEP_MS进行一次model
|
|||
|
int getbgd_intvl; // 每隔多少帧获取背景图片
|
|||
|
int bgfg_sleep_ms; // SC16队列非空时,sleep多少MS
|
|||
|
}ISE_BGFG_PARA_STI;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
//ISE_CFG_PARA_BI ise_cfg;
|
|||
|
DFISH_HANDLE_MODE handle_mode;
|
|||
|
} DFISH;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ISE_CFG_PARA_MO ise_cfg;
|
|||
|
ISE_CFG_PARA_GDC ise_gdc_cfg;
|
|||
|
} FISH;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
//ISE_CFG_PARA_STI ise_cfg;
|
|||
|
//ISE_PROCCFG_PARA_STI ise_proccfg;
|
|||
|
ISE_BGFG_PARA_STI ise_bgfg;
|
|||
|
} ISE;
|
|||
|
|
|||
|
typedef union {
|
|||
|
FISH mFish;
|
|||
|
DFISH mDFish;
|
|||
|
ISE mIse;
|
|||
|
} MODE_ATTR;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
AW_U32 iseMode; // one or two camera:ISEMODE_ONE_FISHEYE,ISEMODE_TWO_FISHEYE,ISEMODE_TWO_ISE
|
|||
|
PIXEL_FORMAT_E mPixelFormat;
|
|||
|
} ISE_GROUP_ATTR_S;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
MODE_ATTR mode_attr;
|
|||
|
int buffer_num;
|
|||
|
//ISE callback
|
|||
|
cbRectifyPixel UserCallback;
|
|||
|
} ISE_CHN_ATTR_S;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ISE_GRP mIseGrp;
|
|||
|
ISE_CHN mIseChn;
|
|||
|
int nMilliSec;
|
|||
|
VIDEO_FRAME_INFO_S *frame;
|
|||
|
} ISE_DATA_S;
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
VIDEO_FRAME_INFO_S *pbuf0;
|
|||
|
VIDEO_FRAME_INFO_S *pbuf1;
|
|||
|
} VI_FRAME_BUF_INFOS;
|
|||
|
|
|||
|
/* invlalid channel ID */
|
|||
|
#define ERR_ISE_INVALID_CHNID DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_INVALID_CHNID)
|
|||
|
/* at lease one parameter is illagal ,eg, an illegal enumeration value */
|
|||
|
#define ERR_ISE_ILLEGAL_PARAM DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_ILLEGAL_PARAM)
|
|||
|
/* channel exists */
|
|||
|
#define ERR_ISE_EXIST DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_EXIST)
|
|||
|
/* using a NULL point */
|
|||
|
#define ERR_ISE_NULL_PTR DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_NULL_PTR)
|
|||
|
/* try to enable or initialize system,device or channel, before configing
|
|||
|
* attribute */
|
|||
|
#define ERR_ISE_NOT_CONFIG DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_CONFIG)
|
|||
|
/* operation is not supported by NOW */
|
|||
|
#define ERR_ISE_NOT_SUPPORT DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_SUPPORT)
|
|||
|
/* operation is not permitted ,eg, try to change stati attribute */
|
|||
|
#define ERR_ISE_NOT_PERM DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_NOT_PERM)
|
|||
|
/* the channle is not existed */
|
|||
|
#define ERR_ISE_UNEXIST DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_UNEXIST)
|
|||
|
/* failure caused by malloc memory */
|
|||
|
#define ERR_ISE_NOMEM DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_NOMEM)
|
|||
|
/* failure caused by malloc buffer */
|
|||
|
#define ERR_ISE_NOBUF DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_NOBUF)
|
|||
|
/* system is not ready,had not initialed or loaded*/
|
|||
|
#define ERR_ISE_SYS_NOTREADY DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_SYS_NOTREADY)
|
|||
|
/*system busy*/
|
|||
|
#define ERR_ISE_BUSY DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_BUSY)
|
|||
|
/* timeout */
|
|||
|
#define ERR_ISE_TIMEOUT DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_TIMEOUT)
|
|||
|
/* component state is same as user wanted */
|
|||
|
#define ERR_ISE_SAMESTATE DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_SAMESTATE)
|
|||
|
/* component state is transit to invalid state */
|
|||
|
#define ERR_ISE_INVALIDSTATE DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_INVALIDSTATE)
|
|||
|
/* component current state can't transit to destination state */
|
|||
|
#define ERR_ISE_INCORRECT_STATE_TRANSITION DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_INCORRECT_STATE_TRANSITION)
|
|||
|
/* Attempting a command that is not allowed during the present state. */
|
|||
|
#define ERR_ISE_INCORRECT_STATE_OPERATION DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_INCORRECT_STATE_OPERATION)
|
|||
|
#define ERR_ISE_BUF_EMPTY DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_BUF_EMPTY)
|
|||
|
/* efuse check fail */
|
|||
|
#define ERR_ISE_EFUSE_ERROR DEF_ERR(MOD_ID_ISE, EN_ERR_LEVEL_ERROR, EN_ERR_EFUSE_ERROR)
|
|||
|
#ifdef __cplusplus
|
|||
|
#if __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
#endif /* __cplusplus */
|
|||
|
|
|||
|
#endif /*_MM_COMMON_ISE_H_*/
|