-
Notifications
You must be signed in to change notification settings - Fork 1
/
Voodoo_color_mDNIe_GT-I9000.patch
297 lines (281 loc) · 8.54 KB
/
Voodoo_color_mDNIe_GT-I9000.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
diff --git a/Kernel/drivers/video/samsung/Kconfig b/Kernel/drivers/video/samsung/Kconfig
index 3b0fce6..2bfd24d 100644
--- a/Kernel/drivers/video/samsung/Kconfig
+++ b/Kernel/drivers/video/samsung/Kconfig
@@ -87,6 +87,13 @@ config FB_S3C_TL2796
---help---
This enables support for Samsung TL2796 WVGA LCD panel
+config VOODOO_COLOR_GAMMA_22_ONLY
+ bool "Voodoo color: improve gamma in videos"
+ depends on FB_S3C_TL2796
+ default y
+ ---help---
+ This enables Voodoo color gamma curve optimization in videos
+
config FB_S3C_HT101HD1
bool "HT101HD1"
depends on MACH_SMDKV210
@@ -116,6 +123,20 @@ config FB_S3C_MDNIE_TUNINGMODE_FOR_BACKLIGHT
---help---
This option enables to control mDNIe tuning for backlights.
+config VOODOO_MDNIE
+ bool "Voodoo color: mDNIe sharpness and color enhancements"
+ depends on FB_S3C_MDNIE
+ default y
+ ---help---
+ This enables Voodoo color mDNIe tweaks
+
+config VOODOO_MDNIE_VIDEOS_ALT_PRESETS
+ bool "Also replace Warm & Cold Video presets by Boost and Soft"
+ depends on VOODOO_MDNIE
+ default y
+ ---help---
+ This enables Voodoo color mDNIe useful alternative presets used by Samsung video player
+
config FB_S3C_LVDS
bool "LVDS"
depends on FB_S3C && (ARCH_S5PV210)
@@ -132,14 +153,6 @@ config FB_S3C_AMS701KA
---help---
This enables support for Samsung AMS701KA LCD panel
-config FB_S3C_MDNIE
- bool "Samsung MDNIE"
- depends on FB_S3C
- depends on FB_S3C && (ARCH_S5PV210)
- default "0"
- ---help---
- This enables support for Samsung MDNIE feature
-
config FB_S3C_TL2796_ACL
bool "Samsung TL2796(ACL)"
depends on FB_S3C_TL2796
diff --git a/Kernel/drivers/video/samsung/s3cfb_mdnie.c b/Kernel/drivers/video/samsung/s3cfb_mdnie_value.c
index 4e2a763..53efaa1 100644
--- a/Kernel/drivers/video/samsung/s3cfb_mdnie.c
+++ b/Kernel/drivers/video/samsung/s3cfb_mdnie.c
@@ -190,6 +190,23 @@ mDNIe_data_type mDNIe_Gallery[]=
mDNIe_data_type mDNIe_Video[]=
{
+#ifdef CONFIG_VOODOO_MDNIE
+ // Voodoo color: mDNIe settings optimized for most video
+ // standard response curve
+ // nice sharpness filter and very light color saturation boost
+ 0x0084, 0x0040,
+ 0x0090, 0x0000,
+ 0x0094, 0x0FFF,
+ 0x0098, 0x005C,
+ 0x009C, 0x0FF5,
+ 0x00AC, 0x0007,
+ 0x00B4, 0x0500,
+ 0x00C0, 0x0400,
+ 0x00C4, 0x7200,
+ 0x00C8, 0x008D,
+ 0x00D0, 0x00C0,
+ END_SEQ, 0x0000,
+#else
0x0084, 0x0040,
0x0090, 0x0000,
0x0094, 0x0fff,
@@ -202,6 +219,7 @@ mDNIe_data_type mDNIe_Video[]=
0x00C8, 0x008d,
0x00D0, 0x0100,
END_SEQ, 0x0000,
+#endif
};
mDNIe_data_type mDNIe_Camera[]=
@@ -247,6 +265,25 @@ mDNIe_data_type mDNIe_UI[]=
0x00B4, 0x03ff,
END_SEQ, 0x0000,
#else
+#ifdef CONFIG_VOODOO_MDNIE
+ // Voodoo color: optimized UI mode
+ // reduce the sharpness filter radius to make it much closer
+ // to the real fuzzyness introduced by the SAMOLED Pentile pattern
+ // color saturation boost on everything is also disabled because
+ // it causes harm on stock settings (exaggerated colors)
+ 0x0084, 0x0040,
+ 0x0090, 0x0000,
+ 0x0094, 0x0FFF,
+ 0x0098, 0x005C,
+ 0x009C, 0x0613,
+ 0x00AC, 0x0000,
+ 0x00B4, 0x0A00,
+ 0x00C0, 0x0400,
+ 0x00C4, 0x7200,
+ 0x00C8, 0x008D,
+ 0x00D0, 0x00C0,
+ END_SEQ, 0x0000,
+#else
0x0084, 0x0040,
0x0090, 0x0000,
0x0094, 0x0fff,
@@ -261,10 +298,27 @@ mDNIe_data_type mDNIe_UI[]=
0x0100, 0x0000,
END_SEQ, 0x0000,
#endif
+#endif
};
mDNIe_data_type mDNIe_Video_Warm[]=
{
+#ifdef CONFIG_VOODOO_MDNIE_VIDEOS_ALT_PRESETS
+ // Voodoo color: high vibrance/saturation and sharpening
+ // Boost mode for videos
+ 0x0084, 0x0040,
+ 0x0090, 0x0000,
+ 0x0094, 0x0FFF,
+ 0x0098, 0x005C,
+ 0x009C, 0x0FFF,
+ 0x00AC, 0x0200,
+ 0x00B4, 0x0800,
+ 0x00C0, 0x0400,
+ 0x00C4, 0x7200,
+ 0x00C8, 0x008D,
+ 0x00D0, 0x00C0,
+ END_SEQ, 0x0000,
+#else
0x0084, 0x0020,
0x0090, 0x0000,
0x0094, 0x0fff,
@@ -276,6 +330,7 @@ mDNIe_data_type mDNIe_Video_Warm[]=
0x0138, 0x7600,
0x0140, 0x0090,
END_SEQ, 0x0000,
+#endif
};
mDNIe_data_type mDNIe_Video_WO_Mode[]=
@@ -295,6 +350,22 @@ mDNIe_data_type mDNIe_Video_WO_Mode[]=
mDNIe_data_type mDNIe_Video_Cold[]=
{
+#ifdef CONFIG_VOODOO_MDNIE_VIDEOS_ALT_PRESETS
+ // Voodoo color : sharpness filter at minimum, unmodified color
+ // Soft mode. Useful to counter artifacts on bad or noisy videos
+ 0x0084, 0x0040,
+ 0x0090, 0x0000,
+ 0x0094, 0x0FFF,
+ 0x0098, 0x005C,
+ 0x009C, 0x0010,
+ 0x00AC, 0x0000,
+ 0x00B4, 0x0000,
+ 0x00C0, 0x0400,
+ 0x00C4, 0x7200,
+ 0x00C8, 0x008D,
+ 0x00D0, 0x00C0,
+ END_SEQ, 0x0000,
+#else
0x0084, 0x0020,
0x0090, 0x0000,
0x0094, 0x0fff,
@@ -306,6 +377,7 @@ mDNIe_data_type mDNIe_Video_Cold[]=
0x0140, 0x9400,
0x0148, 0x006D,
END_SEQ, 0x0000,
+#endif
};
mDNIe_data_type mDNIe_Video_CO_Mode[]=
diff --git a/Kernel/drivers/video/samsung/s3cfb_tl2796.c b/Kernel/drivers/video/samsung/s3cfb_tl2796.c
index fd76a5c..e043708 100644
--- a/Kernel/drivers/video/samsung/s3cfb_tl2796.c
+++ b/Kernel/drivers/video/samsung/s3cfb_tl2796.c
@@ -118,7 +118,6 @@ extern void init_mdnie_class(void);
static struct s5p_lcd lcd;
-#if !defined(CONFIG_ARIES_NTT)
static const unsigned short *p22Gamma_set[] = {
s6e63m0_22gamma_30cd,//0
@@ -150,6 +149,33 @@ static const unsigned short *p22Gamma_set[] = {
static const unsigned short *p19Gamma_set[] = {
+#ifdef CONFIG_VOODOO_COLOR_GAMMA_22_ONLY
+ s6e63m0_22gamma_30cd,//0
+ s6e63m0_22gamma_40cd,
+ s6e63m0_22gamma_70cd,
+ s6e63m0_22gamma_90cd,
+ s6e63m0_22gamma_100cd,
+ s6e63m0_22gamma_110cd, //5
+ s6e63m0_22gamma_120cd,
+ s6e63m0_22gamma_130cd,
+ s6e63m0_22gamma_140cd,
+ s6e63m0_22gamma_150cd,
+ s6e63m0_22gamma_160cd, //10
+ s6e63m0_22gamma_170cd,
+ s6e63m0_22gamma_180cd,
+ s6e63m0_22gamma_190cd,
+ s6e63m0_22gamma_200cd,
+ s6e63m0_22gamma_210cd, //15
+ s6e63m0_22gamma_220cd,
+ s6e63m0_22gamma_230cd,
+ s6e63m0_22gamma_240cd,
+ s6e63m0_22gamma_250cd,
+ s6e63m0_22gamma_260cd, //20
+ s6e63m0_22gamma_270cd,
+ s6e63m0_22gamma_280cd,
+ s6e63m0_22gamma_290cd,
+ s6e63m0_22gamma_300cd,//24
+#else
s6e63m0_19gamma_30cd, //0
//s6e63m0_19gamma_50cd,
s6e63m0_19gamma_40cd,
@@ -177,65 +203,8 @@ static const unsigned short *p19Gamma_set[] = {
s6e63m0_19gamma_280cd,
s6e63m0_19gamma_290cd,
s6e63m0_19gamma_300cd, //24
-};
-#else // Modify NTTS1
-static const unsigned short *p22Gamma_set[] = {
- s6e63m0_22gamma_30cd, //0
- s6e63m0_22gamma_40cd,
- s6e63m0_22gamma_50cd,
- s6e63m0_22gamma_60cd,
- s6e63m0_22gamma_70cd,
- s6e63m0_22gamma_80cd, //5
- s6e63m0_22gamma_90cd,
- s6e63m0_22gamma_100cd,
- s6e63m0_22gamma_110cd,
- s6e63m0_22gamma_120cd,
- s6e63m0_22gamma_130cd, //10
- s6e63m0_22gamma_140cd,
- s6e63m0_22gamma_150cd,
- s6e63m0_22gamma_160cd,
- s6e63m0_22gamma_170cd,
- s6e63m0_22gamma_180cd, //15
- s6e63m0_22gamma_190cd,
- s6e63m0_22gamma_200cd,
- s6e63m0_22gamma_210cd,
- s6e63m0_22gamma_220cd,
- s6e63m0_22gamma_230cd, //20
- s6e63m0_22gamma_240cd,
- s6e63m0_22gamma_260cd,
- s6e63m0_22gamma_280cd,
- s6e63m0_22gamma_300cd, //24
-};
-
-
-static const unsigned short *p19Gamma_set[] = {
- s6e63m0_19gamma_30cd, //0
- s6e63m0_19gamma_40cd,
- s6e63m0_19gamma_50cd,
- s6e63m0_19gamma_60cd,
- s6e63m0_19gamma_70cd,
- s6e63m0_19gamma_80cd, //5
- s6e63m0_19gamma_90cd,
- s6e63m0_19gamma_100cd,
- s6e63m0_19gamma_110cd,
- s6e63m0_19gamma_120cd,
- s6e63m0_19gamma_130cd, //10
- s6e63m0_19gamma_140cd,
- s6e63m0_19gamma_150cd,
- s6e63m0_19gamma_160cd,
- s6e63m0_19gamma_170cd,
- s6e63m0_19gamma_180cd, //15
- s6e63m0_19gamma_190cd,
- s6e63m0_19gamma_200cd,
- s6e63m0_19gamma_210cd,
- s6e63m0_19gamma_220cd,
- s6e63m0_19gamma_230cd, //20
- s6e63m0_19gamma_240cd,
- s6e63m0_19gamma_260cd,
- s6e63m0_19gamma_280cd,
- s6e63m0_19gamma_300cd, //24
-};
#endif
+};
#ifdef CONFIG_FB_S3C_TL2796_ACL
static const unsigned short *ACL_cutoff_set[] = {