321 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			321 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef _AET_API_H_
 | |
| #define _AET_API_H_
 | |
| 
 | |
| #if defined(__KERNEL__) || defined(__FREERTOS)
 | |
| #include "ae_alg.h"
 | |
| #include "ae_ui.h"
 | |
| #include "ae_nnsc.h"
 | |
| #endif
 | |
| 
 | |
| #define AE_CFG_NAME_LENGTH 256
 | |
| #define AE_DTSI_NAME_LENGTH 256
 | |
| 
 | |
| #define AET_ITEM_NNSC_OFFSET 100
 | |
| 
 | |
| /**
 | |
| 	AE tuning item
 | |
| */
 | |
| typedef enum _AET_ITEM {
 | |
| 	AET_ITEM_VERSION                                    = 0,///< data_type: [Get]     UINT32
 | |
| 	AET_ITEM_SIZE_TAB,                                      ///< data_type: [Get]     AET_INFO
 | |
| 	AET_ITEM_RLD_CONFIG,                                    ///< data_type: [Set]     AET_CFG_INFO
 | |
| 	AET_ITEM_RLD_DTSI,                                      ///< data_type: [Set]     AET_DTSI_INFO
 | |
| 	AET_ITEM_RESERVE_04,
 | |
| 	AET_ITEM_RESERVE_05,
 | |
| 	AET_ITEM_RESERVE_06,
 | |
| 	AET_ITEM_RESERVE_07,
 | |
| 	AET_ITEM_RESERVE_08,
 | |
| 	AET_ITEM_RESERVE_09,
 | |
| 	AET_ITEM_RESERVE_10                                = 10,
 | |
| 	AET_ITEM_EXT_PARAM,
 | |
| 	AET_ITEM_FREQUENCY,                                     ///< data_type: [Set/Get] AET_FREQUENCY_MODE
 | |
| 	AET_ITEM_METER,                                         ///< data_type: [Set/Get] AET_METER_MODE
 | |
| 	AET_ITEM_EV,                                            ///< data_type: [Set/Get] AET_EV_OFFSET
 | |
| 	AET_ITEM_ISO                                       = 15,///< data_type: [Set/Get] AET_ISO_VALUE
 | |
| 	AET_ITEM_SKIP_LA,                                       ///< data_type: [Set/Get] AET_SKIP_LA
 | |
| 	AET_ITEM_LONGEXP,                                       ///< data_type: [Set/Get] AET_LONGEXP_MODE
 | |
| 	AET_ITEM_LONGEXP_EXPT,                                  ///< data_type: [Set/Get] AET_LONGEXP_EXPT_VALUE
 | |
| 	AET_ITEM_LONGEXP_ISO,                                   ///< data_type: [Set/Get] AET_LONGEXP_ISO_VALUE
 | |
| 	AET_ITEM_OPERATION,                                     ///< data_type: [Set/Get] AET_OPERATION
 | |
| 	AET_ITEM_DCIRIS,                                        ///< data_type: [Set/Get] AET_DCIRIS
 | |
| 	AET_ITEM_SHDR_HBS,                                      ///< data_type: [Set/Get] AET_SHDR_HBS
 | |
| 	AET_ITEM_LA_ROI,                                        ///< data_type: [Set/Get] AET_LA_ROI
 | |
| 	AET_ITEM_AFD_PARAM,                                     ///< data_type: [Set/Get] AET_AFD_PARAM
 | |
| 	AET_ITEM_AFD_TRIGGER,                                   ///< data_type: [Set/Get] AET_AFD_TRIGGER
 | |
| 	AET_ITEM_AFD_DETECT_RESULT,                             ///< data_type: [Set/Get] AET_AFD_DETECT_RESULT
 | |
| 	AET_ITEM_AFD_UNDERTERMINED_FREQ,                        ///< data_type: [Set/Get] AET_AFD_UNDETERMINED_FREQ
 | |
| 	AET_ITEM_STITCH_ID,                                     ///< data_type: [Set/Get] AET_STITCH_ID
 | |
| 	AET_ITEM_APERTURE_BOUND,                                ///< data_type: [Set/Get] AET_APERTURE_BOUND
 | |
| 	AET_ITEM_BASE_ISO                                  = 30,///< data_type: [Set/Get] UINT32
 | |
| 	AET_ITEM_BASE_GAIN_RATIO,                               ///< data_type: [Set/Get] UINT32
 | |
| 	AET_ITEM_EXPECT_LUM,                                    ///< data_type: [Set/Get] AET_EXPECT_LUM
 | |
| 	AET_ITEM_LA_CLAMP,                                      ///< data_type: [Set/Get] AET_LA_CLAMP
 | |
| 	AET_ITEM_OVER_EXPOSURE,                                 ///< data_type: [Set/Get] AET_OVER_EXPOSURE
 | |
| 	AET_ITEM_CONVERGENCE                               = 35,///< data_type: [Set/Get] AET_CONVERGENCE
 | |
| 	AET_ITEM_CURVE_GEN_MOVIE,                               ///< data_type: [Set/Get] AET_CURVE_GEN_MOVIE
 | |
| 	AET_ITEM_METER_WIN,                                     ///< data_type: [Set/Get] AET_METER_WINDOW
 | |
| 	AET_ITEM_LUM_GAMMA,                                     ///< data_type: [Set/Get] AET_LUM_GAMMA
 | |
| 	AET_ITEM_SHDR,                                          ///< data_type: [Set/Get] AET_SHDR
 | |
| 	AET_ITEM_IRIS_CFG                                  = 40,///< data_type: [Set/Get] AET_IRIS_CFG
 | |
| 	AET_ITEM_CURVE_GEN_PHOTO,                               ///< data_type: [Set/Get] AET_CURVE_GEN_PHOTO
 | |
| 	AET_ITEM_MANUAL,                                        ///< data_type: [Set/Get] AET_MANUAL
 | |
| 	AET_ITEM_STATUS,                                        ///< data_type: [Get]     AET_STATUS_INFO
 | |
| 	AET_ITEM_PRIORITY,                                      ///< data_type: [Set/Get] AET_PRIORITY
 | |
| 	AET_ITEM_ROI_WIN                                   = 45,///< data_type: [Set/Get] AET_ROI_WIN
 | |
| 	AET_ITEM_SMART_IR,                                      ///< data_type: [Set/Get] AET_SMART_IR
 | |
| 	AET_ITEM_EXPT_BOUND,                                    ///< data_type: [Set/Get] AET_EXPT_BOUND
 | |
| 	AET_ITEM_GAIN_BOUND,                                    ///< data_type: [Set/Get] AET_GAIN_BOUND
 | |
| 	AET_ITEM_LA_WIN,                                        ///< data_type: [Set/Get] AET_LA_WIN
 | |
| 	AET_ITEM_RESERVE_50,
 | |
| 	AET_ITEM_RESERVE_51,
 | |
| 	AET_ITEM_RESERVE_52,
 | |
| 	AET_ITEM_RESERVE_53,
 | |
| 	AET_ITEM_RESERVE_54,
 | |
| 	AET_ITEM_RESERVE_55,
 | |
| 	AET_ITEM_RESERVE_56,
 | |
| 	AET_ITEM_RESERVE_57,
 | |
| 	AET_ITEM_RESERVE_58,
 | |
| 	AET_ITEM_RESERVE_59,
 | |
| 	AET_ITEM_MAX                                       = 60,
 | |
| 
 | |
| 	AET_ITEM_NNSC_EXP_RATIO          = AET_ITEM_NNSC_OFFSET,///< data_type: [Set/Get] AET_EXP_RATIO
 | |
| 	AET_ITEM_NNSC_RESERVE_101,
 | |
| 	AET_ITEM_NNSC_RESERVE_102,
 | |
| 	AET_ITEM_NNSC_RESERVE_103,
 | |
| 	AET_ITEM_NNSC_RESERVE_104,
 | |
| 	AET_ITEM_NNSC_RESERVE_105,
 | |
| 	AET_ITEM_NNSC_RESERVE_106,
 | |
| 	AET_ITEM_NNSC_RESERVE_107,
 | |
| 	AET_ITEM_NNSC_RESERVE_108,
 | |
| 	AET_ITEM_NNSC_RESERVE_109,
 | |
| 	AET_ITEM_NNSC_MAX                                 = 110,
 | |
| 
 | |
| 	ENUM_DUMMY4WORD(AET_ITEM)
 | |
| } AET_ITEM;
 | |
