nt9856x/code/hdal/vendor/isp/drivers/include/aft_api.h
2023-03-28 15:07:53 +08:00

186 lines
4.4 KiB
C
Executable File

#ifndef _AFT_API_H_
#define _AFT_API_H_
#if defined(__KERNEL__) || defined(__FREERTOS)
#include "af_alg.h"
#include "af_ui.h"
#endif
#define AF_CFG_NAME_LENGTH 256
#define AF_DTSI_NAME_LENGTH 256
/**
AF tuning item
*/
typedef enum _AFT_ITEM {
AFT_ITEM_VERSION = 0,///< data_type: [Get] UINT32
AFT_ITEM_SIZE_TAB, ///< data_type: [Get] AFT_INFO
AFT_ITEM_RLD_CONFIG, ///< data_type: [Set] AFT_CFG_INFO
AFT_ITEM_RLD_DTSI,
AFT_ITEM_RESERVE_04,
AFT_ITEM_RESERVE_05,
AFT_ITEM_RESERVE_06,
AFT_ITEM_RESERVE_07,
AFT_ITEM_RESERVE_08,
AFT_ITEM_RESERVE_09,
// NOTE: Start of vendor API usage
AFT_ITEM_OPERATION, ///< data_type: [Set/Get] AFT_OPERATION
AFT_ITEM_RESERVE_11,
AFT_ITEM_RESERVE_12,
AFT_ITEM_RESERVE_13,
AFT_ITEM_RESERVE_14,
AFT_ITEM_RESERVE_15,
AFT_ITEM_RESERVE_16,
AFT_ITEM_RESERVE_17,
AFT_ITEM_RESERVE_18,
AFT_ITEM_RESERVE_19,
AFT_ITEM_RESERVE_20,
AFT_ITEM_RESERVE_21,
AFT_ITEM_RESERVE_22,
AFT_ITEM_RESERVE_23,
AFT_ITEM_RESERVE_24,
AFT_ITEM_RESERVE_25,
AFT_ITEM_RESERVE_26,
AFT_ITEM_RESERVE_27,
AFT_ITEM_RESERVE_28,
AFT_ITEM_RESERVE_29,
AFT_ITEM_RESERVE_30,
// NOTE: End of vendor API usage
AFT_ITEM_ENABLE = 31,///< data_type: [Set/Get] AFT_ENABLE
AFT_ITEM_ALG_METHOD, ///< data_type: [Set/Get] AFT_ALG_METHOD
AFT_ITEM_SHOT_MODE, ///< data_type: [Set/Get] AFT_SHOT_MODE
AFT_ITEM_SEARCH_DIR, ///< data_type: [Set/Get] AFT_SEARCH_DIR
AFT_ITEM_SKIP_FRAME, // 35,///< data_type: [Set/Get] AFT_SKIP_FRAME
AFT_ITEM_THRES, ///< data_type: [Set/Get] AFT_THRES
AFT_ITEM_STEP_SIZE, ///< data_type: [Set/Get] AFT_STEP_SIZE
AFT_ITEM_MAX_COUNT, ///< data_type: [Set/Get] AFT_MAX_COUNT
AFT_ITEM_WIN_WEIGHT, ///< data_type: [Set/Get] AFT_WIN_WEIGHT
AFT_ITEM_VA_STA, // 40,///< data_type: [Get] AFT_VA_STA
AFT_ITEM_RETRIGGER, ///< data_type: [Set] AFT_RETRIGGER
AFT_ITEM_DBG_MSG, ///< data_type: [Set/Get] AFT_DBG_MSG
AFT_ITEM_EXEC_STATUS, ///< data_type: [Get] AFT_EXEC_STS
AFT_ITEM_SEN_RESOLUTION, ///< data_type: [Get] AFT_SEN_RESO
AFT_ITEM_NIGHT_MODE, // 45,///< data_type: [Get] AFT_NIGHT_MODE
AFT_ITEM_ALG_CMD, ///< data_type: [Set/Get] AFT_ALG_CMD
AFT_ITEM_VA_OPT, ///< data_type: [Set/Get] AFT_VA_OPT
AFT_ITEM_BACKLASH_COMP, ///< data_type: [Set/Get] AFT_BACKLASH_COMP
AFT_ITEM_RESERVE_49,
AFT_ITEM_MAX = 50,
ENUM_DUMMY4WORD(AFT_ITEM)
} AFT_ITEM;
typedef struct AFT_INFO {
UINT32 size_tab[AFT_ITEM_MAX][2];
} AFT_INFO;
typedef struct _AFT_CFG_INFO {
AF_ID id;
CHAR path[AF_CFG_NAME_LENGTH];
} AFT_CFG_INFO;
typedef struct _AFT_DTSI_INFO {
AF_ID id;
CHAR node_path[AF_DTSI_NAME_LENGTH];
CHAR file_path[AF_DTSI_NAME_LENGTH];
UINT8 *buf_addr;
} AFT_DTSI_INFO;
typedef struct _AFT_OPERATION {
UINT32 id;
AF_OPERATION operation;
} AFT_OPERATION;
typedef struct _AFT_ENABLE {
AF_ID id;
BOOL func_en;
} AFT_ENABLE;
typedef struct _AFT_ALG_METHOD {
AF_ID id;
AF_ALG_METHOD alg_method;
} AFT_ALG_METHOD;
typedef struct _AFT_SHOT_MODE {
AF_ID id;
AF_SHOT_MODE shot_mode;
} AFT_SHOT_MODE;
typedef struct _AFT_SEARCH_DIR {
AF_ID id;
AF_SEARCH_DIR search_dir;
} AFT_SEARCH_DIR;
typedef struct _AFT_SKIP_FRAME {
AF_ID id;
UINT32 skip_frame;
} AFT_SKIP_FRAME;
typedef struct _AFT_THRES {
AF_ID id;
AF_THRES thres;
} AFT_THRES;
typedef struct _AFT_STEP_SIZE {
AF_ID id;
AF_STEP_SIZE step_size;
} AFT_STEP_SIZE;
typedef struct _AFT_MAX_COUNT {
AF_ID id;
UINT32 max_count;
} AFT_MAX_COUNT;
typedef struct _AFT_WIN_WEIGHT {
AF_ID id;
AF_WIN_WEIGHT win_weight;
} AFT_WIN_WEIGHT;
typedef struct _AFT_VA_STA {
AF_ID id;
AF_VA_STA va_sta;
} AFT_VA_STA;
typedef struct _AFT_RETRIGGER {
AF_ID id;
BOOL retrigger;
} AFT_RETRIGGER;
typedef struct _AFT_DBG_MSG {
AF_ID id;
AF_DBG_MSG dbg_msg;
} AFT_DBG_MSG;
typedef struct _AFT_EXEC_STS {
AF_ID id;
AFALG_STATUS_RESULT exec_rslt;
UINT32 reserve[3];
} AFT_EXEC_STS;
typedef struct _AFT_SEN_RESO {
AF_ID id;
UINT32 sen_reso;
} AFT_SEN_RESO;
typedef struct _AFT_NIGHT_MODE {
AF_ID id;
BOOL night_mode;
} AFT_NIGHT_MODE;
typedef struct _AFT_ALG_CMD {
AF_ID id;
AFALG_CMD cmd;
} AFT_ALG_CMD;
typedef struct _AFT_VA_OPT {
AF_ID id;
AF_VA_OPT opt;
} AFT_VA_OPT;
typedef struct _AFT_BACKLASH_COMP {
AF_ID id;
BOOL enable;
} AFT_BACKLASH_COMP;
#endif