GNU Linux-libre 4.14.332-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / dpc2 / ia_css_dpc2_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_DPC2_TYPES_H
16 #define __IA_CSS_DPC2_TYPES_H
17
18 /** @file
19 * CSS-API header file for Defect Pixel Correction 2 (DPC2) parameters.
20 */
21
22 #include "type_support.h"
23
24 /**@{*/
25 /** Floating point constants for different metrics. */
26 #define METRIC1_ONE_FP  (1<<12)
27 #define METRIC2_ONE_FP  (1<<5)
28 #define METRIC3_ONE_FP  (1<<12)
29 #define WBGAIN_ONE_FP   (1<<9)
30 /**@}*/
31
32 /**@{*/
33 /** Defect Pixel Correction 2 configuration.
34  *
35  * \brief DPC2 public parameters.
36  * \details Struct with all parameters for the Defect Pixel Correction 2
37  * kernel that can be set from the CSS API.
38  *
39  * ISP block: DPC1 (DPC after WB)
40  *            DPC2 (DPC before WB)
41  * ISP1: DPC1 is used.
42  * ISP2: DPC2 is used.
43  *
44  */
45 struct ia_css_dpc2_config {
46         /**@{*/
47         int32_t metric1;
48         int32_t metric2;
49         int32_t metric3;
50         int32_t wb_gain_gr;
51         int32_t wb_gain_r;
52         int32_t wb_gain_b;
53         int32_t wb_gain_gb;
54         /**@}*/
55 };
56 /**@}*/
57
58 #endif /* __IA_CSS_DPC2_TYPES_H */
59