| 
 | |
| typedef struct AET_INFO {
 | |
| 	UINT32 size_tab[AET_ITEM_MAX][2];
 | |
| } AET_INFO;
 | |
| 
 | |
| typedef struct _AET_CFG_INFO {
 | |
| 	AE_ID id;
 | |
| 	CHAR path[AE_CFG_NAME_LENGTH];
 | |
| } AET_CFG_INFO;
 | |
| 
 | |
| typedef struct _AET_DTSI_INFO {
 | |
| 	AE_ID id;
 | |
| 	CHAR node_path[AE_DTSI_NAME_LENGTH];
 | |
| 	CHAR file_path[AE_DTSI_NAME_LENGTH];
 | |
| 	UINT8 *buf_addr;
 | |
| } AET_DTSI_INFO;
 | |
| 
 | |
| typedef struct _AET_FREQUENCY_MODE {
 | |
| 	UINT32 id;
 | |
| 	AE_FREQUENCY mode;
 | |
| } AET_FREQUENCY_MODE;
 | |
| 
 | |
| typedef struct _AET_METER_MODE {
 | |
| 	UINT32 id;
 | |
| 	AE_METER mode;
 | |
| } AET_METER_MODE;
 | |
| 
 | |
| typedef struct _AET_EV_OFFSET {
 | |
| 	UINT32 id;
 | |
| 	AE_EV offset;
 | |
| } AET_EV_OFFSET;
 | |
