hc
2023-11-22 f743a7adbd6e230d66a6206fa115b59fec2d88eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
 *  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