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