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