• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * xcam_params.h - 3A parameters
3  *
4  *  Copyright (c) 2015 Intel Corporation
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * Author: Wind Yuan <feng.yuan@intel.com>
19  */
20 
21 #ifndef C_XCAM_PARAMS_H
22 #define C_XCAM_PARAMS_H
23 
24 #include <base/xcam_defs.h>
25 #include <base/xcam_common.h>
26 #include <base/xcam_3a_types.h>
27 
28 XCAM_BEGIN_DECLARE
29 
30 typedef struct _XCamAeParam {
31     XCamAeMode              mode;
32     XCamAeMeteringMode      metering_mode;
33     XCam3AWindow            window;
34     XCam3AWindow            window_list[XCAM_AE_MAX_METERING_WINDOW_COUNT];
35     XCamFlickerMode         flicker_mode;
36     /* speed, default 1.0 */
37     double                  speed;
38 
39     /* exposure limitation */
40     uint64_t                exposure_time_min, exposure_time_max;
41     double                  max_analog_gain;
42 
43     /* exposure manual values */
44     uint64_t                manual_exposure_time;
45     double                  manual_analog_gain;
46 
47     double                  aperture_fn;
48 
49     /*ev*/
50     double                  ev_shift;
51 } XCamAeParam;
52 
53 typedef struct _XCamAwbParam {
54     XCamAwbMode             mode;
55     /* speed, default 1.0 */
56     double                  speed;
57     uint32_t                cct_min, cct_max;
58     XCam3AWindow            window;
59 
60     /* manual gain, default 0.0 */
61     double                  gr_gain;
62     double                  r_gain;
63     double                  b_gain;
64     double                  gb_gain;
65 } XCamAwbParam;
66 
67 typedef struct _XCamAfParam {
68 
69 } XCamAfParam;
70 
71 typedef struct _XCamCommonParam {
72     /* R, G, B gamma table, size = XCAM_GAMMA_TABLE_SIZE */
73     bool                      is_manual_gamma;
74     double                    r_gamma [XCAM_GAMMA_TABLE_SIZE];
75     double                    g_gamma [XCAM_GAMMA_TABLE_SIZE];
76     double                    b_gamma [XCAM_GAMMA_TABLE_SIZE];
77 
78     /*
79      * manual brightness, contrast, hue, saturation, sharpness
80      * -1.0 < value < 1.0
81      */
82     double                     nr_level;
83     double                     tnr_level;
84 
85     double                     brightness;
86     double                     contrast;
87     double                     hue;
88     double                     saturation;
89     double                     sharpness;
90 
91     /* others */
92     bool                       enable_dvs;
93     bool                       enable_gbce;
94     bool                       enable_night_mode;
95     XCamColorEffect            color_effect;
96 } XCamCommonParam;
97 
98 typedef struct _XCamSmartAnalysisParam {
99     uint32_t   width;
100     uint32_t   height;
101     double     fps;
102 
103 } XCamSmartAnalysisParam;
104 
105 XCAM_END_DECLARE
106 
107 #endif //C_XCAM_PARAMS_H
108