1/*
2 * Copyright (C) Texas Instruments - http://www.ti.com/
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18* @file OMXSceneModeTables.h
19*
20* This holds scene mode settings for different omx cameras.
21*
22*/
23
24#include "OMX_TI_IVCommon.h"
25#include "OMX_TI_Common.h"
26#include "OMX_TI_Index.h"
27
28#ifndef OMXCAMERAADAPTER_SCENEMODES_H
29#define OMXCAMERAADAPTER_SCENEMODES_H
30
31#ifndef ARRAY_SIZE
32#define ARRAY_SIZE(array) (sizeof((array)) / sizeof((array)[0]))
33#endif
34
35namespace Ti {
36namespace Camera {
37
38struct SceneModesEntry {
39    OMX_SCENEMODETYPE scene;
40    OMX_IMAGE_FLASHCONTROLTYPE flash;
41    int focus;
42    OMX_WHITEBALCONTROLTYPE wb;
43};
44
45struct CameraToSensorModesLUTEntry {
46    const char* name;
47    const SceneModesEntry* Table;
48    const unsigned int size;
49};
50
51static const SceneModesEntry S5K4E1GA_SceneModesLUT [] = {
52    { OMX_Closeup,
53      OMX_IMAGE_FlashControlAuto,
54      OMX_IMAGE_FocusControlAutoMacro,
55      OMX_WhiteBalControlAuto },
56    { OMX_Landscape,
57      OMX_IMAGE_FlashControlOff,
58      OMX_IMAGE_FocusControlHyperfocal,
59      OMX_WhiteBalControlAuto },
60    { OMX_Underwater,
61      OMX_IMAGE_FlashControlAuto,
62      OMX_IMAGE_FocusControlAutoLock,
63      OMX_WhiteBalControlSunLight },
64    { OMX_Sport,
65      OMX_IMAGE_FlashControlOff,
66      OMX_IMAGE_FocusControlHyperfocal,
67      OMX_WhiteBalControlAuto },
68    { OMX_Mood,
69       OMX_IMAGE_FlashControlAuto,
70      OMX_IMAGE_FocusControlAutoLock,
71      OMX_WhiteBalControlAuto },
72    { OMX_NightPortrait,
73      OMX_IMAGE_FlashControlAuto,
74      OMX_IMAGE_FocusControlPortrait,
75      OMX_WhiteBalControlAuto },
76    { OMX_NightIndoor,
77      OMX_IMAGE_FlashControlAuto,
78      OMX_IMAGE_FocusControlHyperfocal,
79      OMX_WhiteBalControlAuto },
80    { OMX_Fireworks,
81      OMX_IMAGE_FlashControlOn,
82      OMX_IMAGE_FocusControlHyperfocal,
83      OMX_WhiteBalControlAuto },
84    { OMX_Document,
85      OMX_IMAGE_FlashControlOff,
86      OMX_IMAGE_FocusControlAutoMacro,
87      OMX_WhiteBalControlAuto },
88    { OMX_Barcode,
89      OMX_IMAGE_FlashControlAuto,
90      OMX_IMAGE_FocusControlAutoMacro,
91      OMX_WhiteBalControlAuto },
92    { OMX_SuperNight,
93      OMX_IMAGE_FlashControlAuto,
94      OMX_IMAGE_FocusControlHyperfocal,
95      OMX_WhiteBalControlAuto },
96    { OMX_Cine,
97      OMX_IMAGE_FlashControlAuto,
98      OMX_IMAGE_FocusControlHyperfocal,
99      OMX_WhiteBalControlAuto },
100    { OMX_OldFilm,
101      OMX_IMAGE_FlashControlAuto,
102      OMX_IMAGE_FocusControlHyperfocal,
103      OMX_WhiteBalControlAuto },
104    { OMX_TI_Action,
105      OMX_IMAGE_FlashControlOff,
106      OMX_IMAGE_FocusControlAuto,
107      OMX_WhiteBalControlAuto },
108    { OMX_TI_Beach,
109      OMX_IMAGE_FlashControlOff,
110      OMX_IMAGE_FocusControlAutoLock,
111      OMX_WhiteBalControlAuto },
112    { OMX_TI_Candlelight,
113      OMX_IMAGE_FlashControlAuto,
114      OMX_IMAGE_FocusControlHyperfocal,
115      OMX_WhiteBalControlIncandescent },
116    { OMX_TI_Night,
117      OMX_IMAGE_FlashControlOff,
118      OMX_IMAGE_FocusControlAuto,
119      OMX_WhiteBalControlAuto },
120    { OMX_TI_Party,
121      OMX_IMAGE_FlashControlAuto,
122      OMX_IMAGE_FocusControlAuto,
123      OMX_WhiteBalControlAuto },
124    { OMX_TI_Portrait,
125      OMX_IMAGE_FlashControlAuto,
126      OMX_IMAGE_FocusControlPortrait,
127      OMX_WhiteBalControlAuto },
128    { OMX_TI_Snow,
129      OMX_IMAGE_FlashControlOff,
130      OMX_IMAGE_FocusControlAutoLock,
131      OMX_WhiteBalControlAuto },
132    { OMX_TI_Steadyphoto,
133      OMX_IMAGE_FlashControlAuto,
134      OMX_IMAGE_FocusControlHyperfocal,
135      OMX_WhiteBalControlAuto },
136    { OMX_TI_Sunset,
137      OMX_IMAGE_FlashControlOff,
138      OMX_IMAGE_FocusControlAuto,
139      OMX_WhiteBalControlSunLight },
140    { OMX_TI_Theatre,
141      OMX_IMAGE_FlashControlAuto,
142      OMX_IMAGE_FocusControlHyperfocal,
143      OMX_WhiteBalControlAuto },
144};
145
146static const SceneModesEntry S5K6A1GX03_SceneModesLUT [] = {
147    { OMX_Closeup,
148      OMX_IMAGE_FlashControlOff,
149      OMX_IMAGE_FocusControlHyperfocal,
150      OMX_WhiteBalControlAuto },
151    { OMX_Landscape,
152      OMX_IMAGE_FlashControlOff,
153      OMX_IMAGE_FocusControlHyperfocal,
154      OMX_WhiteBalControlAuto },
155    { OMX_Underwater,
156      OMX_IMAGE_FlashControlOff,
157      OMX_IMAGE_FocusControlHyperfocal,
158      OMX_WhiteBalControlSunLight },
159    { OMX_Sport,
160      OMX_IMAGE_FlashControlOff,
161      OMX_IMAGE_FocusControlHyperfocal,
162      OMX_WhiteBalControlAuto },
163    { OMX_SnowBeach,
164      OMX_IMAGE_FlashControlOff,
165      OMX_IMAGE_FocusControlHyperfocal,
166      OMX_WhiteBalControlAuto },
167    { OMX_Mood,
168      OMX_IMAGE_FlashControlOff,
169      OMX_IMAGE_FocusControlHyperfocal,
170      OMX_WhiteBalControlAuto },
171    { OMX_NightPortrait,
172      OMX_IMAGE_FlashControlOff,
173      OMX_IMAGE_FocusControlHyperfocal,
174      OMX_WhiteBalControlAuto },
175    { OMX_NightIndoor,
176      OMX_IMAGE_FlashControlOff,
177      OMX_IMAGE_FocusControlHyperfocal,
178      OMX_WhiteBalControlAuto },
179    { OMX_Fireworks,
180      OMX_IMAGE_FlashControlOff,
181      OMX_IMAGE_FocusControlHyperfocal,
182      OMX_WhiteBalControlAuto },
183    { OMX_Document,
184      OMX_IMAGE_FlashControlOff,
185      OMX_IMAGE_FocusControlHyperfocal,
186      OMX_WhiteBalControlAuto },
187    { OMX_Barcode,
188      OMX_IMAGE_FlashControlOff,
189      OMX_IMAGE_FocusControlHyperfocal,
190      OMX_WhiteBalControlAuto },
191    { OMX_SuperNight,
192      OMX_IMAGE_FlashControlOff,
193      OMX_IMAGE_FocusControlHyperfocal,
194      OMX_WhiteBalControlAuto },
195    { OMX_Cine,
196      OMX_IMAGE_FlashControlOff,
197      OMX_IMAGE_FocusControlHyperfocal,
198      OMX_WhiteBalControlAuto },
199    { OMX_OldFilm,
200      OMX_IMAGE_FlashControlOff,
201      OMX_IMAGE_FocusControlHyperfocal,
202      OMX_WhiteBalControlAuto },
203    { OMX_TI_Action,
204      OMX_IMAGE_FlashControlOff,
205      OMX_IMAGE_FocusControlHyperfocal,
206      OMX_WhiteBalControlAuto },
207    { OMX_TI_Beach,
208      OMX_IMAGE_FlashControlOff,
209      OMX_IMAGE_FocusControlHyperfocal,
210      OMX_WhiteBalControlAuto },
211    { OMX_TI_Candlelight,
212      OMX_IMAGE_FlashControlOff,
213      OMX_IMAGE_FocusControlHyperfocal,
214      OMX_WhiteBalControlIncandescent },
215    { OMX_TI_Night,
216      OMX_IMAGE_FlashControlOff,
217      OMX_IMAGE_FocusControlHyperfocal,
218      OMX_WhiteBalControlAuto },
219    { OMX_TI_Party,
220      OMX_IMAGE_FlashControlOff,
221      OMX_IMAGE_FocusControlHyperfocal,
222      OMX_WhiteBalControlAuto },
223    { OMX_TI_Portrait,
224      OMX_IMAGE_FlashControlOff,
225      OMX_IMAGE_FocusControlHyperfocal,
226      OMX_WhiteBalControlAuto },
227    { OMX_TI_Snow,
228      OMX_IMAGE_FlashControlOff,
229      OMX_IMAGE_FocusControlHyperfocal,
230      OMX_WhiteBalControlAuto },
231    { OMX_TI_Steadyphoto,
232      OMX_IMAGE_FlashControlOff,
233      OMX_IMAGE_FocusControlHyperfocal,
234      OMX_WhiteBalControlAuto },
235    { OMX_TI_Sunset,
236      OMX_IMAGE_FlashControlOff,
237      OMX_IMAGE_FocusControlHyperfocal,
238      OMX_WhiteBalControlSunLight },
239    { OMX_TI_Theatre,
240      OMX_IMAGE_FlashControlOff,
241      OMX_IMAGE_FocusControlHyperfocal,
242      OMX_WhiteBalControlAuto },
243};
244
245static const SceneModesEntry IMX060_SceneModesLUT [] = {
246    { OMX_Closeup,
247      OMX_IMAGE_FlashControlAuto,
248      OMX_IMAGE_FocusControlAutoMacro,
249      OMX_WhiteBalControlAuto },
250    { OMX_Landscape,
251      OMX_IMAGE_FlashControlAuto,
252      OMX_IMAGE_FocusControlHyperfocal,
253      OMX_WhiteBalControlSunLight },
254    { OMX_Underwater,
255      OMX_IMAGE_FlashControlAuto,
256      OMX_IMAGE_FocusControlHyperfocal,
257      OMX_WhiteBalControlAuto },
258    { OMX_Sport,
259      OMX_IMAGE_FlashControlAuto,
260      OMX_IMAGE_FocusControlHyperfocal,
261      OMX_WhiteBalControlAuto },
262    { OMX_SnowBeach,
263      OMX_IMAGE_FlashControlOff,
264      OMX_IMAGE_FocusControlHyperfocal,
265      OMX_WhiteBalControlAuto },
266    { OMX_Mood,
267      OMX_IMAGE_FlashControlAuto,
268      OMX_IMAGE_FocusControlHyperfocal,
269      OMX_WhiteBalControlAuto },
270    { OMX_NightPortrait,
271      OMX_IMAGE_FlashControlAuto,
272      OMX_IMAGE_FocusControlPortrait,
273      OMX_WhiteBalControlAuto },
274    { OMX_NightIndoor,
275      OMX_IMAGE_FlashControlAuto,
276      OMX_IMAGE_FocusControlHyperfocal,
277      OMX_WhiteBalControlAuto },
278    { OMX_Fireworks,
279      OMX_IMAGE_FlashControlOn,
280      OMX_IMAGE_FocusControlHyperfocal,
281      OMX_WhiteBalControlAuto },
282    { OMX_Document,
283      OMX_IMAGE_FlashControlAuto,
284      OMX_IMAGE_FocusControlAutoMacro,
285      OMX_WhiteBalControlAuto },
286    { OMX_Barcode,
287      OMX_IMAGE_FlashControlAuto,
288      OMX_IMAGE_FocusControlAutoMacro,
289      OMX_WhiteBalControlAuto },
290    { OMX_SuperNight,
291      OMX_IMAGE_FlashControlAuto,
292      OMX_IMAGE_FocusControlAutoInfinity,
293      OMX_WhiteBalControlAuto },
294    { OMX_Cine,
295      OMX_IMAGE_FlashControlAuto,
296      OMX_IMAGE_FocusControlHyperfocal,
297      OMX_WhiteBalControlAuto },
298    { OMX_OldFilm,
299      OMX_IMAGE_FlashControlAuto,
300      OMX_IMAGE_FocusControlHyperfocal,
301      OMX_WhiteBalControlAuto },
302    { OMX_TI_Action,
303      OMX_IMAGE_FlashControlAuto,
304      OMX_IMAGE_FocusControlHyperfocal,
305      OMX_WhiteBalControlAuto },
306    { OMX_TI_Beach,
307      OMX_IMAGE_FlashControlOff,
308      OMX_IMAGE_FocusControlHyperfocal,
309      OMX_WhiteBalControlAuto },
310    { OMX_TI_Candlelight,
311      OMX_IMAGE_FlashControlOff,
312      OMX_IMAGE_FocusControlHyperfocal,
313      OMX_WhiteBalControlIncandescent },
314    { OMX_TI_Night,
315      OMX_IMAGE_FlashControlAuto,
316      OMX_IMAGE_FocusControlHyperfocal,
317      OMX_WhiteBalControlAuto },
318    { OMX_TI_Party,
319      OMX_IMAGE_FlashControlAuto,
320      OMX_IMAGE_FocusControlAutoLock,
321      OMX_WhiteBalControlAuto },
322    { OMX_TI_Portrait,
323      OMX_IMAGE_FlashControlOff,
324      OMX_IMAGE_FocusControlHyperfocal,
325      OMX_WhiteBalControlAuto },
326    { OMX_TI_Snow,
327      OMX_IMAGE_FlashControlOff,
328      OMX_IMAGE_FocusControlHyperfocal,
329      OMX_WhiteBalControlAuto },
330    { OMX_TI_Steadyphoto,
331      OMX_IMAGE_FlashControlOff,
332      OMX_IMAGE_FocusControlHyperfocal,
333      OMX_WhiteBalControlAuto },
334    { OMX_TI_Sunset,
335      OMX_IMAGE_FlashControlAuto,
336      OMX_IMAGE_FocusControlHyperfocal,
337      ( OMX_WHITEBALCONTROLTYPE ) OMX_TI_WhiteBalControlSunset },
338    { OMX_TI_Theatre,
339      OMX_IMAGE_FlashControlOff,
340      OMX_IMAGE_FocusControlHyperfocal,
341      OMX_WhiteBalControlAuto },
342};
343
344static const SceneModesEntry OV5640_SceneModesLUT [] = {
345    { OMX_Closeup,
346      OMX_IMAGE_FlashControlOff,
347      OMX_IMAGE_FocusControlHyperfocal,
348      OMX_WhiteBalControlAuto },
349    { OMX_Landscape,
350      OMX_IMAGE_FlashControlOff,
351      OMX_IMAGE_FocusControlHyperfocal,
352      OMX_WhiteBalControlAuto },
353    { OMX_Underwater,
354      OMX_IMAGE_FlashControlOff,
355      OMX_IMAGE_FocusControlHyperfocal,
356      OMX_WhiteBalControlSunLight },
357    { OMX_Sport,
358      OMX_IMAGE_FlashControlOff,
359      OMX_IMAGE_FocusControlAutoInfinity,
360      OMX_WhiteBalControlAuto },
361    { OMX_SnowBeach,
362      OMX_IMAGE_FlashControlOff,
363      OMX_IMAGE_FocusControlHyperfocal,
364      OMX_WhiteBalControlAuto },
365    { OMX_Mood,
366      OMX_IMAGE_FlashControlOff,
367      OMX_IMAGE_FocusControlHyperfocal,
368      OMX_WhiteBalControlAuto },
369    { OMX_NightPortrait,
370      OMX_IMAGE_FlashControlOff,
371      OMX_IMAGE_FocusControlHyperfocal,
372      OMX_WhiteBalControlAuto },
373    { OMX_NightIndoor,
374      OMX_IMAGE_FlashControlOff,
375      OMX_IMAGE_FocusControlHyperfocal,
376      OMX_WhiteBalControlAuto },
377    { OMX_Fireworks,
378      OMX_IMAGE_FlashControlOff,
379      OMX_IMAGE_FocusControlHyperfocal,
380      OMX_WhiteBalControlAuto },
381    { OMX_Document,
382      OMX_IMAGE_FlashControlOff,
383      OMX_IMAGE_FocusControlHyperfocal,
384      OMX_WhiteBalControlAuto },
385    { OMX_Barcode,
386      OMX_IMAGE_FlashControlOff,
387      OMX_IMAGE_FocusControlHyperfocal,
388      OMX_WhiteBalControlAuto },
389    { OMX_SuperNight,
390      OMX_IMAGE_FlashControlOff,
391      OMX_IMAGE_FocusControlHyperfocal,
392      OMX_WhiteBalControlAuto },
393    { OMX_Cine,
394      OMX_IMAGE_FlashControlOff,
395      OMX_IMAGE_FocusControlHyperfocal,
396      OMX_WhiteBalControlAuto },
397    { OMX_OldFilm,
398      OMX_IMAGE_FlashControlOff,
399      OMX_IMAGE_FocusControlHyperfocal,
400      OMX_WhiteBalControlAuto },
401    { OMX_TI_Action,
402      OMX_IMAGE_FlashControlOff,
403      OMX_IMAGE_FocusControlHyperfocal,
404      OMX_WhiteBalControlAuto },
405    { OMX_TI_Beach,
406      OMX_IMAGE_FlashControlOff,
407      OMX_IMAGE_FocusControlHyperfocal,
408      OMX_WhiteBalControlAuto },
409    { OMX_TI_Candlelight,
410      OMX_IMAGE_FlashControlOff,
411      OMX_IMAGE_FocusControlHyperfocal,
412      OMX_WhiteBalControlIncandescent },
413    { OMX_TI_Night,
414      OMX_IMAGE_FlashControlOff,
415      OMX_IMAGE_FocusControlHyperfocal,
416      OMX_WhiteBalControlAuto },
417    { OMX_TI_Party,
418      OMX_IMAGE_FlashControlOff,
419      OMX_IMAGE_FocusControlHyperfocal,
420      OMX_WhiteBalControlAuto },
421    { OMX_TI_Portrait,
422      OMX_IMAGE_FlashControlOff,
423      OMX_IMAGE_FocusControlHyperfocal,
424      OMX_WhiteBalControlAuto },
425    { OMX_TI_Snow,
426      OMX_IMAGE_FlashControlOff,
427      OMX_IMAGE_FocusControlHyperfocal,
428      OMX_WhiteBalControlAuto },
429    { OMX_TI_Steadyphoto,
430      OMX_IMAGE_FlashControlOff,
431      OMX_IMAGE_FocusControlHyperfocal,
432      OMX_WhiteBalControlAuto },
433    { OMX_TI_Sunset,
434      OMX_IMAGE_FlashControlOff,
435      OMX_IMAGE_FocusControlHyperfocal,
436      OMX_WhiteBalControlAuto },
437    { OMX_TI_Theatre,
438      OMX_IMAGE_FlashControlOff,
439      OMX_IMAGE_FocusControlHyperfocal,
440      OMX_WhiteBalControlAuto },
441};
442
443static const SceneModesEntry OV5650_SceneModesLUT [] = {
444    { OMX_Closeup,
445      OMX_IMAGE_FlashControlAuto,
446      OMX_IMAGE_FocusControlHyperfocal,
447      OMX_WhiteBalControlAuto },
448    { OMX_Landscape,
449      OMX_IMAGE_FlashControlAuto,
450      OMX_IMAGE_FocusControlHyperfocal,
451      OMX_WhiteBalControlSunLight },
452    { OMX_Underwater,
453      OMX_IMAGE_FlashControlAuto,
454      OMX_IMAGE_FocusControlHyperfocal,
455      OMX_WhiteBalControlAuto },
456    { OMX_Sport,
457      OMX_IMAGE_FlashControlAuto,
458      OMX_IMAGE_FocusControlHyperfocal,
459      OMX_WhiteBalControlAuto },
460    { OMX_SnowBeach,
461      OMX_IMAGE_FlashControlOff,
462      OMX_IMAGE_FocusControlHyperfocal,
463      OMX_WhiteBalControlAuto },
464    { OMX_Mood,
465      OMX_IMAGE_FlashControlAuto,
466      OMX_IMAGE_FocusControlHyperfocal,
467      OMX_WhiteBalControlAuto },
468    { OMX_NightPortrait,
469      OMX_IMAGE_FlashControlAuto,
470      OMX_IMAGE_FocusControlPortrait,
471      OMX_WhiteBalControlAuto },
472    { OMX_NightIndoor,
473      OMX_IMAGE_FlashControlAuto,
474      OMX_IMAGE_FocusControlHyperfocal,
475      OMX_WhiteBalControlAuto },
476    { OMX_Fireworks,
477      OMX_IMAGE_FlashControlOn,
478      OMX_IMAGE_FocusControlHyperfocal,
479      OMX_WhiteBalControlAuto },
480    { OMX_Document,
481      OMX_IMAGE_FlashControlAuto,
482      OMX_IMAGE_FocusControlHyperfocal,
483      OMX_WhiteBalControlAuto },
484    { OMX_Barcode,
485      OMX_IMAGE_FlashControlAuto,
486      OMX_IMAGE_FocusControlHyperfocal,
487      OMX_WhiteBalControlAuto },
488    { OMX_SuperNight,
489      OMX_IMAGE_FlashControlAuto,
490      OMX_IMAGE_FocusControlAutoInfinity,
491      OMX_WhiteBalControlAuto },
492    { OMX_Cine,
493      OMX_IMAGE_FlashControlAuto,
494      OMX_IMAGE_FocusControlHyperfocal,
495      OMX_WhiteBalControlAuto },
496    { OMX_OldFilm,
497      OMX_IMAGE_FlashControlAuto,
498      OMX_IMAGE_FocusControlHyperfocal,
499      OMX_WhiteBalControlAuto },
500    { OMX_TI_Action,
501      OMX_IMAGE_FlashControlAuto,
502      OMX_IMAGE_FocusControlHyperfocal,
503      OMX_WhiteBalControlAuto },
504    { OMX_TI_Beach,
505      OMX_IMAGE_FlashControlOff,
506      OMX_IMAGE_FocusControlHyperfocal,
507      OMX_WhiteBalControlAuto },
508    { OMX_TI_Candlelight,
509      OMX_IMAGE_FlashControlOff,
510      OMX_IMAGE_FocusControlHyperfocal,
511      OMX_WhiteBalControlIncandescent },
512    { OMX_TI_Night,
513      OMX_IMAGE_FlashControlAuto,
514      OMX_IMAGE_FocusControlHyperfocal,
515      OMX_WhiteBalControlAuto },
516    { OMX_TI_Party,
517      OMX_IMAGE_FlashControlAuto,
518      OMX_IMAGE_FocusControlAutoLock,
519      OMX_WhiteBalControlAuto },
520    { OMX_TI_Portrait,
521      OMX_IMAGE_FlashControlOff,
522      OMX_IMAGE_FocusControlHyperfocal,
523      OMX_WhiteBalControlAuto },
524    { OMX_TI_Snow,
525      OMX_IMAGE_FlashControlOff,
526      OMX_IMAGE_FocusControlHyperfocal,
527      OMX_WhiteBalControlAuto },
528    { OMX_TI_Steadyphoto,
529      OMX_IMAGE_FlashControlOff,
530      OMX_IMAGE_FocusControlHyperfocal,
531      OMX_WhiteBalControlAuto },
532    { OMX_TI_Sunset,
533      OMX_IMAGE_FlashControlAuto,
534      OMX_IMAGE_FocusControlHyperfocal,
535      ( OMX_WHITEBALCONTROLTYPE ) OMX_TI_WhiteBalControlSunset },
536    { OMX_TI_Theatre,
537      OMX_IMAGE_FlashControlOff,
538      OMX_IMAGE_FocusControlHyperfocal,
539      OMX_WhiteBalControlAuto },
540};
541
542static const SceneModesEntry OV8830_SceneModesLUT [] = {
543    { OMX_Closeup,
544      OMX_IMAGE_FlashControlAuto,
545      OMX_IMAGE_FocusControlHyperfocal,
546      OMX_WhiteBalControlAuto },
547    { OMX_Landscape,
548      OMX_IMAGE_FlashControlAuto,
549      OMX_IMAGE_FocusControlHyperfocal,
550      OMX_WhiteBalControlSunLight },
551    { OMX_Underwater,
552      OMX_IMAGE_FlashControlAuto,
553      OMX_IMAGE_FocusControlHyperfocal,
554      OMX_WhiteBalControlAuto },
555    { OMX_Sport,
556      OMX_IMAGE_FlashControlAuto,
557      OMX_IMAGE_FocusControlHyperfocal,
558      OMX_WhiteBalControlAuto },
559    { OMX_SnowBeach,
560      OMX_IMAGE_FlashControlOff,
561      OMX_IMAGE_FocusControlHyperfocal,
562      OMX_WhiteBalControlAuto },
563    { OMX_Mood,
564      OMX_IMAGE_FlashControlAuto,
565      OMX_IMAGE_FocusControlHyperfocal,
566      OMX_WhiteBalControlAuto },
567    { OMX_NightPortrait,
568      OMX_IMAGE_FlashControlAuto,
569      OMX_IMAGE_FocusControlPortrait,
570      OMX_WhiteBalControlAuto },
571    { OMX_NightIndoor,
572      OMX_IMAGE_FlashControlAuto,
573      OMX_IMAGE_FocusControlHyperfocal,
574      OMX_WhiteBalControlAuto },
575    { OMX_Fireworks,
576      OMX_IMAGE_FlashControlOn,
577      OMX_IMAGE_FocusControlHyperfocal,
578      OMX_WhiteBalControlAuto },
579    { OMX_Document,
580      OMX_IMAGE_FlashControlAuto,
581      OMX_IMAGE_FocusControlHyperfocal,
582      OMX_WhiteBalControlAuto },
583    { OMX_Barcode,
584      OMX_IMAGE_FlashControlAuto,
585      OMX_IMAGE_FocusControlHyperfocal,
586      OMX_WhiteBalControlAuto },
587    { OMX_SuperNight,
588      OMX_IMAGE_FlashControlAuto,
589      OMX_IMAGE_FocusControlAutoInfinity,
590      OMX_WhiteBalControlAuto },
591    { OMX_Cine,
592      OMX_IMAGE_FlashControlAuto,
593      OMX_IMAGE_FocusControlHyperfocal,
594      OMX_WhiteBalControlAuto },
595    { OMX_OldFilm,
596      OMX_IMAGE_FlashControlAuto,
597      OMX_IMAGE_FocusControlHyperfocal,
598      OMX_WhiteBalControlAuto },
599    { OMX_TI_Action,
600      OMX_IMAGE_FlashControlAuto,
601      OMX_IMAGE_FocusControlHyperfocal,
602      OMX_WhiteBalControlAuto },
603    { OMX_TI_Beach,
604      OMX_IMAGE_FlashControlOff,
605      OMX_IMAGE_FocusControlHyperfocal,
606      OMX_WhiteBalControlAuto },
607    { OMX_TI_Candlelight,
608      OMX_IMAGE_FlashControlOff,
609      OMX_IMAGE_FocusControlHyperfocal,
610      OMX_WhiteBalControlIncandescent },
611    { OMX_TI_Night,
612      OMX_IMAGE_FlashControlAuto,
613      OMX_IMAGE_FocusControlHyperfocal,
614      OMX_WhiteBalControlAuto },
615    { OMX_TI_Party,
616      OMX_IMAGE_FlashControlAuto,
617      OMX_IMAGE_FocusControlAutoLock,
618      OMX_WhiteBalControlAuto },
619    { OMX_TI_Portrait,
620      OMX_IMAGE_FlashControlOff,
621      OMX_IMAGE_FocusControlHyperfocal,
622      OMX_WhiteBalControlAuto },
623    { OMX_TI_Snow,
624      OMX_IMAGE_FlashControlOff,
625      OMX_IMAGE_FocusControlHyperfocal,
626      OMX_WhiteBalControlAuto },
627    { OMX_TI_Steadyphoto,
628      OMX_IMAGE_FlashControlOff,
629      OMX_IMAGE_FocusControlHyperfocal,
630      OMX_WhiteBalControlAuto },
631    { OMX_TI_Sunset,
632      OMX_IMAGE_FlashControlAuto,
633      OMX_IMAGE_FocusControlHyperfocal,
634      ( OMX_WHITEBALCONTROLTYPE ) OMX_TI_WhiteBalControlSunset },
635    { OMX_TI_Theatre,
636      OMX_IMAGE_FlashControlOff,
637      OMX_IMAGE_FocusControlHyperfocal,
638      OMX_WhiteBalControlAuto },
639};
640
641static const SceneModesEntry OV2722_SceneModesLUT [] = {
642    { OMX_Closeup,
643      OMX_IMAGE_FlashControlAuto,
644      OMX_IMAGE_FocusControlHyperfocal,
645      OMX_WhiteBalControlAuto },
646    { OMX_Landscape,
647      OMX_IMAGE_FlashControlAuto,
648      OMX_IMAGE_FocusControlHyperfocal,
649      OMX_WhiteBalControlSunLight },
650    { OMX_Underwater,
651      OMX_IMAGE_FlashControlAuto,
652      OMX_IMAGE_FocusControlHyperfocal,
653      OMX_WhiteBalControlAuto },
654    { OMX_Sport,
655      OMX_IMAGE_FlashControlAuto,
656      OMX_IMAGE_FocusControlHyperfocal,
657      OMX_WhiteBalControlAuto },
658    { OMX_SnowBeach,
659      OMX_IMAGE_FlashControlOff,
660      OMX_IMAGE_FocusControlHyperfocal,
661      OMX_WhiteBalControlAuto },
662    { OMX_Mood,
663      OMX_IMAGE_FlashControlAuto,
664      OMX_IMAGE_FocusControlHyperfocal,
665      OMX_WhiteBalControlAuto },
666    { OMX_NightPortrait,
667      OMX_IMAGE_FlashControlAuto,
668      OMX_IMAGE_FocusControlHyperfocal,
669      OMX_WhiteBalControlAuto },
670    { OMX_NightIndoor,
671      OMX_IMAGE_FlashControlAuto,
672      OMX_IMAGE_FocusControlHyperfocal,
673      OMX_WhiteBalControlAuto },
674    { OMX_Fireworks,
675      OMX_IMAGE_FlashControlOn,
676      OMX_IMAGE_FocusControlHyperfocal,
677      OMX_WhiteBalControlAuto },
678    { OMX_Document,
679      OMX_IMAGE_FlashControlAuto,
680      OMX_IMAGE_FocusControlHyperfocal,
681      OMX_WhiteBalControlAuto },
682    { OMX_Barcode,
683      OMX_IMAGE_FlashControlAuto,
684      OMX_IMAGE_FocusControlHyperfocal,
685      OMX_WhiteBalControlAuto },
686    { OMX_SuperNight,
687      OMX_IMAGE_FlashControlAuto,
688      OMX_IMAGE_FocusControlAutoInfinity,
689      OMX_WhiteBalControlAuto },
690    { OMX_Cine,
691      OMX_IMAGE_FlashControlAuto,
692      OMX_IMAGE_FocusControlHyperfocal,
693      OMX_WhiteBalControlAuto },
694    { OMX_OldFilm,
695      OMX_IMAGE_FlashControlAuto,
696      OMX_IMAGE_FocusControlHyperfocal,
697      OMX_WhiteBalControlAuto },
698    { OMX_TI_Action,
699      OMX_IMAGE_FlashControlAuto,
700      OMX_IMAGE_FocusControlHyperfocal,
701      OMX_WhiteBalControlAuto },
702    { OMX_TI_Beach,
703      OMX_IMAGE_FlashControlOff,
704      OMX_IMAGE_FocusControlHyperfocal,
705      OMX_WhiteBalControlAuto },
706    { OMX_TI_Candlelight,
707      OMX_IMAGE_FlashControlOff,
708      OMX_IMAGE_FocusControlHyperfocal,
709      OMX_WhiteBalControlIncandescent },
710    { OMX_TI_Night,
711      OMX_IMAGE_FlashControlAuto,
712      OMX_IMAGE_FocusControlHyperfocal,
713      OMX_WhiteBalControlAuto },
714    { OMX_TI_Party,
715      OMX_IMAGE_FlashControlAuto,
716      OMX_IMAGE_FocusControlHyperfocal,
717      OMX_WhiteBalControlAuto },
718    { OMX_TI_Portrait,
719      OMX_IMAGE_FlashControlOff,
720      OMX_IMAGE_FocusControlHyperfocal,
721      OMX_WhiteBalControlAuto },
722    { OMX_TI_Snow,
723      OMX_IMAGE_FlashControlOff,
724      OMX_IMAGE_FocusControlHyperfocal,
725      OMX_WhiteBalControlAuto },
726    { OMX_TI_Steadyphoto,
727      OMX_IMAGE_FlashControlOff,
728      OMX_IMAGE_FocusControlHyperfocal,
729      OMX_WhiteBalControlAuto },
730    { OMX_TI_Sunset,
731      OMX_IMAGE_FlashControlAuto,
732      OMX_IMAGE_FocusControlHyperfocal,
733      ( OMX_WHITEBALCONTROLTYPE ) OMX_TI_WhiteBalControlSunset },
734    { OMX_TI_Theatre,
735      OMX_IMAGE_FlashControlOff,
736      OMX_IMAGE_FocusControlHyperfocal,
737      OMX_WhiteBalControlAuto },
738};
739
740static const CameraToSensorModesLUTEntry CameraToSensorModesLUT [] = {
741    { "S5K4E1GA", S5K4E1GA_SceneModesLUT, ARRAY_SIZE(S5K4E1GA_SceneModesLUT)},
742    { "S5K6A1GX03", S5K6A1GX03_SceneModesLUT, ARRAY_SIZE(S5K6A1GX03_SceneModesLUT)},
743    { "IMX060", IMX060_SceneModesLUT, ARRAY_SIZE(IMX060_SceneModesLUT)},
744    { "OV5640", OV5640_SceneModesLUT, ARRAY_SIZE(OV5640_SceneModesLUT)},
745    { "OV5650", OV5650_SceneModesLUT, ARRAY_SIZE(OV5650_SceneModesLUT)},
746    { "OV8830", OV8830_SceneModesLUT, ARRAY_SIZE(OV8830_SceneModesLUT)},
747    { "OV2722", OV2722_SceneModesLUT, ARRAY_SIZE(OV2722_SceneModesLUT)}
748};
749
750} // namespace Camera
751} // namespace Ti
752
753#endif
754