| 
 | |
| typedef struct _AET_ISO_VALUE {
 | |
| 	UINT32 id;
 | |
| 	AE_ISO value;
 | |
| } AET_ISO_VALUE;
 | |
| 
 | |
| typedef struct _AET_LONGEXP_MODE {
 | |
| 	UINT32 id;
 | |
| 	AE_CAP_LONGEXP mode;
 | |
| } AET_LONGEXP_MODE;
 | |
| 
 | |
| typedef struct _AET_LONGEXP_EXPT_VALUE {
 | |
| 	UINT32 id;
 | |
| 	UINT32 value;
 | |
| } AET_LONGEXP_EXPT_VALUE;
 | |
| 
 | |
| typedef struct _AET_LONGEXP_ISO_VALUE {
 | |
| 	UINT32 id;
 | |
| 	UINT32 value;
 | |
| } AET_LONGEXP_ISO_VALUE;
 | |
| 
 | |
| typedef struct _AET_OPERATION {
 | |
| 	UINT32 id;
 | |
| 	AE_OPERATION operation;
 | |
| } AET_OPERATION;
 | |
| 
 | |
| typedef struct _AET_BASE_ISO {
 | |
| 	AE_ID id;
 | |
| 	UINT32 base_iso;
 | |
| } AET_BASE_ISO;
 | |
| 
 | |
| typedef struct _AET_BASE_GAIN_RATIO {
 | |
| 	AE_ID id;
 | |
| 	UINT32 base_gain_ratio;
 | |
| } AET_BASE_GAIN_RATIO;
 | |
| 
 | |
| typedef struct _AET_EXPECT_LUM {
 | |
| 	AE_ID id;
 | |
| 	AE_EXPECT_LUM expect_lum;
 | |
| } AET_EXPECT_LUM;
 | |
| 
 | |
| typedef struct _AET_LA_CLAMP {
 | |
| 	AE_ID id;
 | |
| 	AE_LA_CLAMP la_clamp;
 | |
| } AET_LA_CLAMP;
 | |
| 
 | |
| typedef struct _AET_OVER_EXPOSURE {
 | |
| 	AE_ID id;
 | |
| 	AE_OVER_EXPOSURE over_exposure;
 | |
| } AET_OVER_EXPOSURE;
 | |
| 
 | |
| typedef struct _AET_CONVERGENCE {
 | |
| 	AE_ID id;
 | |
| 	AE_CONVERGENCE convergence;
 | |
| } AET_CONVERGENCE;
 | |
| 
 | |
| typedef struct _AET_CURVE_GEN_MOVIE {
 | |
| 	AE_ID id;
 | |
| 	AE_CURVE_GEN_MOVIE curve_gen_movie;
 | |
| } AET_CURVE_GEN_MOVIE;
 | |
| 
 | |
| typedef struct _AET_EXTEND_PARAM {
 | |
| 	AE_ID id;
 | |
| 	AE_EXTEND_PARAM ext_param;
 | |
| } AET_EXTEND_PARAM;
 | |
| 
 | |
| typedef struct _AET_METER_WINDOW {
 | |
| 	AE_ID id;
 | |
| 	AE_METER_WINDOW meter_window;
 | |
| } AET_METER_WINDOW;
 | |
| 
 | |
| typedef struct _AET_LUM_GAMMA {
 | |
| 	AE_ID id;
 | |
| 	AE_LUM_GAMMA lum_gamma;
 | |
| } AET_LUM_GAMMA;
 | |
| 
 | |
| typedef struct _AET_SHDR {
 | |
| 	AE_ID id;
 | |
| 	AE_SHDR shdr;
 | |
| } AET_SHDR;
 | |
| 
 | |
| typedef struct _AET_IRIS_CFG {
 | |
| 	AE_ID id;
 | |
| 	AE_IRIS_CFG iris_cfg;
 | |
| } AET_IRIS_CFG;
 | |
| 
 | |
| typedef struct _AET_CURVE_GEN_PHOTO {
 | |
| 	AE_ID id;
 | |
| 	AE_CURVE_GEN_PHOTO curve_gen_photo;
 | |
| } AET_CURVE_GEN_PHOTO;
 | |
