Merge remote-tracking branches 'asoc/topic/sunxi', 'asoc/topic/symmetry', 'asoc/topic...
[sfrench/cifs-2.6.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / dp / dp_1.0 / ia_css_dp_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_DP_TYPES_H
16 #define __IA_CSS_DP_TYPES_H
17
18 /* @file
19 * CSS-API header file for Defect Pixel Correction (DPC) parameters.
20 */
21
22
23 /* Defect Pixel Correction configuration.
24  *
25  *  ISP block: DPC1 (DPC after WB)
26  *             DPC2 (DPC before WB)
27  *  ISP1: DPC1 is used.
28  *  ISP2: DPC2 is used.
29  */
30 struct ia_css_dp_config {
31         ia_css_u0_16 threshold; /** The threshold of defect pixel correction,
32                               representing the permissible difference of
33                               intensity between one pixel and its
34                               surrounding pixels. Smaller values result
35                                 in more frequent pixel corrections.
36                                 u0.16, [0,65535],
37                                 default 8192, ineffective 65535 */
38         ia_css_u8_8 gain;        /** The sensitivity of mis-correction. ISP will
39                               miss a lot of defects if the value is set
40                                 too large.
41                                 u8.8, [0,65535],
42                                 default 4096, ineffective 65535 */
43         uint32_t gr;    /* unsigned <integer_bits>.<16-integer_bits> */
44         uint32_t r;     /* unsigned <integer_bits>.<16-integer_bits> */
45         uint32_t b;     /* unsigned <integer_bits>.<16-integer_bits> */
46         uint32_t gb;    /* unsigned <integer_bits>.<16-integer_bits> */
47 };
48
49 #endif /* __IA_CSS_DP_TYPES_H */
50