]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ynr/ynr_2/ia_css_ynr2_types.h
ASoC: tlv320aic31xx: Reset registers during power up
[mirror_ubuntu-focal-kernel.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / ynr / ynr_2 / ia_css_ynr2_types.h
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_YNR2_TYPES_H
16 #define __IA_CSS_YNR2_TYPES_H
17
18 /** @file
19 * CSS-API header file for Y(Luma) Noise Reduction.
20 */
21
22 /** Y(Luma) Noise Reduction configuration.
23 *
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.
28 */
29 struct ia_css_ynr_config {
30 uint16_t edge_sense_gain_0; /**< Sensitivity of edge in dark area.
31 u13.0, [0,8191],
32 default 1000, ineffective 0 */
33 uint16_t edge_sense_gain_1; /**< Sensitivity of edge in bright area.
34 u13.0, [0,8191],
35 default 1000, ineffective 0 */
36 uint16_t corner_sense_gain_0; /**< Sensitivity of corner in dark area.
37 u13.0, [0,8191],
38 default 1000, ineffective 0 */
39 uint16_t corner_sense_gain_1; /**< Sensitivity of corner in bright area.
40 u13.0, [0,8191],
41 default 1000, ineffective 0 */
42 };
43
44 /** Fringe Control configuration.
45 *
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.
50 */
51 struct ia_css_fc_config {
52 uint8_t gain_exp; /**< Common exponent of gains.
53 u8.0, [0,13],
54 default 1, ineffective 0 */
55 uint16_t coring_pos_0; /**< Coring threshold for positive edge in dark area.
56 u0.13, [0,8191],
57 default 0(0), ineffective 0 */
58 uint16_t coring_pos_1; /**< Coring threshold for positive edge in bright area.
59 u0.13, [0,8191],
60 default 0(0), ineffective 0 */
61 uint16_t coring_neg_0; /**< Coring threshold for negative edge in dark area.
62 u0.13, [0,8191],
63 default 0(0), ineffective 0 */
64 uint16_t coring_neg_1; /**< Coring threshold for negative edge in bright area.
65 u0.13, [0,8191],
66 default 0(0), ineffective 0 */
67 uint16_t gain_pos_0; /**< Gain for positive edge in dark area.
68 u0.13, [0,8191],
69 default 4096(0.5), ineffective 0 */
70 uint16_t gain_pos_1; /**< Gain for positive edge in bright area.
71 u0.13, [0,8191],
72 default 4096(0.5), ineffective 0 */
73 uint16_t gain_neg_0; /**< Gain for negative edge in dark area.
74 u0.13, [0,8191],
75 default 4096(0.5), ineffective 0 */
76 uint16_t gain_neg_1; /**< Gain for negative edge in bright area.
77 u0.13, [0,8191],
78 default 4096(0.5), ineffective 0 */
79 uint16_t crop_pos_0; /**< Limit for positive edge in dark area.
80 u0.13, [0,8191],
81 default/ineffective 8191(almost 1.0) */
82 uint16_t crop_pos_1; /**< Limit for positive edge in bright area.
83 u0.13, [0,8191],
84 default/ineffective 8191(almost 1.0) */
85 int16_t crop_neg_0; /**< Limit for negative edge in dark area.
86 s0.13, [-8192,0],
87 default/ineffective -8192(-1.0) */
88 int16_t crop_neg_1; /**< Limit for negative edge in bright area.
89 s0.13, [-8192,0],
90 default/ineffective -8192(-1.0) */
91 };
92
93 #endif /* __IA_CSS_YNR2_TYPES_H */
94