| 
 | |
| typedef struct _AET_MANUAL {
 | |
| 	AE_ID id;
 | |
| 	AE_MANUAL manual;
 | |
| } AET_MANUAL;
 | |
| 
 | |
| typedef struct _AET_STATUS_INFO {
 | |
| 	AE_ID id;
 | |
| 	AE_STATUS_INFO status_info;
 | |
| } AET_STATUS_INFO;
 | |
| 
 | |
| typedef struct _AET_PRIORITY {
 | |
| 	AE_ID id;
 | |
| 	UINT32 expt;
 | |
| 	UINT32 iso;
 | |
| 	UINT32 aperture;
 | |
| } AET_PRIORITY;
 | |
| 
 | |
| typedef struct _AET_ROI_WIN {
 | |
| 	AE_ID id;
 | |
| 	AE_ROI_WIN roi_win;
 | |
| } AET_ROI_WIN;
 | |
| 
 | |
| typedef struct _AET_SMART_IR {
 | |
| 	AE_ID id;
 | |
| 	AE_SMART_IR_WEIGHT weight;
 | |
| } AET_SMART_IR;
 | |
| 
 | |
| typedef struct _AET_EXPT_BOUND {
 | |
| 	AE_ID id;
 | |
| 	AE_BOUNDARY bound;
 | |
| } AET_EXPT_BOUND;
 | |
| 
 | |
| typedef struct _AET_GAIN_BOUND {
 | |
| 	AE_ID id;
 | |
| 	AE_BOUNDARY bound;
 | |
| } AET_GAIN_BOUND;
 | |
| 
 | |
| typedef struct _AET_LA_WIN {
 | |
| 	AE_ID id;
 | |
| 	AE_LA_WIN la_win;
 | |
| } AET_LA_WIN;
 | |
| 
 | |
| typedef struct _AET_APERTURE_BOUND {
 | |
| 	AE_ID id;
 | |
| 	AE_APERTURE_BOUND aperture_bound;
 | |
| } AET_APERTURE_BOUND;
 | |
| 
 | |
| typedef struct _AET_STITCH_ID {
 | |
| 	AE_ID id;
 | |
| 	UINT32 stitch_id;
 | |
| } AET_STITCH_ID;
 | |
| 
 | |
| typedef struct _AET_AFD_TRIGGER {
 | |
| 	AE_ID id;
 | |
| 	AE_AFD_TRIGGER afd_trigger_type;
 | |
| } AET_AFD_TRIGGER;
 | |
| 
 | |
| typedef struct _AET_AFD_DETECT_RESULT {
 | |
| 	AE_ID id;
 | |
| 	UINT32 afd_detect_result;
 | |
| } AET_AFD_DETECT_RESULT;
 | |
| 
 | |
| typedef struct _AET_AFD_UNDETERMINED_FREQ {
 | |
| 	AE_ID id;
 | |
| 	AE_FLICKER afd_undetermined_freq;
 | |
| } AET_AFD_UNDETERMINED_FREQ;
 | |
| 
 | |
| typedef struct _AET_AFD_PARAM {
 | |
| 	AE_ID id;
 | |
| 	AE_AFD_PARAM afd_param;
 | |
| } AET_AFD_PARAM;
 | |
| 
 | |
| typedef struct _AET_DCIRIS {
 | |
| 	AE_ID id;
 | |
| } AET_DCIRIS;
 | |
| 
 | |
| typedef struct _AET_SHDR_HBS {
 | |
| 	AE_ID id;
 | |
| 	AE_SHDR_HBS shdr_hbs;
 | |
| } AET_SHDR_HBS;
 | |
| 
 | |
| // Struct of NNSC Parameter
 | |
| typedef struct AET_NNSC_INFO {
 | |
| 	UINT32 size_tab[AET_ITEM_NNSC_MAX - AET_ITEM_NNSC_OFFSET][2];
 | |
| } AET_NNSC_INFO;
 | |
| 
 | |
| typedef struct _AET_EXP_RATIO {
 | |
| 	AE_ID id;
 | |
| 	AE_NNSC_EXP_RATIO ratio;
 | |
| } AET_EXP_RATIO;
 | |
| 
 | |
| typedef struct _AET_LA_ROI {
 | |
| 	AE_ID id;
 | |
| 	URECT la_roi;
 | |
| } AET_LA_ROI;
 | |
| 
 | |
| typedef struct _AET_SKIP_LA {
 | |
| 	AE_ID id;
 | |
| 	UINT32 skip_la;
 | |
| } AET_SKIP_LA;
 | |
| 
 | |
| 
 | |
| #endif
 | |
| 
 | 
