| /* | 
|  *  Copyright (c) 2019 Rockchip Corporation | 
|  * | 
|  * Licensed under the Apache License, Version 2.0 (the "License"); | 
|  * you may not use this file except in compliance with the License. | 
|  * You may obtain a copy of the License at | 
|  * | 
|  *      http://www.apache.org/licenses/LICENSE-2.0 | 
|  * | 
|  * Unless required by applicable law or agreed to in writing, software | 
|  * distributed under the License is distributed on an "AS IS" BASIS, | 
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  * See the License for the specific language governing permissions and | 
|  * limitations under the License. | 
|  * | 
|  */ | 
|   | 
| #ifndef _ISP20_HW_SIMULATOR_H_ | 
| #define _ISP20_HW_SIMULATOR_H_ | 
|   | 
| #include "awb/rk_aiq_types_awb_algo_int.h" | 
| #include "ae/rk_aiq_types_ae_algo.h" | 
| #include "af/rk_aiq_af_hw_v200.h" | 
| #include "adehaze/rk_aiq_types_adehaze_algo_prvt.h" | 
| #include "anr/rk_aiq_types_anr_algo_int.h" | 
| #include "asharp/rk_aiq_types_asharp_algo_int.h" | 
| #include "adebayer/rk_aiq_types_algo_adebayer.h" | 
| #include "atmo/rk_aiq_types_atmo_algo_int.h" | 
| #include "atmo/rk_aiq_types_atmo_algo.h" | 
| #include "amerge/rk_aiq_types_amerge_algo_int.h" | 
| #include "amerge/rk_aiq_types_amerge_algo.h" | 
| #include "agamma/rk_aiq_types_agamma_algo_prvt.h" | 
| #include "aorb/rk_aiq_orb_hw.h" | 
| #include "adpcc/rk_aiq_types_adpcc_algo_int.h" | 
| #include "ablc/rk_aiq_types_ablc_algo_int.h" | 
| #include "alsc/rk_aiq_types_alsc_algo.h" | 
| #include "accm/rk_aiq_types_accm_algo.h" | 
| #include "agic/rk_aiq_types_algo_agic.h" | 
| #include "rk_aiq_luma.h" | 
| #include "a3dlut/rk_aiq_types_a3dlut_algo_int.h" | 
| typedef struct rk_sim_isp_v200_luma_s { | 
|     //luma | 
|     bool valid_luma; | 
|     isp_luma_stat_t image_luma_result; | 
| } rk_sim_isp_v200_luma_t; | 
|   | 
| typedef struct rk_sim_isp_v200_stats_s { | 
|     //awb | 
|     bool valid_awb; | 
|     rk_aiq_awb_stat_res_v200_t awb; | 
|     rk_aiq_awb_stat_res_v201_t awb_v201; | 
|     //ae | 
|     bool valid_ae; | 
|     RKAiqAecStats_t ae; | 
|     //af | 
|     bool valid_af; | 
|     rawaf_isp_af_stat_t af; | 
|     //anr html params | 
|     int iso; | 
|     //orb | 
|     bool valid_orb; | 
|     sim_orb_stat_t orb; | 
|     //atmo | 
|     unsigned short  rawWidth;               // rawͼ¿í | 
|     unsigned short  rawHeight; | 
|     bool valid_atmo; | 
|     rkisp_atmo_stats_t atmo; | 
| } rk_sim_isp_v200_stats_t; | 
|   | 
| typedef struct rk_sim_isp_v200_params_s { | 
|     float awb_smooth_factor; | 
|     rk_aiq_wb_gain_t awb_gain_algo; | 
|     rk_aiq_awb_stat_cfg_v200_t awb_hw0_para; | 
|     rk_aiq_awb_stat_cfg_v201_t awb_hw1_para; | 
|     //ae | 
|     RkAiqAecHwConfig_t ae_hw_config; | 
|     //anr | 
|     ANRProcResult_t rkaiq_anr_proc_res; | 
|     AsharpProcResult_t rkaiq_asharp_proc_res; | 
|     //adhaz | 
|     rk_aiq_dehaze_cfg_t adhaz_config; | 
|     //agamma | 
|     AgammaProcRes_t agamma_config; | 
|     //amerge | 
|     RkAiqAmergeProcResult_t amerge_proc_res; | 
|     //atmo | 
|     RkAiqAtmoProcResult_t atmo_proc_res; | 
|     //adpcc | 
|     AdpccProcResult_t   dpcc; | 
|     //adebayer | 
|     AdebayerConfig_t adebayer_config; | 
|     //ablc | 
|     AblcProc_t blc; | 
|     //agic | 
|     AgicConfig_t agic_config; | 
|     rk_aiq_lsc_cfg_t lscHwConf; | 
|     rk_aiq_ccm_cfg_t ccmHwConf; | 
|   | 
|     rk_aiq_lut3d_cfg_t lut3d_hw_conf; | 
|     unsigned short  rawWidth;               // rawͼ¿í | 
|     unsigned short  rawHeight; | 
| } rk_sim_isp_v200_params_t; | 
|   | 
| #endif |