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
105
106
107
  | /*  
 |   * uvnr_head_v1.h  
 |   *  
 |   *  Copyright (c) 2021 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 __CALIBDBV2_UVNR_HEADER_V1_H__  
 |  #define __CALIBDBV2_UVNR_HEADER_V1_H__  
 |    
 |  #include "rk_aiq_comm.h"  
 |    
 |  RKAIQ_BEGIN_DECLARE  
 |    
 |  ///////////////////////////uvnr//////////////////////////////////////  
 |  typedef struct CalibDbV2_UVNR_TuningPara_Setting_ISO_s{  
 |      // M4_NUMBER_MARK_DESC("iso", "f32", M4_RANGE(50, 204800), "50", M4_DIGIT(1), "index2")  
 |      float iso;     
 |    
 |      // M4_NUMBER_DESC("step0_uvgrad_ratio", "f32", M4_RANGE(1.0, 63.0), "40", M4_DIGIT(0))  
 |      float step0_uvgrad_ratio;  
 |      // M4_NUMBER_DESC("step0_uvgrad_offset", "f32", M4_RANGE(0, 1.0), "0.8", M4_DIGIT(2))  
 |      float step0_uvgrad_offset;      
 |    
 |      // M4_NUMBER_DESC("step1_median_ratio", "f32", M4_RANGE(0, 1.0), "0.2", M4_DIGIT(2))  
 |      float step1_median_ratio;  
 |      // M4_NUMBER_DESC("step1_bf_sigmaR", "f32", M4_RANGE(2, 64.0), "10.0", M4_DIGIT(2))  
 |      float step1_bf_sigmaR;  
 |      // M4_NUMBER_DESC("step1_bf_uvgain", "f32", M4_RANGE(0.0, 7.9), "1.5", M4_DIGIT(2))  
 |      float step1_bf_uvgain;  
 |      // M4_NUMBER_DESC("step1_bf_ratio", "f32", M4_RANGE(0.0, 1.0), "0.0", M4_DIGIT(2))  
 |      float step1_bf_ratio;  
 |    
 |      // M4_NUMBER_DESC("step2_median_ratio", "f32", M4_RANGE(0, 1.0), "0.2", M4_DIGIT(2))  
 |      float step2_median_ratio;  
 |      // M4_NUMBER_DESC("step2_bf_sigmaR", "f32", M4_RANGE(2, 48.0), "5.0", M4_DIGIT(2))  
 |      float step2_bf_sigmaR;  
 |      // M4_NUMBER_DESC("step2_bf_uvgain", "f32", M4_RANGE(0.0, 7.9), "2.0", M4_DIGIT(2))  
 |      float step2_bf_uvgain;  
 |      // M4_NUMBER_DESC("step2_bf_ratio", "f32", M4_RANGE(0.0, 1.0), "0.0", M4_DIGIT(2), M4_HIDE(1))  
 |      float step2_bf_ratio;  
 |    
 |      // M4_NUMBER_DESC("step3_bf_sigmaR", "f32", M4_RANGE(2, 24.0), "5.0", M4_DIGIT(2))  
 |      float step3_bf_sigmaR;  
 |      // M4_NUMBER_DESC("step3_bf_uvgain", "f32", M4_RANGE(0.0, 7.9), "2.0", M4_DIGIT(2))  
 |      float step3_bf_uvgain;  
 |      // M4_NUMBER_DESC("step3_bf_ratio", "f32", M4_RANGE(0.0, 1.0), "1.0", M4_DIGIT(2))  
 |      float step3_bf_ratio;  
 |        
 |  }CalibDbV2_UVNR_TuningPara_Setting_ISO_t;  
 |    
 |  typedef struct CalibDbV2_UVNR_TuningPara_Setting_s{  
 |      // M4_STRING_MARK_DESC("SNR_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "LSNR",M4_DYNAMIC(0), "index1")  
 |      char *SNR_Mode;  
 |      // M4_STRING_DESC("Sensor_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "lcg", M4_DYNAMIC(0))  
 |      char *Sensor_Mode;  
 |      // M4_STRUCT_LIST_DESC("Tuning_ISO", M4_SIZE_DYNAMIC, "double_index_list")  
 |      CalibDbV2_UVNR_TuningPara_Setting_ISO_t *Tuning_ISO;  
 |      int Tuning_ISO_len;  
 |        
 |  }CalibDbV2_UVNR_TuningPara_Setting_t;  
 |    
 |  typedef struct CalibDbV2_UVNR_TuningPara_Kernel_s{  
 |      // M4_ARRAY_DESC("kernel_3x3", "f32", M4_SIZE(1,3), M4_RANGE(0,1), "[1.0000,0.8825,0.7788]", M4_DIGIT(6), M4_DYNAMIC(0))  
 |      float kernel_3x3[3];  
 |      // M4_ARRAY_DESC("kernel_5x5", "f32", M4_SIZE(1,5), M4_RANGE(0,1), "[1.0000,0.8825,0.7788,0.6065,0.3679]", M4_DIGIT(6), M4_DYNAMIC(0))  
 |      float kernel_5x5[5];  
 |      // M4_ARRAY_DESC("kernel_9x9", "f32", M4_SIZE(1,8), M4_RANGE(0,1), "[1.0000,0.8825,0.7788,0.6065,0.3679,0.1969,0.1353,0.0439]", M4_DIGIT(6), M4_DYNAMIC(0))  
 |      float kernel_9x9[8];  
 |      // M4_NUMBER_DESC("kernel_9x9_num", "s32", M4_RANGE(0, 3), "0", M4_DIGIT(0))  
 |      int kernel_9x9_num;  
 |  }CalibDbV2_UVNR_TuningPara_Kernel_t;  
 |    
 |    
 |  typedef struct CalibDbV2_UVNR_TuningPara_s{  
 |      // M4_BOOL_DESC("enable", "1")  
 |      int enable;  
 |      // M4_STRUCT_DESC("Kernel_Coeff", "normal_ui_style")  
 |      CalibDbV2_UVNR_TuningPara_Kernel_t Kernel_Coeff;  
 |      // M4_STRUCT_LIST_DESC("Setting", M4_SIZE_DYNAMIC, "double_index_list")  
 |      CalibDbV2_UVNR_TuningPara_Setting_t *Setting;  
 |      int Setting_len;  
 |  }CalibDbV2_UVNR_TuningPara_t;  
 |    
 |    
 |  typedef struct CalibDbV2_UVNR_s {  
 |      // M4_STRING_DESC("Version", M4_SIZE(1,1), M4_RANGE(0, 64), "V1", M4_DYNAMIC(0))  
 |      char *Version;  
 |      // M4_STRUCT_DESC("TuningPara", "normal_ui_style")  
 |      CalibDbV2_UVNR_TuningPara_t TuningPara;  
 |  } CalibDbV2_UVNR_t;  
 |    
 |  RKAIQ_END_DECLARE  
 |    
 |  #endif  
 |  
  |