1 /* 2 * Support for Intel Camera Imaging ISP subsystem. 3 * Copyright (c) 2015, Intel Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 */ 14 15 #ifndef __IA_CSS_BNR2_2_TYPES_H 16 #define __IA_CSS_BNR2_2_TYPES_H 17 18 /* @file 19 * CSS-API header file for Bayer Noise Reduction parameters. 20 */ 21 22 #include "type_support.h" /* int32_t */ 23 24 /* Bayer Noise Reduction 2.2 configuration 25 * 26 * \brief BNR2_2 public parameters. 27 * \details Struct with all parameters for the BNR2.2 kernel that can be set 28 * from the CSS API. 29 * 30 * ISP2.6.1: BNR2.2 is used. 31 */ 32 struct ia_css_bnr2_2_config { 33 /**@{*/ 34 /* Directional variance gain for R/G/B components in dark region */ 35 s32 d_var_gain_r; 36 s32 d_var_gain_g; 37 s32 d_var_gain_b; 38 /**@}*/ 39 /**@{*/ 40 /* Slope of Directional variance gain between dark and bright region */ 41 s32 d_var_gain_slope_r; 42 s32 d_var_gain_slope_g; 43 s32 d_var_gain_slope_b; 44 /**@}*/ 45 /**@{*/ 46 /* Non-Directional variance gain for R/G/B components in dark region */ 47 s32 n_var_gain_r; 48 s32 n_var_gain_g; 49 s32 n_var_gain_b; 50 /**@}*/ 51 /**@{*/ 52 /* Slope of Non-Directional variance gain between dark and bright region */ 53 s32 n_var_gain_slope_r; 54 s32 n_var_gain_slope_g; 55 s32 n_var_gain_slope_b; 56 /**@}*/ 57 58 s32 dir_thres; /** Threshold for directional filtering */ 59 s32 dir_thres_w; /** Threshold width for directional filtering */ 60 s32 var_offset_coef; /** Variance offset coefficient */ 61 s32 dir_gain; /** Gain for directional coefficient */ 62 s32 detail_gain; /** Gain for low contrast texture control */ 63 s32 detail_gain_divisor; /** Gain divisor for low contrast texture control */ 64 s32 detail_level_offset; /** Bias value for low contrast texture control */ 65 s32 d_var_th_min; /** Minimum clipping value for directional variance*/ 66 s32 d_var_th_max; /** Maximum clipping value for diretional variance*/ 67 s32 n_var_th_min; /** Minimum clipping value for non-directional variance*/ 68 s32 n_var_th_max; /** Maximum clipping value for non-directional variance*/ 69 }; 70 71 #endif /* __IA_CSS_BNR2_2_TYPES_H */ 72