2 * Support for Intel Camera Imaging ISP subsystem.
3 * Copyright (c) 2015, Intel Corporation.
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.
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
15 #ifndef __IA_CSS_YNR2_TYPES_H
16 #define __IA_CSS_YNR2_TYPES_H
19 * CSS-API header file for Y(Luma) Noise Reduction.
22 /* Y(Luma) Noise Reduction configuration.
24 * ISP block: YNR2 & YEE2
25 * (ISP1: YNR1 and YEE1 are used.)
26 * (ISP2: YNR1 and YEE1 are used for Preview/Video.)
27 * ISP2: YNR2 and YEE2 are used for Still.
29 struct ia_css_ynr_config {
30 uint16_t edge_sense_gain_0; /** Sensitivity of edge in dark area.
32 default 1000, ineffective 0 */
33 uint16_t edge_sense_gain_1; /** Sensitivity of edge in bright area.
35 default 1000, ineffective 0 */
36 uint16_t corner_sense_gain_0; /** Sensitivity of corner in dark area.
38 default 1000, ineffective 0 */
39 uint16_t corner_sense_gain_1; /** Sensitivity of corner in bright area.
41 default 1000, ineffective 0 */
44 /* Fringe Control configuration.
46 * ISP block: FC2 (FC2 is used with YNR2/YEE2.)
47 * (ISP1: FC2 is not used.)
48 * (ISP2: FC2 is not for Preview/Video.)
49 * ISP2: FC2 is used for Still.
51 struct ia_css_fc_config {
52 uint8_t gain_exp; /** Common exponent of gains.
54 default 1, ineffective 0 */
55 uint16_t coring_pos_0; /** Coring threshold for positive edge in dark area.
57 default 0(0), ineffective 0 */
58 uint16_t coring_pos_1; /** Coring threshold for positive edge in bright area.
60 default 0(0), ineffective 0 */
61 uint16_t coring_neg_0; /** Coring threshold for negative edge in dark area.
63 default 0(0), ineffective 0 */
64 uint16_t coring_neg_1; /** Coring threshold for negative edge in bright area.
66 default 0(0), ineffective 0 */
67 uint16_t gain_pos_0; /** Gain for positive edge in dark area.
69 default 4096(0.5), ineffective 0 */
70 uint16_t gain_pos_1; /** Gain for positive edge in bright area.
72 default 4096(0.5), ineffective 0 */
73 uint16_t gain_neg_0; /** Gain for negative edge in dark area.
75 default 4096(0.5), ineffective 0 */
76 uint16_t gain_neg_1; /** Gain for negative edge in bright area.
78 default 4096(0.5), ineffective 0 */
79 uint16_t crop_pos_0; /** Limit for positive edge in dark area.
81 default/ineffective 8191(almost 1.0) */
82 uint16_t crop_pos_1; /** Limit for positive edge in bright area.
84 default/ineffective 8191(almost 1.0) */
85 int16_t crop_neg_0; /** Limit for negative edge in dark area.
87 default/ineffective -8192(-1.0) */
88 int16_t crop_neg_1; /** Limit for negative edge in bright area.
90 default/ineffective -8192(-1.0) */
93 #endif /* __IA_CSS_YNR2_TYPES_H */