2 * Copyright (C) 2013 Canonical Ltd
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 * Authored by: Thomas Voss <thomas.voss@canonical.com>
19 #ifndef CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_TRANSLATOR_H_
20 #define CAMERA_COMPATIBILITY_LAYER_CONFIGURATION_TRANSLATOR_H_
22 #include <hybris/camera/camera_compatibility_layer_capabilities.h>
24 #include <camera/CameraParameters.h>
25 #include <utils/KeyedVector.h>
31 static const char* effect_modes
[] =
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
44 android::KeyedVector
<android::String8
, EffectMode
> init_effect_modes_lut()
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
);
60 static android::KeyedVector
<android::String8
, EffectMode
> effect_modes_lut
= init_effect_modes_lut();
62 static const char* white_balance_modes
[] =
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
71 android::KeyedVector
<android::String8
, WhiteBalanceMode
> init_white_balance_modes_lut()
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
);
82 static android::KeyedVector
<android::String8
, WhiteBalanceMode
> white_balance_modes_lut
= init_white_balance_modes_lut();
84 static const char* flash_modes
[] =
86 android::CameraParameters::FLASH_MODE_OFF
,
87 android::CameraParameters::FLASH_MODE_AUTO
,
88 android::CameraParameters::FLASH_MODE_ON
,
89 android::CameraParameters::FLASH_MODE_TORCH
92 static android::KeyedVector
<android::String8
, FlashMode
> init_flash_modes_lut()
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
);
103 static android::KeyedVector
<android::String8
, FlashMode
> flash_modes_lut
= init_flash_modes_lut();
105 static const char* scene_modes
[] =
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
114 static android::KeyedVector
<android::String8
, SceneMode
> init_scene_modes_lut()
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
);
126 static android::KeyedVector
<android::String8
, SceneMode
> scene_modes_lut
= init_scene_modes_lut();
128 static const char* auto_focus_modes
[] =
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
138 static android::KeyedVector
<android::String8
, AutoFocusMode
> init_auto_focus_modes_lut()
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
);
151 static android::KeyedVector
<android::String8
, AutoFocusMode
> auto_focus_modes_lut
= init_auto_focus_modes_lut();
153 static const char* camera_pixel_formats
[] =
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
164 static android::KeyedVector
<android::String8
, CameraPixelFormat
> init_pixel_formats_lut()
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
);
177 static android::KeyedVector
<android::String8
, CameraPixelFormat
> pixel_formats_lut
= init_pixel_formats_lut();