1 #ifndef __RKAIQ_TYPES_ALGO_AMD_PRVT_H__ 2 #define __RKAIQ_TYPES_ALGO_AMD_PRVT_H__ 3 4 #include "base/xcam_common.h" 5 #include "RkAiqCalibDbTypes.h" 6 #include "xcam_log.h" 7 #include "amd/rk_aiq_types_amd_algo.h" 8 #include "amd/rk_aiq_types_algo_amd_int.h" 9 #include "media_buffer/media_buffer_pool.h" 10 #include "mfnr_head_v1.h" 11 12 #define AMD_RATIO_BUF_NUM (4) 13 typedef struct AmdContext_s { 14 CamCalibDbContext_t* calib; 15 CamCalibDbV2Context_t *calibv2; 16 int imgWidth; 17 int imgHeight; 18 int imgAlignedW; 19 int imgAlignedH; 20 CalibDbV2_MFNR_TuningPara_Motion_t motion; 21 bool enable; 22 rk_aiq_amd_params_t params; 23 24 uint8_t* ratio_out[AMD_RATIO_BUF_NUM]; 25 int ratio_size; 26 //int cur_index; 27 28 XCamVideoBuffer* spImage_prev; 29 XCamVideoBuffer* ispGain_prev; 30 XCamVideoBuffer* spImage; 31 XCamVideoBuffer* ispGain; 32 33 uint8_t *pPreAlpha; 34 short *pTmpBuf; 35 uint8_t *static_ratio; 36 37 MediaBufPoolConfig_t BufPoolConfig; 38 MediaBufPoolMemory_t BufPoolMem; 39 MediaBufPool_t BufPool; 40 } AmdContext_t; 41 42 typedef struct _RkAiqAlgoContext { 43 AmdContext_t amdCtx; 44 } RkAiqAlgoContext; 45 46 typedef struct Mt_Params_Select_t 47 { 48 int enable; 49 float sigmaHScale; 50 float sigmaLScale; 51 float light_clp; 52 float uv_weight; 53 float mfnr_sigma_scale; 54 float yuvnr_gain_scale[3]; 55 float frame_limit_y; 56 float frame_limit_uv; 57 float gain_scale_l_y; 58 float gain_scale_h_y; 59 float gain_scale_l_uv; 60 float gain_scale_h_uv; 61 } Mt_Params_Select_t; 62 63 #endif//__RKAIQ_TYPES_ALGO_AMD_PRVT_H__ 64