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#ifndef TI_CAMERA_PARAMETERS_H
18#define TI_CAMERA_PARAMETERS_H
19
20#include <utils/KeyedVector.h>
21#include <utils/String8.h>
22
23namespace Ti {
24namespace Camera {
25
26///TI Specific Camera Parameters
27class TICameraParameters
28{
29public:
30
31// Supported Camera indexes
32// Example value: "0,1,2,3", where 0-primary, 1-secondary1, 2-secondary2, 3-sterocamera
33static const  char KEY_SUPPORTED_CAMERAS[];
34// Select logical Camera index
35static const char KEY_CAMERA[];
36static const char KEY_CAMERA_NAME[];
37static const char  KEY_BURST[];
38static const  char KEY_CAP_MODE[];
39static const  char KEY_CAP_MODE_VALUES[];
40static const  char KEY_VNF[];
41static const  char KEY_VNF_SUPPORTED[];
42static const  char KEY_SATURATION[];
43static const  char KEY_BRIGHTNESS[];
44static const  char KEY_SUPPORTED_EXPOSURE[];
45static const  char KEY_EXPOSURE_MODE[];
46static const  char KEY_SUPPORTED_MANUAL_EXPOSURE_MIN[];
47static const  char KEY_SUPPORTED_MANUAL_EXPOSURE_MAX[];
48static const  char KEY_SUPPORTED_MANUAL_EXPOSURE_STEP[];
49static const  char KEY_SUPPORTED_MANUAL_GAIN_ISO_MIN[];
50static const  char KEY_SUPPORTED_MANUAL_GAIN_ISO_MAX[];
51static const  char KEY_SUPPORTED_MANUAL_GAIN_ISO_STEP[];
52static const  char KEY_MANUAL_EXPOSURE[];
53static const  char KEY_MANUAL_EXPOSURE_RIGHT[];
54static const  char KEY_MANUAL_GAIN_ISO[];
55static const  char KEY_MANUAL_GAIN_ISO_RIGHT[];
56static const  char KEY_CONTRAST[];
57static const  char KEY_SHARPNESS[];
58static const  char KEY_ISO[];
59static const  char KEY_SUPPORTED_ISO_VALUES[];
60static const  char KEY_SUPPORTED_IPP[];
61static const  char KEY_IPP[];
62static const  char KEY_METERING_MODE[];
63static const char  KEY_EXP_BRACKETING_RANGE[];
64static const char  KEY_EXP_GAIN_BRACKETING_RANGE[];
65static const char  KEY_ZOOM_BRACKETING_RANGE[];
66static const char  KEY_TEMP_BRACKETING[];
67static const char  KEY_TEMP_BRACKETING_RANGE_POS[];
68static const char  KEY_TEMP_BRACKETING_RANGE_NEG[];
69static const char  KEY_FLUSH_SHOT_CONFIG_QUEUE[];
70static const char  KEY_SHUTTER_ENABLE[];
71static const char  KEY_MEASUREMENT_ENABLE[];
72static const char  KEY_INITIAL_VALUES[];
73static const char  KEY_GBCE[];
74static const char  KEY_GBCE_SUPPORTED[];
75static const char  KEY_GLBCE[];
76static const char  KEY_GLBCE_SUPPORTED[];
77static const char  KEY_FRAMERATE_RANGES_EXT_SUPPORTED[];
78static const char  KEY_FRAMERATES_EXT_SUPPORTED[];
79
80// TI recording hint to notify camera adapters of possible recording
81static const char  KEY_RECORDING_HINT[];
82static const char  KEY_AUTO_FOCUS_LOCK[];
83static const char  KEY_CURRENT_ISO[];
84
85static const char KEY_SENSOR_ORIENTATION[];
86
87//TI extensions for camera capabilies
88static const char INITIAL_VALUES_TRUE[];
89static const char INITIAL_VALUES_FALSE[];
90
91//  TI extensions to add values for ManualConvergence and AutoConvergence mode
92static const char KEY_AUTOCONVERGENCE_MODE[];
93static const char KEY_AUTOCONVERGENCE_MODE_VALUES[];
94static const char KEY_MANUAL_CONVERGENCE[];
95static const char KEY_SUPPORTED_MANUAL_CONVERGENCE_MIN[];
96static const char KEY_SUPPORTED_MANUAL_CONVERGENCE_MAX[];
97static const char KEY_SUPPORTED_MANUAL_CONVERGENCE_STEP[];
98
99// TI extensions to add Min frame rate Values
100static const char VIDEO_MINFRAMERATE_5[];
101static const char VIDEO_MINFRAMERATE_10[];
102static const char VIDEO_MINFRAMERATE_15[];
103static const char VIDEO_MINFRAMERATE_20[];
104static const char VIDEO_MINFRAMERATE_24[];
105static const char VIDEO_MINFRAMERATE_25[];
106static const char VIDEO_MINFRAMERATE_30[];
107static const char VIDEO_MINFRAMERATE_33[];
108
109//TI extensions for setting EXIF tags
110static const char KEY_EXIF_MODEL[];
111static const char KEY_EXIF_MAKE[];
112
113//TI extensions for additional GPS data
114static const char  KEY_GPS_MAPDATUM[];
115static const char  KEY_GPS_VERSION[];
116static const char  KEY_GPS_DATESTAMP[];
117
118// TI extensions for VTC
119static const char KEY_VTC_HINT[];
120static const char KEY_VIDEO_ENCODER_HANDLE[];
121static const char KEY_VIDEO_ENCODER_SLICE_HEIGHT[];
122
123static const char  RAW_WIDTH[];
124static const char  RAW_HEIGHT[];
125
126//TI extensions to Image post-processing
127static const char IPP_LDCNSF[];
128static const char IPP_LDC[];
129static const char IPP_NSF[];
130static const char IPP_NONE[];
131
132//TI extensions to camera mode
133static const char HIGH_PERFORMANCE_MODE[];
134static const char HIGH_QUALITY_MODE[];
135static const char HIGH_QUALITY_ZSL_MODE[];
136static const char CP_CAM_MODE[];
137static const char VIDEO_MODE[];
138static const char VIDEO_MODE_HQ[];
139static const char EXPOSURE_BRACKETING[];
140static const char ZOOM_BRACKETING[];
141static const char TEMP_BRACKETING[];
142
143// TI extensions to standard android pixel formats
144static const char PIXEL_FORMAT_UNUSED[];
145static const char PIXEL_FORMAT_JPS[];
146static const char PIXEL_FORMAT_MPO[];
147static const char PIXEL_FORMAT_YUV422I_UYVY[];
148
149// TI extensions to standard android scene mode settings
150static const  char SCENE_MODE_CLOSEUP[];
151static const  char SCENE_MODE_AQUA[];
152static const  char SCENE_MODE_SNOWBEACH[];
153static const  char SCENE_MODE_MOOD[];
154static const  char SCENE_MODE_NIGHT_INDOOR[];
155static const  char SCENE_MODE_DOCUMENT[];
156static const  char SCENE_MODE_BARCODE[];
157static const  char SCENE_MODE_VIDEO_SUPER_NIGHT[];
158static const  char SCENE_MODE_VIDEO_CINE[];
159static const  char SCENE_MODE_VIDEO_OLD_FILM[];
160
161// TI extensions to standard android white balance settings.
162static const  char WHITE_BALANCE_TUNGSTEN[];
163static const  char WHITE_BALANCE_HORIZON[];
164static const  char WHITE_BALANCE_SUNSET[];
165static const  char WHITE_BALANCE_FACE[];
166
167// TI extensions to add exposure preset modes to android api
168static const  char EXPOSURE_MODE_MANUAL[];
169static const  char EXPOSURE_MODE_AUTO[];
170static const  char EXPOSURE_MODE_NIGHT[];
171static const  char EXPOSURE_MODE_BACKLIGHT[];
172static const  char EXPOSURE_MODE_SPOTLIGHT[];
173static const  char EXPOSURE_MODE_SPORTS[];
174static const  char EXPOSURE_MODE_SNOW[];
175static const  char EXPOSURE_MODE_BEACH[];
176static const  char EXPOSURE_MODE_APERTURE[];
177static const  char EXPOSURE_MODE_SMALL_APERTURE[];
178static const  char EXPOSURE_MODE_FACE[];
179
180// TI extensions to standard android focus presets.
181static const  char FOCUS_MODE_PORTRAIT[];
182static const  char FOCUS_MODE_EXTENDED[];
183static const char  FOCUS_MODE_FACE[];
184static const char  FOCUS_MODE_OFF[];
185
186// TI extensions to add iso values
187static const char ISO_MODE_AUTO[];
188static const char ISO_MODE_100[];
189static const char ISO_MODE_200[];
190static const char ISO_MODE_400[];
191static const char ISO_MODE_800[];
192static const char ISO_MODE_1000[];
193static const char ISO_MODE_1200[];
194static const char ISO_MODE_1600[];
195
196//  TI extensions to add  values for effect settings.
197static const char EFFECT_NATURAL[];
198static const char EFFECT_VIVID[];
199static const char EFFECT_COLOR_SWAP[];
200static const char EFFECT_BLACKWHITE[];
201
202//TI extensions for stereo frame layouts
203static const char KEY_S3D_PRV_FRAME_LAYOUT[];
204static const char KEY_S3D_PRV_FRAME_LAYOUT_VALUES[];
205static const char KEY_S3D_CAP_FRAME_LAYOUT[];
206static const char KEY_S3D_CAP_FRAME_LAYOUT_VALUES[];
207
208//TI extensions for stereo frame layouts
209static const char S3D_NONE[];
210static const char S3D_TB_FULL[];
211static const char S3D_SS_FULL[];
212static const char S3D_TB_SUBSAMPLED[];
213static const char S3D_SS_SUBSAMPLED[];
214
215//TI extentions fo 3D resolutions
216static const char KEY_SUPPORTED_PICTURE_SUBSAMPLED_SIZES[];
217static const char KEY_SUPPORTED_PICTURE_TOPBOTTOM_SIZES[];
218static const char KEY_SUPPORTED_PICTURE_SIDEBYSIDE_SIZES[];
219static const char KEY_SUPPORTED_PREVIEW_SUBSAMPLED_SIZES[];
220static const char KEY_SUPPORTED_PREVIEW_TOPBOTTOM_SIZES[];
221static const char KEY_SUPPORTED_PREVIEW_SIDEBYSIDE_SIZES[];
222
223//  TI extensions to add values for AutoConvergence settings.
224static const char AUTOCONVERGENCE_MODE_DISABLE[];
225static const char AUTOCONVERGENCE_MODE_FRAME[];
226static const char AUTOCONVERGENCE_MODE_CENTER[];
227static const char AUTOCONVERGENCE_MODE_TOUCH[];
228static const char AUTOCONVERGENCE_MODE_MANUAL[];
229
230//TI extensions for flash mode settings
231static const char FLASH_MODE_FILL_IN[];
232
233//TI extensions to add sensor orientation parameters
234static const char ORIENTATION_SENSOR_NONE[];
235static const char ORIENTATION_SENSOR_90[];
236static const char ORIENTATION_SENSOR_180[];
237static const char ORIENTATION_SENSOR_270[];
238
239
240//TI values for camera direction
241static const char FACING_FRONT[];
242static const char FACING_BACK[];
243
244static const char KEY_MECHANICAL_MISALIGNMENT_CORRECTION_SUPPORTED[];
245static const char KEY_MECHANICAL_MISALIGNMENT_CORRECTION[];
246
247//TI extensions for enable/disable algos
248static const char KEY_ALGO_EXTERNAL_GAMMA[];
249static const char KEY_ALGO_NSF1[];
250static const char KEY_ALGO_NSF2[];
251static const char KEY_ALGO_SHARPENING[];
252static const char KEY_ALGO_THREELINCOLORMAP[];
253static const char KEY_ALGO_GIC[];
254
255//Gamma table
256static const char KEY_GAMMA_TABLE[];
257
258};
259
260} // namespace Camera
261} // namespace Ti
262
263#endif
264