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
|
|