#ifndef _ISP_CUS3A_IF_H_ #define _ISP_CUS3A_IF_H_ #ifdef __cplusplus extern "C" { #endif #define CUS3A_VER_STR "CUS3A_V1.1" #define CUS3A_VER_MAJOR 1 #define CUS3A_VER_MINOR 1 #include "cam_os_wrapper.h" #if 0 typedef unsigned char u8; //typedef signed char s8; typedef unsigned short u16; //typedef signed short s16; typedef unsigned int u32; //typedef signed int s32; typedef unsigned long long u64; //typedef signed long long s64; #endif #define MV_WIN_NUM 25 #define CAM20_AUTO_NUM 16 #define CAM20_SDC_CTRL_ITEM_NUMBER 2 #define AWB_LV_CT_TBL_NUM 18 #define AWB_CT_TBL_NUM 10 #define MS_GAMMA_TBL 256 #define MS_ALSC_TBL_W 61 #define MS_ALSC_TBL_H 69 #define MS_ALSC_TBL 4209 #define MS_SDC_TBL 1024 #define MS_FPN_TBL 4000 //infinity5 #define MS_YUVGAMA_Y_TBL 256 #define MS_YUVGAMA_VU_TBL 128 #define MS_WDR_LOC_TBL 88 #define MS_CAM_AF_MAX_WIN_NUM 16 // #define MAX_CUST_3A_CHINFO_NUM (16) /*------AE/AWB interface--------*/ /*! @brief API error code*/ typedef enum CUS_3A_ERR_CODE { CUS_3A_SUCCESS = 0, /**< operation successful */ CUS_3A_ERROR = -1, /**< unspecified failure */ }CUS3A_ERR_CODE; #define _3A_ROW (128) /**< number of 3A statistic blocks in a row */ #define _3A_COL (90) /**< number of 3A statistic blocks in a column */ #define _3A_HIST_BIN0 (40) /**< histogram type0 resolution*/ #define _3A_HIST_BINX (128) /**< histogram type1 resolution*/ #define _3A_IR_HIST_BIN (256) /**< histogram type2 resolution*/ // AWB statistic , one sample typedef struct { u8 r; u8 g; u8 b; } __attribute__((packed, aligned(1))) ISP_AWB_SAMPLE; #if 0 /*! @brief AWB HW statistics data*/ typedef struct { //ISP_AWB_SAMPLE data[_3A_ROW*_3A_COL]; u32 AvgBlkX; u32 AvgBlkY; ISP_AWB_SAMPLE *avgs; } __attribute__((packed, aligned(1))) ISP_AWB_INFO; #else /*! @brief AWB HW statistics data*/ typedef struct { u32 Size; /**< struct size*/ u32 AvgBlkX; u32 AvgBlkY; u32 CurRGain; u32 CurGGain; u32 CurBGain; ISP_AWB_SAMPLE *avgs; /*awb statis for linear frame or HDR long frame*/ /*CUS3A V1.1*/ u8 HDRMode; /**< Noramal or HDR mode*/ ISP_AWB_SAMPLE* pAwbStatisShort; /**