1 /* 2 * Copyright (c) 2019 Rockchip Corporation 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 18 #ifndef _ISP20_HW_SIMULATOR_H_ 19 #define _ISP20_HW_SIMULATOR_H_ 20 21 #include "awb/rk_aiq_types_awb_algo_int.h" 22 #include "ae/rk_aiq_types_ae_algo.h" 23 #include "af/rk_aiq_af_hw_v200.h" 24 #include "adehaze/rk_aiq_types_adehaze_algo_prvt.h" 25 #include "anr/rk_aiq_types_anr_algo_int.h" 26 #include "asharp/rk_aiq_types_asharp_algo_int.h" 27 #include "adebayer/rk_aiq_types_algo_adebayer.h" 28 #include "atmo/rk_aiq_types_atmo_algo_int.h" 29 #include "atmo/rk_aiq_types_atmo_algo.h" 30 #include "amerge/rk_aiq_types_amerge_algo_int.h" 31 #include "amerge/rk_aiq_types_amerge_algo.h" 32 #include "agamma/rk_aiq_types_agamma_algo_prvt.h" 33 #include "aorb/rk_aiq_orb_hw.h" 34 #include "adpcc/rk_aiq_types_adpcc_algo_int.h" 35 #include "ablc/rk_aiq_types_ablc_algo_int.h" 36 #include "alsc/rk_aiq_types_alsc_algo.h" 37 #include "accm/rk_aiq_types_accm_algo.h" 38 #include "agic/rk_aiq_types_algo_agic.h" 39 #include "rk_aiq_luma.h" 40 #include "a3dlut/rk_aiq_types_a3dlut_algo_int.h" 41 typedef struct rk_sim_isp_v200_luma_s { 42 //luma 43 bool valid_luma; 44 isp_luma_stat_t image_luma_result; 45 } rk_sim_isp_v200_luma_t; 46 47 typedef struct rk_sim_isp_v200_stats_s { 48 //awb 49 bool valid_awb; 50 rk_aiq_awb_stat_res_v200_t awb; 51 rk_aiq_awb_stat_res_v201_t awb_v201; 52 //ae 53 bool valid_ae; 54 RKAiqAecStats_t ae; 55 //af 56 bool valid_af; 57 rawaf_isp_af_stat_t af; 58 //anr html params 59 int iso; 60 //orb 61 bool valid_orb; 62 sim_orb_stat_t orb; 63 //atmo 64 unsigned short rawWidth; // rawͼ¿í 65 unsigned short rawHeight; 66 bool valid_atmo; 67 rkisp_atmo_stats_t atmo; 68 } rk_sim_isp_v200_stats_t; 69 70 typedef struct rk_sim_isp_v200_params_s { 71 float awb_smooth_factor; 72 rk_aiq_wb_gain_t awb_gain_algo; 73 rk_aiq_awb_stat_cfg_v200_t awb_hw0_para; 74 rk_aiq_awb_stat_cfg_v201_t awb_hw1_para; 75 //ae 76 RkAiqAecHwConfig_t ae_hw_config; 77 //anr 78 ANRProcResult_t rkaiq_anr_proc_res; 79 AsharpProcResult_t rkaiq_asharp_proc_res; 80 //adhaz 81 rk_aiq_dehaze_cfg_t adhaz_config; 82 //agamma 83 AgammaProcRes_t agamma_config; 84 //amerge 85 RkAiqAmergeProcResult_t amerge_proc_res; 86 //atmo 87 RkAiqAtmoProcResult_t atmo_proc_res; 88 //adpcc 89 AdpccProcResult_t dpcc; 90 //adebayer 91 AdebayerConfig_t adebayer_config; 92 //ablc 93 AblcProc_t blc; 94 //agic 95 AgicConfig_t agic_config; 96 rk_aiq_lsc_cfg_t lscHwConf; 97 rk_aiq_ccm_cfg_t ccmHwConf; 98 99 rk_aiq_lut3d_cfg_t lut3d_hw_conf; 100 unsigned short rawWidth; // rawͼ¿í 101 unsigned short rawHeight; 102 } rk_sim_isp_v200_params_t; 103 104 #endif 105 106