Merge remote-tracking branches 'asoc/fix/msm8916', 'asoc/fix/nau8825', 'asoc/fix...
[sfrench/cifs-2.6.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / hdr / ia_css_hdr_types.h
1 /* Release Version: irci_stable_candrpv_0415_20150521_0458 */
2 /* Release Version: irci_ecr-master_20150911_0724 */
3 /*
4  * Support for Intel Camera Imaging ISP subsystem.
5  * Copyright (c) 2015, Intel Corporation.
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms and conditions of the GNU General Public License,
9  * version 2, as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14  * more details.
15  */
16
17 #ifndef __IA_CSS_HDR_TYPES_H
18 #define __IA_CSS_HDR_TYPES_H
19
20 #define IA_CSS_HDR_MAX_NUM_INPUT_FRAMES         (3)
21
22 /**
23  * \brief HDR Irradiance Parameters
24  * \detail Currently HDR paramters are used only for testing purposes
25  */
26 struct ia_css_hdr_irradiance_params {
27         int test_irr;                                          /** Test parameter */
28         int match_shift[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES - 1];  /** Histogram matching shift parameter */
29         int match_mul[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES - 1];    /** Histogram matching multiplication parameter */
30         int thr_low[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES - 1];      /** Weight map soft threshold low bound parameter */
31         int thr_high[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES - 1];     /** Weight map soft threshold high bound parameter */
32         int thr_coeff[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES - 1];    /** Soft threshold linear function coefficien */
33         int thr_shift[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES - 1];    /** Soft threshold precision shift parameter */
34         int weight_bpp;                                        /** Weight map bits per pixel */
35 };
36
37 /**
38  * \brief HDR Deghosting Parameters
39  * \detail Currently HDR paramters are used only for testing purposes
40  */
41 struct ia_css_hdr_deghost_params {
42         int test_deg; /** Test parameter */
43 };
44
45 /**
46  * \brief HDR Exclusion Parameters
47  * \detail Currently HDR paramters are used only for testing purposes
48  */
49 struct ia_css_hdr_exclusion_params {
50         int test_excl; /** Test parameter */
51 };
52
53 /**
54  * \brief HDR public paramterers.
55  * \details Struct with all paramters for HDR that can be seet from
56  * the CSS API. Currenly, only test paramters are defined.
57  */
58 struct ia_css_hdr_config {
59         struct ia_css_hdr_irradiance_params irradiance; /** HDR irradiance paramaters */
60         struct ia_css_hdr_deghost_params    deghost;    /** HDR deghosting parameters */
61         struct ia_css_hdr_exclusion_params  exclusion; /** HDR exclusion parameters */
62 };
63
64 #endif /* __IA_CSS_HDR_TYPES_H */