Imported Upstream version 0.1.0+git20131207+e452e83
[deb_libhybris.git] / hybris / include / hybris / camera / camera_compatibility_layer_configuration_translator.h
1 /*
2 * Copyright (C) 2013 Canonical Ltd
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 * Authored by: Thomas Voss <thomas.voss@canonical.com>
17 */
18
19 #ifndef CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_TRANSLATOR_H_
20 #define CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_TRANSLATOR_H_
21
22 #include <hybris/camera/camera_compatibility_layer_capabilities.h>
23
24 #include <camera/CameraParameters.h>
25 #include <utils/KeyedVector.h>
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 static const char* effect_modes[] =
32 {
33 android::CameraParameters::EFFECT_NONE,
34 android::CameraParameters::EFFECT_MONO,
35 android::CameraParameters::EFFECT_NEGATIVE,
36 android::CameraParameters::EFFECT_SOLARIZE,
37 android::CameraParameters::EFFECT_SEPIA,
38 android::CameraParameters::EFFECT_POSTERIZE,
39 android::CameraParameters::EFFECT_WHITEBOARD,
40 android::CameraParameters::EFFECT_BLACKBOARD,
41 android::CameraParameters::EFFECT_AQUA
42 };
43
44 android::KeyedVector<android::String8, EffectMode> init_effect_modes_lut()
45 {
46 android::KeyedVector<android::String8, EffectMode> m;
47 m.add(android::String8(android::CameraParameters::EFFECT_NONE), EFFECT_MODE_NONE);
48 m.add(android::String8(android::CameraParameters::EFFECT_MONO), EFFECT_MODE_MONO);
49 m.add(android::String8(android::CameraParameters::EFFECT_NEGATIVE), EFFECT_MODE_NEGATIVE);
50 m.add(android::String8(android::CameraParameters::EFFECT_SOLARIZE), EFFECT_MODE_SOLARIZE);
51 m.add(android::String8(android::CameraParameters::EFFECT_SEPIA), EFFECT_MODE_SEPIA);
52 m.add(android::String8(android::CameraParameters::EFFECT_POSTERIZE), EFFECT_MODE_POSTERIZE);
53 m.add(android::String8(android::CameraParameters::EFFECT_WHITEBOARD), EFFECT_MODE_WHITEBOARD);
54 m.add(android::String8(android::CameraParameters::EFFECT_BLACKBOARD), EFFECT_MODE_BLACKBOARD);
55 m.add(android::String8(android::CameraParameters::EFFECT_AQUA), EFFECT_MODE_AQUA);
56
57 return m;
58 }
59
60 static android::KeyedVector<android::String8, EffectMode> effect_modes_lut = init_effect_modes_lut();
61
62 static const char* white_balance_modes[] =
63 {
64 android::CameraParameters::WHITE_BALANCE_AUTO,
65 android::CameraParameters::WHITE_BALANCE_DAYLIGHT,
66 android::CameraParameters::WHITE_BALANCE_CLOUDY_DAYLIGHT,
67 android::CameraParameters::WHITE_BALANCE_FLUORESCENT,
68 android::CameraParameters::WHITE_BALANCE_INCANDESCENT
69 };
70
71 android::KeyedVector<android::String8, WhiteBalanceMode> init_white_balance_modes_lut()
72 {
73 android::KeyedVector<android::String8, WhiteBalanceMode> m;
74 m.add(android::String8(android::CameraParameters::WHITE_BALANCE_AUTO), WHITE_BALANCE_MODE_AUTO);
75 m.add(android::String8(android::CameraParameters::WHITE_BALANCE_DAYLIGHT), WHITE_BALANCE_MODE_DAYLIGHT);
76 m.add(android::String8(android::CameraParameters::WHITE_BALANCE_CLOUDY_DAYLIGHT), WHITE_BALANCE_MODE_CLOUDY_DAYLIGHT);
77 m.add(android::String8(android::CameraParameters::WHITE_BALANCE_FLUORESCENT), WHITE_BALANCE_MODE_FLUORESCENT);
78 m.add(android::String8(android::CameraParameters::WHITE_BALANCE_INCANDESCENT), WHITE_BALANCE_MODE_INCANDESCENT);
79 return m;
80 }
81
82 static android::KeyedVector<android::String8, WhiteBalanceMode> white_balance_modes_lut = init_white_balance_modes_lut();
83
84 static const char* flash_modes[] =
85 {
86 android::CameraParameters::FLASH_MODE_OFF,
87 android::CameraParameters::FLASH_MODE_AUTO,
88 android::CameraParameters::FLASH_MODE_ON,
89 android::CameraParameters::FLASH_MODE_TORCH
90 };
91
92 static android::KeyedVector<android::String8, FlashMode> init_flash_modes_lut()
93 {
94 android::KeyedVector<android::String8, FlashMode> m;
95 m.add(android::String8(android::CameraParameters::FLASH_MODE_OFF), FLASH_MODE_OFF);
96 m.add(android::String8(android::CameraParameters::FLASH_MODE_AUTO), FLASH_MODE_AUTO);
97 m.add(android::String8(android::CameraParameters::FLASH_MODE_ON), FLASH_MODE_ON);
98 m.add(android::String8(android::CameraParameters::FLASH_MODE_TORCH), FLASH_MODE_TORCH);
99
100 return m;
101 }
102
103 static android::KeyedVector<android::String8, FlashMode> flash_modes_lut = init_flash_modes_lut();
104
105 static const char* scene_modes[] =
106 {
107 android::CameraParameters::SCENE_MODE_AUTO,
108 android::CameraParameters::SCENE_MODE_ACTION,
109 android::CameraParameters::SCENE_MODE_NIGHT,
110 android::CameraParameters::SCENE_MODE_PARTY,
111 android::CameraParameters::SCENE_MODE_SUNSET
112 };
113
114 static android::KeyedVector<android::String8, SceneMode> init_scene_modes_lut()
115 {
116 android::KeyedVector<android::String8, SceneMode> m;
117 m.add(android::String8(android::CameraParameters::SCENE_MODE_AUTO), SCENE_MODE_AUTO);
118 m.add(android::String8(android::CameraParameters::SCENE_MODE_ACTION), SCENE_MODE_ACTION);
119 m.add(android::String8(android::CameraParameters::SCENE_MODE_NIGHT), SCENE_MODE_NIGHT);
120 m.add(android::String8(android::CameraParameters::SCENE_MODE_PARTY), SCENE_MODE_PARTY);
121 m.add(android::String8(android::CameraParameters::SCENE_MODE_SUNSET), SCENE_MODE_SUNSET);
122
123 return m;
124 }
125
126 static android::KeyedVector<android::String8, SceneMode> scene_modes_lut = init_scene_modes_lut();
127
128 static const char* auto_focus_modes[] =
129 {
130 android::CameraParameters::FOCUS_MODE_FIXED,
131 android::CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO,
132 android::CameraParameters::FOCUS_MODE_AUTO,
133 android::CameraParameters::FOCUS_MODE_MACRO,
134 android::CameraParameters::FOCUS_MODE_CONTINUOUS_PICTURE,
135 android::CameraParameters::FOCUS_MODE_INFINITY
136 };
137
138 static android::KeyedVector<android::String8, AutoFocusMode> init_auto_focus_modes_lut()
139 {
140 android::KeyedVector<android::String8, AutoFocusMode> m;
141 m.add(android::String8(android::CameraParameters::FOCUS_MODE_FIXED), AUTO_FOCUS_MODE_OFF);
142 m.add(android::String8(android::CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO), AUTO_FOCUS_MODE_CONTINUOUS_VIDEO);
143 m.add(android::String8(android::CameraParameters::FOCUS_MODE_AUTO), AUTO_FOCUS_MODE_AUTO);
144 m.add(android::String8(android::CameraParameters::FOCUS_MODE_MACRO), AUTO_FOCUS_MODE_MACRO);
145 m.add(android::String8(android::CameraParameters::FOCUS_MODE_CONTINUOUS_PICTURE), AUTO_FOCUS_MODE_CONTINUOUS_PICTURE);
146 m.add(android::String8(android::CameraParameters::FOCUS_MODE_INFINITY), AUTO_FOCUS_MODE_INFINITY);
147
148 return m;
149 }
150
151 static android::KeyedVector<android::String8, AutoFocusMode> auto_focus_modes_lut = init_auto_focus_modes_lut();
152
153 static const char* camera_pixel_formats[] =
154 {
155 android::CameraParameters::PIXEL_FORMAT_YUV422SP,
156 android::CameraParameters::PIXEL_FORMAT_YUV420SP,
157 android::CameraParameters::PIXEL_FORMAT_YUV422I,
158 android::CameraParameters::PIXEL_FORMAT_YUV420P,
159 android::CameraParameters::PIXEL_FORMAT_RGB565,
160 android::CameraParameters::PIXEL_FORMAT_RGBA8888,
161 android::CameraParameters::PIXEL_FORMAT_BAYER_RGGB
162 };
163
164 static android::KeyedVector<android::String8, CameraPixelFormat> init_pixel_formats_lut()
165 {
166 android::KeyedVector<android::String8, CameraPixelFormat> m;
167 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_YUV422SP), CAMERA_PIXEL_FORMAT_YUV422SP);
168 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_YUV420SP), CAMERA_PIXEL_FORMAT_YUV420SP);
169 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_YUV422I), CAMERA_PIXEL_FORMAT_YUV422I);
170 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_YUV420P), CAMERA_PIXEL_FORMAT_YUV420P);
171 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_RGB565), CAMERA_PIXEL_FORMAT_RGB565);
172 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_RGBA8888), CAMERA_PIXEL_FORMAT_RGBA8888);
173 m.add(android::String8(android::CameraParameters::PIXEL_FORMAT_BAYER_RGGB), CAMERA_PIXEL_FORMAT_BAYER_RGGB);
174 return m;
175 }
176
177 static android::KeyedVector<android::String8, CameraPixelFormat> pixel_formats_lut = init_pixel_formats_lut();
178
179 #ifdef __cplusplus
180 }
181 #endif
182
183 #endif