sdk-hwV1.3/external/eyesee-mpp/middleware/sun8iw21/media/LIBRARY/libISE/include/IEGcommon.h

117 lines
4.0 KiB
C
Raw Normal View History

2024-05-07 10:09:20 +00:00
/*
* =====================================================================================
* Copyright (c) Allwinner Technology Co. Ltd.
* All rights reserved.
*
* Filename: IEGcommon.h
* Description:
* Version: 1.0
* Created: 08/08/2019 04:18:11 PM
* Author: Gan Qiuye(ganqiuye@allwinnertech.com)
* =====================================================================================
*/
#ifndef _ISE_EIS_COMMON_H_
#define _ISE_EIS_COMMON_H_
#define MAX_SCALAR_CHNL 3 // scalar最多路数
// 当前版本号
#define ISE_EIS_MAJOR_VER 1 // 主版本号最大63
#define ISE_EIS_SUB_VER 1 // 子版本号最大31
#define ISE_EIS_REV_VER 1 // 修正版本号最大31
// 版本日期
#define ISE_EIS_VER_YEAR 2020
#define ISE_EIS_VER_MONTH 06
#define ISE_EIS_VER_DAY 10
// mem tab
#define ISE_EIS_MTAB_NUM 2
// returning Flag
#define LIB_S_OK 0x00
#define LIB_S_FAIL 0x80000001 // 发生错误
#define LIB_E_PARA_NULL 0x80000002 // 传入指针为空
#define LIB_E_MEM_NULL 0x80000003 //
#define LIB_E_MEM_OVER 0x80000004 // 内存分配失败
#define LIB_E_PARA_KEY 0x80000005 //
#define LIB_E_PARA_VAL 0x80000006 // 传入参数错误
#define LIB_E_MEM_ALIGN 0x80000007
#define LIB_E_DATA_FORMAT 0x80000008
#define LIB_E_IRQ_TIME_OUT 0x80000009 // 硬件处理超时
#define LIB_E_LUT_HIGHT_TOO_SMALL 0x8000000A
#define LIB_E_LUT_OUT_OF_RANGE 0x8000000B
#define LIB_E_ROIP_OVER 0x8000000C // ROIP溢出
#define LIB_E_BUFFER_NOT_ENOUGH 0x8000000D //缓存Buffer不足
#define EN_ERR_EFUSE_ERROR 25 //模块绑定未开启
typedef enum IMAGE_FORMAT
{
PLANE_YUV420 = 0x0, // nv12 YYYYYYYY UVUV ==>yuv420sp
PLANE_YVU420 = 0x01, //nv21 YYYYYYYY VUVU ==>yuv420sp
PLANE_YUV420p = 0x02, //yv12
PLANE_YUV422 = 0x03,
PLANE_YVU422 = 0x04,
PLANE_YUV422p = 0x05,
PLANE_RGB = 0x06,
PLANE_RGBp = 0x07
}IMAGE_FORMAT;
/**内存对齐方式**/
typedef enum _ISE_EIS_MEM_ALIGNMENT_
{
ISE_EIS_MEM_ALIGN_4BYTE = 4,
ISE_EIS_MEM_ALIGN_8BYTE = 8,
ISE_EIS_MEM_ALIGN_16BYTE = 16,
ISE_EIS_MEM_ALIGN_32BYTE = 32,
ISE_EIS_MEM_ALIGN_64BYTE = 64,
ISE_EIS_MEM_ALIGN_128BYTE = 128,
ISE_EIS_MEM_ALIGN_256BYTE = 256,
ISE_EIS_MEM_ALIGN_512BYTE = 512,
ISE_EIS_MEM_ALIGN_1024BYTE = 1024
}ISE_EIS_MEM_ALIGNMENT;
/** 内存类型标志**/
typedef enum _ISE_EIS_MEM_ATTRS_
{
ISE_EIS_MEM_SCRATCH, // 可复用
ISE_EIS_MEM_PERSIST // 不可复用
} ISE_EIS_MEM_ATTRS;
typedef enum _ISE_EIS_MEM_SPACE_
{
ISE_EIS_MEM_EXTER_CACHED_DATA, // 外部可Cache存储区
ISE_EIS_MEM_EXTER_UNCACHED_DATA, // 外部不可Cache存储区
ISE_EIS_MEM_INTER_DATA, // 内部存储区
} ISE_EIS_MEM_SPACE;
// 获取参数类型
typedef enum _ISE_EIS_GET_CFG_TYPE_
{
ISE_EIS_GET_CFG_SINGLE_PARAM = 0x0001, // 单个参数
ISE_EIS_GET_CFG_VERSION = 0x0002 // 版本信息
} ISE_EIS_GET_CFG_TYPE;
/*****************************************************************************
*
* index , AVM_SINGLE_PARAM_KEY
* val_int
* val_float
******************************************************************************/
typedef struct _ISE_EIS_SINGLE_PARAM_
{
int index;
int val_int;
float val_float;
} ISE_EIS_SINGLE_PARAM;
typedef void* ISE_HANDLE_BI;
typedef void* ISE_HANDLE_MO;
typedef void* ISE_HANDLE_STI;
typedef void* ISE_HANDLE_BI_SOFT;
typedef void* ISE_HANDLE_GDC;
typedef void* EISE_HANDLE;
#endif