Linux-libre 4.14.44-gnu
[librecmc/linux-libre.git] / drivers / media / platform / sti / bdisp / bdisp-filter.h
1 /*
2  * Copyright (C) STMicroelectronics SA 2014
3  * Authors: Fabien Dessenne <fabien.dessenne@st.com> for STMicroelectronics.
4  * License terms:  GNU General Public License (GPL), version 2
5  */
6
7 #define BDISP_HF_NB             64
8 #define BDISP_VF_NB             40
9
10 /**
11  * struct bdisp_filter_h_spec - Horizontal filter specification
12  *
13  * @min:        min scale factor for this filter (6.10 fixed point)
14  * @max:        max scale factor for this filter (6.10 fixed point)
15  * coef:        filter coefficients
16  */
17 struct bdisp_filter_h_spec {
18         const u16 min;
19         const u16 max;
20         const u8 coef[BDISP_HF_NB];
21 };
22 /**
23  * struct bdisp_filter_v_spec - Vertical filter specification
24  *
25  * @min:        min scale factor for this filter (6.10 fixed point)
26  * @max:        max scale factor for this filter (6.10 fixed point)
27  * coef:        filter coefficients
28  */
29 struct bdisp_filter_v_spec {
30         const u16 min;
31         const u16 max;
32         const u8 coef[BDISP_VF_NB];
33 };
34
35 /* RGB YUV 601 standard conversion */
36 static const u32 bdisp_rgb_to_yuv[] = {
37                 0x0e1e8bee, 0x08420419, 0xfb5ed471, 0x08004080,
38 };
39
40 static const u32 bdisp_yuv_to_rgb[] = {
41                 0x3324a800, 0xe604ab9c, 0x0004a957, 0x32121eeb,
42 };