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