GNU Linux-libre 4.14.266-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / gc / gc_2 / ia_css_gc2.host.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_GC2_HOST_H
16 #define __IA_CSS_GC2_HOST_H
17
18 #include "ia_css_gc2_types.h"
19 #include "ia_css_gc2_param.h"
20 #include "ia_css_gc2_table.host.h"
21
22 extern const struct ia_css_cc_config default_yuv2rgb_cc_config;
23 extern const struct ia_css_cc_config default_rgb2yuv_cc_config;
24
25 void
26 ia_css_yuv2rgb_encode(
27         struct sh_css_isp_csc_params *to,
28         const struct ia_css_cc_config *from,
29         unsigned size);
30
31 void
32 ia_css_rgb2yuv_encode(
33         struct sh_css_isp_csc_params *to,
34         const struct ia_css_cc_config *from,
35         unsigned size);
36
37 void
38 ia_css_r_gamma_vamem_encode(
39         struct sh_css_isp_rgb_gamma_vamem_params *to,
40         const struct ia_css_rgb_gamma_table *from,
41         unsigned size);
42
43 void
44 ia_css_g_gamma_vamem_encode(
45         struct sh_css_isp_rgb_gamma_vamem_params *to,
46         const struct ia_css_rgb_gamma_table *from,
47         unsigned size);
48
49 void
50 ia_css_b_gamma_vamem_encode(
51         struct sh_css_isp_rgb_gamma_vamem_params *to,
52         const struct ia_css_rgb_gamma_table *from,
53         unsigned size);
54
55 #ifndef IA_CSS_NO_DEBUG
56 void
57 ia_css_yuv2rgb_dump(
58         const struct sh_css_isp_csc_params *yuv2rgb,
59         unsigned level);
60
61 void
62 ia_css_rgb2yuv_dump(
63         const struct sh_css_isp_csc_params *rgb2yuv,
64         unsigned level);
65
66 void
67 ia_css_rgb_gamma_table_debug_dtrace(
68         const struct ia_css_rgb_gamma_table *config,
69         unsigned level);
70
71 #define ia_css_yuv2rgb_debug_dtrace ia_css_cc_config_debug_dtrace
72 #define ia_css_rgb2yuv_debug_dtrace ia_css_cc_config_debug_dtrace
73 #define ia_css_r_gamma_debug_dtrace ia_css_rgb_gamma_table_debug_dtrace
74 #define ia_css_g_gamma_debug_dtrace ia_css_rgb_gamma_table_debug_dtrace
75 #define ia_css_b_gamma_debug_dtrace ia_css_rgb_gamma_table_debug_dtrace
76
77 #endif
78
79 #endif /* __IA_CSS_GC2_HOST_H */