diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch new file mode 100644 index 00000000..f8030bbd --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0015-ISP-add-some-more-from-Leopard-imaging-patch.patch | |||
@@ -0,0 +1,133 @@ | |||
1 | From 739ec82561686ad0c5cc8befef3bcd74339d205e Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <k-kooi@ti.com> | ||
3 | Date: Thu, 11 Feb 2010 21:34:00 +0100 | ||
4 | Subject: [PATCH 15/45] ISP: add some more from Leopard imaging patch | ||
5 | |||
6 | --- | ||
7 | drivers/media/video/isp/isppreview.c | 16 ++++++++- | ||
8 | include/media/v4l2-int-device.h | 58 ++++++++++++++++++++++++++++++++++ | ||
9 | 2 files changed, 72 insertions(+), 2 deletions(-) | ||
10 | |||
11 | diff --git a/drivers/media/video/isp/isppreview.c b/drivers/media/video/isp/isppreview.c | ||
12 | index 5494efc..85ee25d 100644 | ||
13 | --- a/drivers/media/video/isp/isppreview.c | ||
14 | +++ b/drivers/media/video/isp/isppreview.c | ||
15 | @@ -79,13 +79,26 @@ static struct ispprev_rgbtorgb flr_rgb2rgb = { | ||
16 | {0x0000, 0x0000, 0x0000} | ||
17 | }; | ||
18 | |||
19 | +static struct ispprev_rgbtorgb unity_rgb2rgb = { | ||
20 | + { /* RGB-RGB Matrix */ | ||
21 | + {0x0100, 0x0000, 0x0000}, | ||
22 | + {0x0000, 0x0100, 0x0000}, | ||
23 | + {0x0000, 0x0000, 0x0100} | ||
24 | + }, /* RGB Offset */ | ||
25 | + {0x0000, 0x0000, 0x0000} | ||
26 | +}; | ||
27 | + | ||
28 | /* Default values in Office Flourescent Light for RGB to YUV Conversion*/ | ||
29 | static struct ispprev_csc flr_prev_csc[] = { | ||
30 | { | ||
31 | { /* CSC Coef Matrix */ | ||
32 | - {66, 129, 25}, | ||
33 | +/* {66, 129, 25}, | ||
34 | {-38, -75, 112}, | ||
35 | {112, -94 , -18} | ||
36 | +*/ | ||
37 | + {0x04C, 0x098, 0x01C}, | ||
38 | + {0x3D4, 0x3AC, 0x080}, | ||
39 | + {0x080, 0x39E, 0x3EC} | ||
40 | }, /* CSC Offset */ | ||
41 | {0x0, 0x0, 0x0} | ||
42 | }, | ||
43 | @@ -107,7 +120,6 @@ static struct ispprev_csc flr_prev_csc[] = { | ||
44 | } | ||
45 | }; | ||
46 | |||
47 | - | ||
48 | /* Default values in Office Flourescent Light for CFA Gradient*/ | ||
49 | #define FLR_CFA_GRADTHRS_HORZ 0x28 | ||
50 | #define FLR_CFA_GRADTHRS_VERT 0x28 | ||
51 | diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h | ||
52 | index ed32d3f..ce415ec 100644 | ||
53 | --- a/include/media/v4l2-int-device.h | ||
54 | +++ b/include/media/v4l2-int-device.h | ||
55 | @@ -113,6 +113,8 @@ enum v4l2_if_type { | ||
56 | * on certain image sensors. | ||
57 | */ | ||
58 | V4L2_IF_TYPE_BT656, | ||
59 | + V4L2_IF_TYPE_YCbCr, | ||
60 | + V4L2_IF_TYPE_RAW, | ||
61 | }; | ||
62 | |||
63 | enum v4l2_if_type_bt656_mode { | ||
64 | @@ -159,10 +161,66 @@ struct v4l2_if_type_bt656 { | ||
65 | u32 clock_curr; | ||
66 | }; | ||
67 | |||
68 | +struct v4l2_if_type_ycbcr { | ||
69 | + /* | ||
70 | + * 0: Frame begins when vsync is high. | ||
71 | + * 1: Frame begins when vsync changes from low to high. | ||
72 | + */ | ||
73 | + unsigned frame_start_on_rising_vs:1; | ||
74 | + /* Use Bt synchronisation codes for sync correction. */ | ||
75 | + unsigned bt_sync_correct:1; | ||
76 | + /* Swap every two adjacent image data elements. */ | ||
77 | + unsigned swap:1; | ||
78 | + /* Inverted latch clock polarity from slave. */ | ||
79 | + unsigned latch_clk_inv:1; | ||
80 | + /* Hs polarity. 0 is active high, 1 active low. */ | ||
81 | + unsigned nobt_hs_inv:1; | ||
82 | + /* Vs polarity. 0 is active high, 1 active low. */ | ||
83 | + unsigned nobt_vs_inv:1; | ||
84 | + /* Minimum accepted bus clock for slave (in Hz). */ | ||
85 | + u32 clock_min; | ||
86 | + /* Maximum accepted bus clock for slave. */ | ||
87 | + u32 clock_max; | ||
88 | + /* | ||
89 | + * Current wish of the slave. May only change in response to | ||
90 | + * ioctls that affect image capture. | ||
91 | + */ | ||
92 | + u32 clock_curr; | ||
93 | +}; | ||
94 | + | ||
95 | +struct v4l2_if_type_raw { | ||
96 | + /* | ||
97 | + * 0: Frame begins when vsync is high. | ||
98 | + * 1: Frame begins when vsync changes from low to high. | ||
99 | + */ | ||
100 | + unsigned frame_start_on_rising_vs:1; | ||
101 | + /* Use Bt synchronisation codes for sync correction. */ | ||
102 | + unsigned bt_sync_correct:1; | ||
103 | + /* Swap every two adjacent image data elements. */ | ||
104 | + unsigned swap:1; | ||
105 | + /* Inverted latch clock polarity from slave. */ | ||
106 | + unsigned latch_clk_inv:1; | ||
107 | + /* Hs polarity. 0 is active high, 1 active low. */ | ||
108 | + unsigned nobt_hs_inv:1; | ||
109 | + /* Vs polarity. 0 is active high, 1 active low. */ | ||
110 | + unsigned nobt_vs_inv:1; | ||
111 | + /* Minimum accepted bus clock for slave (in Hz). */ | ||
112 | + u32 clock_min; | ||
113 | + /* Maximum accepted bus clock for slave. */ | ||
114 | + u32 clock_max; | ||
115 | + /* | ||
116 | + * Current wish of the slave. May only change in response to | ||
117 | + * ioctls that affect image capture. | ||
118 | + */ | ||
119 | + u32 clock_curr; | ||
120 | +}; | ||
121 | + | ||
122 | struct v4l2_ifparm { | ||
123 | enum v4l2_if_type if_type; | ||
124 | union { | ||
125 | struct v4l2_if_type_bt656 bt656; | ||
126 | + struct v4l2_if_type_ycbcr ycbcr; | ||
127 | + struct v4l2_if_type_raw raw; | ||
128 | } u; | ||
129 | }; | ||
130 | |||
131 | -- | ||
132 | 1.6.6.1 | ||
133 | |||