]>
Commit | Line | Data |
---|---|---|
a49d2536 AC |
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_SDIS2_TYPES_H | |
16 | #define __IA_CSS_SDIS2_TYPES_H | |
17 | ||
d929fb4e | 18 | /* @file |
a49d2536 AC |
19 | * CSS-API header file for DVS statistics parameters. |
20 | */ | |
21 | ||
d929fb4e | 22 | /* Number of DVS coefficient types */ |
a49d2536 AC |
23 | #define IA_CSS_DVS2_NUM_COEF_TYPES 4 |
24 | ||
25 | #ifndef PIPE_GENERATION | |
26 | #include "isp/kernels/sdis/common/ia_css_sdis_common_types.h" | |
27 | #endif | |
28 | ||
d929fb4e | 29 | /* DVS 2.0 Coefficient types. This structure contains 4 pointers to |
a49d2536 AC |
30 | * arrays that contain the coeffients for each type. |
31 | */ | |
32 | struct ia_css_dvs2_coef_types { | |
d929fb4e MCC |
33 | int16_t *odd_real; /** real part of the odd coefficients*/ |
34 | int16_t *odd_imag; /** imaginary part of the odd coefficients*/ | |
35 | int16_t *even_real;/** real part of the even coefficients*/ | |
36 | int16_t *even_imag;/** imaginary part of the even coefficients*/ | |
a49d2536 AC |
37 | }; |
38 | ||
d929fb4e | 39 | /* DVS 2.0 Coefficients. This structure describes the coefficients that are needed for the dvs statistics. |
a49d2536 AC |
40 | * e.g. hor_coefs.odd_real is the pointer to int16_t[grid.num_hor_coefs] containing the horizontal odd real |
41 | * coefficients. | |
42 | */ | |
43 | struct ia_css_dvs2_coefficients { | |
d929fb4e MCC |
44 | struct ia_css_dvs_grid_info grid; /** grid info contains the dimensions of the dvs grid */ |
45 | struct ia_css_dvs2_coef_types hor_coefs; /** struct with pointers that contain the horizontal coefficients */ | |
46 | struct ia_css_dvs2_coef_types ver_coefs; /** struct with pointers that contain the vertical coefficients */ | |
a49d2536 AC |
47 | }; |
48 | ||
d929fb4e | 49 | /* DVS 2.0 Statistic types. This structure contains 4 pointers to |
a49d2536 AC |
50 | * arrays that contain the statistics for each type. |
51 | */ | |
52 | struct ia_css_dvs2_stat_types { | |
d929fb4e MCC |
53 | int32_t *odd_real; /** real part of the odd statistics*/ |
54 | int32_t *odd_imag; /** imaginary part of the odd statistics*/ | |
55 | int32_t *even_real;/** real part of the even statistics*/ | |
56 | int32_t *even_imag;/** imaginary part of the even statistics*/ | |
a49d2536 AC |
57 | }; |
58 | ||
d929fb4e | 59 | /* DVS 2.0 Statistics. This structure describes the statistics that are generated using the provided coefficients. |
a49d2536 AC |
60 | * e.g. hor_prod.odd_real is the pointer to int16_t[grid.aligned_height][grid.aligned_width] containing |
61 | * the horizontal odd real statistics. Valid statistics data area is int16_t[0..grid.height-1][0..grid.width-1] | |
62 | */ | |
63 | struct ia_css_dvs2_statistics { | |
d929fb4e MCC |
64 | struct ia_css_dvs_grid_info grid; /** grid info contains the dimensions of the dvs grid */ |
65 | struct ia_css_dvs2_stat_types hor_prod; /** struct with pointers that contain the horizontal statistics */ | |
66 | struct ia_css_dvs2_stat_types ver_prod; /** struct with pointers that contain the vertical statistics */ | |
a49d2536 AC |
67 | }; |
68 | ||
69 | #endif /* __IA_CSS_SDIS2_TYPES_H */ |