/* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2015, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ #ifndef __IA_CSS_YNR_TYPES_H #define __IA_CSS_YNR_TYPES_H /* @file * CSS-API header file for Noise Reduction (BNR) and YCC Noise Reduction (YNR,CNR). */ /* Configuration used by Bayer Noise Reduction (BNR) and * YCC Noise Reduction (YNR,CNR). * * ISP block: BNR1, YNR1, CNR1 * ISP1: BNR1,YNR1,CNR1 are used. * ISP2: BNR1,YNR1,CNR1 are used for Preview/Video. * BNR1,YNR2,CNR2 are used for Still. */ struct ia_css_nr_config { ia_css_u0_16 bnr_gain; /** Strength of noise reduction (BNR). u0.16, [0,65535], default 14336(0.21875), ineffective 0 */ ia_css_u0_16 ynr_gain; /** Strength of noise reduction (YNR). u0.16, [0,65535], default 14336(0.21875), ineffective 0 */ ia_css_u0_16 direction; /** Sensitivity of edge (BNR). u0.16, [0,65535], default 512(0.0078125), ineffective 0 */ ia_css_u0_16 threshold_cb; /** Coring threshold for Cb (CNR). This is the same as de_config.c1_coring_threshold. u0.16, [0,65535], default 0(0), ineffective 0 */ ia_css_u0_16 threshold_cr; /** Coring threshold for Cr (CNR). This is the same as de_config.c2_coring_threshold. u0.16, [0,65535], default 0(0), ineffective 0 */ }; /* Edge Enhancement (sharpen) configuration. * * ISP block: YEE1 * ISP1: YEE1 is used. * ISP2: YEE1 is used for Preview/Video. * (YEE2 is used for Still.) */ struct ia_css_ee_config { ia_css_u5_11 gain; /** The strength of sharpness. u5.11, [0,65535], default 8192(4.0), ineffective 0 */ ia_css_u8_8 threshold; /** The threshold that divides noises from edge. u8.8, [0,65535], default 256(1.0), ineffective 65535 */ ia_css_u5_11 detail_gain; /** The strength of sharpness in pell-mell area. u5.11, [0,65535], default 2048(1.0), ineffective 0 */ }; /* YNR and YEE (sharpen) configuration. */ struct ia_css_yee_config { struct ia_css_nr_config nr; /** The NR configuration. */ struct ia_css_ee_config ee; /** The EE configuration. */ }; #endif /* __IA_CSS_YNR_TYPES_H */