|
1 /* |
|
2 OMX_Symbian_IVCommonExt.h |
|
3 |
|
4 Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
5 All rights reserved. |
|
6 |
|
7 This program and the accompanying materials are made available |
|
8 under the terms of the Eclipse Public License v1.0 which accompanies |
|
9 this distribution, and is available at |
|
10 http://www.eclipse.org/legal/epl-v10.html |
|
11 |
|
12 Initial Contributors: |
|
13 Nokia Corporation - initial contribution. |
|
14 */ |
|
15 |
|
16 /** @file |
|
17 @brief Symbian OpenMAX IL Extension Data Structures Common for Imaging and Video. |
|
18 |
|
19 This file contains the extension structures for the Symbian IL extensions that |
|
20 are common to Imaging and Video domains. |
|
21 |
|
22 @publishedDeviceAbstraction |
|
23 */ |
|
24 |
|
25 #ifndef OMX_Symbian_IVCommonExt_h |
|
26 #define OMX_Symbian_IVCommonExt_h |
|
27 |
|
28 #ifdef __cplusplus |
|
29 extern "C" { |
|
30 #endif /* __cplusplus */ |
|
31 |
|
32 /* Each OMX header must include all required header files to allow the |
|
33 * header to compile without errors. The includes below are required |
|
34 * for this header file to compile successfully |
|
35 */ |
|
36 #include <OMX_Types.h> |
|
37 #include <OMX_IVCommon.h> |
|
38 #include <OMX_Image.h> |
|
39 |
|
40 |
|
41 /* Extensions to standard enums */ |
|
42 /* ---------------------------- */ |
|
43 |
|
44 |
|
45 /** |
|
46 * Offset to Symbian extensions |
|
47 */ |
|
48 #define OMX_SYMBIAN_EXTENSION_START_OFFSET 0x00A00000 |
|
49 |
|
50 |
|
51 /** |
|
52 * Exposure Control extensions |
|
53 */ |
|
54 typedef enum OMX_SYMBIAN_EXPOSURECONTROLTYPE { |
|
55 OMX_SYMBIAN_ExposureControlCenter = OMX_ExposureControlVendorStartUnused + OMX_SYMBIAN_EXTENSION_START_OFFSET, |
|
56 OMX_SYMBIAN_ExposureControlVeryLong, |
|
57 OMX_SYMBIAN_ExposureControlHwFunctionalTesting, |
|
58 OMX_SYMBIAN_ExposureControlMax = 0x7FFFFFFF |
|
59 } OMX_SYMBIAN_EXPOSURECONTROLTYPE; |
|
60 |
|
61 /** |
|
62 * Image Filter extensions |
|
63 */ |
|
64 typedef enum OMX_SYMBIAN_IMAGEFILTERTYPE { |
|
65 OMX_SYMBIAN_ImageFilterSepia = OMX_ImageFilterVendorStartUnused + OMX_SYMBIAN_EXTENSION_START_OFFSET, |
|
66 OMX_SYMBIAN_ImageFilterGrayScale, |
|
67 OMX_SYMBIAN_ImageFilterNatural, |
|
68 OMX_SYMBIAN_ImageFilterVivid, |
|
69 OMX_SYMBIAN_ImageFilterMax = 0x7FFFFFFF |
|
70 } OMX_SYMBIAN_IMAGEFILTERTYPE; |
|
71 |
|
72 |
|
73 /* Extended generic types */ |
|
74 /* ---------------------- */ |
|
75 |
|
76 |
|
77 /** |
|
78 * Generic point type |
|
79 * Point coordinates in 2D space |
|
80 */ |
|
81 typedef struct OMX_SYMBIAN_POINTTYPE { |
|
82 OMX_S32 nX; |
|
83 OMX_S32 nY; |
|
84 } OMX_SYMBIAN_POINTTYPE; |
|
85 |
|
86 /** |
|
87 * Generic size type |
|
88 * Size of rectangle in 2D space |
|
89 */ |
|
90 typedef struct OMX_SYMBIAN_SIZETYPE { |
|
91 OMX_S32 nWidth; |
|
92 OMX_S32 nHeight; |
|
93 } OMX_SYMBIAN_SIZETYPE; |
|
94 |
|
95 /** |
|
96 * Generic rectangle type. |
|
97 * Rectangle represented by top left corner coordinates |
|
98 * and the size of the rectangle |
|
99 * There exist also a rectangle config defined in the OMX IL standard. |
|
100 * The purpose of this addition is to provide a generic rectangle type to |
|
101 * be used by other configs and params. |
|
102 */ |
|
103 typedef struct OMX_SYMBIAN_RECTTYPE { |
|
104 OMX_SYMBIAN_POINTTYPE sTopLeft; |
|
105 OMX_SYMBIAN_SIZETYPE sSize; |
|
106 } OMX_SYMBIAN_RECTTYPE; |
|
107 |
|
108 /** |
|
109 * Relative rectangle type. |
|
110 * The purpose of this type is to represent a rectangular |
|
111 * region relative to certain reference size. |
|
112 * |
|
113 * Example: |
|
114 * The location of an object detected in camera scene can be represendted |
|
115 * with relative rect. Let the object be located in rectangular are which has |
|
116 * top left coordintes (10,20) and size (90,120). The object detection algorithm |
|
117 * has used 320x240 sized image for analysis and that will be used as the |
|
118 * reference size in the relative rect. The object location in 2 megapixel |
|
119 * (1600x1200 pixels) captured image can be calculated by scaling the top left |
|
120 * X-coordinate and rectangle width with reference size's width's faction 1600/320=5. |
|
121 * Likewise for the Y-coordinate and height 1200/240=5. In the captured image |
|
122 * the object is located inside a rectangular region that has top left coordinates |
|
123 * (10*5, 20*5) = (50, 100) and size (90*5, 120*5) = (450, 600). |
|
124 */ |
|
125 typedef struct OMX_SYMBIAN_RELATIVERECTTYPE { |
|
126 OMX_SYMBIAN_RECTTYPE sRect; /**< Rectangle represented as concerete top left coordinates and size */ |
|
127 OMX_SYMBIAN_SIZETYPE sReference; /**< Reference size. Since sRect is relative to this reference size |
|
128 it can be scaled up or down to represent the same rectangular |
|
129 region in relation to bigger or smaller reference sizes */ |
|
130 } OMX_SYMBIAN_RELATIVERECTTYPE; |
|
131 |
|
132 |
|
133 |
|
134 /* Extended generic config and param structs */ |
|
135 /* ----------------------------------------- */ |
|
136 |
|
137 |
|
138 /** |
|
139 * Generic signed 32-bit integer config struct. |
|
140 */ |
|
141 typedef struct OMX_SYMBIAN_CONFIG_S32TYPE { |
|
142 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
143 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
144 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
145 OMX_S32 nValue; /**< signed 32-bit value */ |
|
146 } OMX_SYMBIAN_CONFIG_S32TYPE; |
|
147 |
|
148 /** |
|
149 * Generic unsigned 32-bit integer param struct. |
|
150 */ |
|
151 typedef OMX_SYMBIAN_CONFIG_S32TYPE OMX_SYMBIAN_PARAM_S32TYPE; |
|
152 |
|
153 /** |
|
154 * Generic unsigned 32-bit integer config struct. |
|
155 */ |
|
156 typedef struct OMX_SYMBIAN_CONFIG_U32TYPE { |
|
157 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
158 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
159 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
160 OMX_U32 nValue; /**< Unsigned 32-bit value */ |
|
161 } OMX_SYMBIAN_CONFIG_U32TYPE; |
|
162 |
|
163 /** |
|
164 * Generic unsigned 32-bit integer param struct. |
|
165 */ |
|
166 typedef OMX_SYMBIAN_CONFIG_U32TYPE OMX_SYMBIAN_PARAM_U32TYPE; |
|
167 |
|
168 /** |
|
169 * Port specific generic boolean config struct |
|
170 * OMX spec already has boolean config but |
|
171 * without port index |
|
172 */ |
|
173 typedef struct OMX_SYMBIAN_CONFIG_BOOLEANTYPE { |
|
174 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
175 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
176 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
177 OMX_BOOL bEnabled; /**< Boolean value */ |
|
178 } OMX_SYMBIAN_CONFIG_BOOLEANTYPE; |
|
179 |
|
180 /** |
|
181 * Generic point config struct |
|
182 */ |
|
183 typedef struct OMX_SYMBIAN_CONFIG_POINTTYPE { |
|
184 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
185 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
186 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
187 OMX_SYMBIAN_POINTTYPE sPoint; /**< Point coordinates */ |
|
188 } OMX_SYMBIAN_CONFIG_POINTTYPE; |
|
189 |
|
190 |
|
191 |
|
192 /* Extended params and configs */ |
|
193 /* --------------------------- */ |
|
194 |
|
195 |
|
196 /** |
|
197 * High level control type classification. |
|
198 */ |
|
199 typedef enum OMX_SYMBIAN_HIGHLEVELCONTROLTYPE { |
|
200 OMX_SYMBIAN_ControlOff, /**< Explicitly turn feature off */ |
|
201 OMX_SYMBIAN_ControlOn, /**< Explicitly turn feature on */ |
|
202 OMX_SYMBIAN_ControlAuto, /**< Let feature to be turned on or off automatically */ |
|
203 OMX_SYMBIAN_ControlMax = 0x7FFFFFFF |
|
204 } OMX_SYMBIAN_HIGHLEVELCONTROLTYPE; |
|
205 |
|
206 /** |
|
207 * Generic high level control config struct. |
|
208 * |
|
209 */ |
|
210 typedef struct OMX_SYMBIAN_CONFIG_HIGHLEVELCONTROLTYPE { |
|
211 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
212 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
213 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
214 OMX_SYMBIAN_HIGHLEVELCONTROLTYPE eControl; /**< High level control for given feature */ |
|
215 } OMX_SYMBIAN_CONFIG_HIGHLEVELCONTROLTYPE; |
|
216 |
|
217 |
|
218 |
|
219 /** |
|
220 * Zoom Factor config struct. |
|
221 * |
|
222 * Note: Zoom factor is not the same as scale factor. |
|
223 * The zoom factor actually tells how much field of view |
|
224 * is decreased i.e. when zoom factor is 2x the |
|
225 * FoV is decreased to half (1/2) of the original. |
|
226 * The scaling factor caused by decreasing the FoV is |
|
227 * dependent on the output resolution. |
|
228 */ |
|
229 typedef struct OMX_SYMBIAN_CONFIG_ZOOMFACTORTYPE { |
|
230 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
231 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
232 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
233 OMX_U32 xZoomFactor; /**< Zoom factor in unsigned Q16 format */ |
|
234 }OMX_SYMBIAN_CONFIG_ZOOMFACTORTYPE; |
|
235 |
|
236 /** |
|
237 * Enumeration of possible focus ranges |
|
238 */ |
|
239 typedef enum OMX_SYMBIAN_FOCUSRANGETYPE { |
|
240 OMX_SYMBIAN_FocusRangeAuto, /**< Focus range automatically decided by implementation */ |
|
241 OMX_SYMBIAN_FocusRangeHyperfocal, /**< Focus range hyperfocal */ |
|
242 OMX_SYMBIAN_FocusRangeSuperMacro, /**< Focus range supermacro */ |
|
243 OMX_SYMBIAN_FocusRangeMacro, /**< Focus range macro */ |
|
244 OMX_SYMBIAN_FocusRangeInfinity, /**< Focus range infinity */ |
|
245 OMX_SYMBIAN_FocusRangeMax = 0x7FFFFFFF |
|
246 } OMX_SYMBIAN_FOCUSRANGETYPE; |
|
247 |
|
248 /** |
|
249 * Focus Range config struct. |
|
250 */ |
|
251 typedef struct OMX_SYMBIAN_CONFIG_FOCUSRANGETYPE { |
|
252 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
253 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
254 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
255 OMX_SYMBIAN_FOCUSRANGETYPE eFocusRange; /**< Focus range */ |
|
256 } OMX_SYMBIAN_CONFIG_FOCUSRANGETYPE; |
|
257 |
|
258 /** |
|
259 * Focus Status. |
|
260 */ |
|
261 typedef struct OMX_SYMBIAN_CONFIG_EXTFOCUSSTATUSTYPE { |
|
262 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
263 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
264 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
265 OMX_FOCUSSTATUSTYPE eFocusStatus; /**< Focus status */ |
|
266 } OMX_SYMBIAN_CONFIG_EXTFOCUSSTATUSTYPE; |
|
267 |
|
268 /** |
|
269 * Enumeration of possible flicker removal values |
|
270 */ |
|
271 typedef enum OMX_SYMBIAN_FLICKERREMOVALTYPE { |
|
272 OMX_SYMBIAN_FlickerRemovalOff, /**< Flicker removal disabled */ |
|
273 OMX_SYMBIAN_FlickerRemovalAuto, /**< Automatically detected AC frequency */ |
|
274 OMX_SYMBIAN_FlickerRemoval50, /**< Flicker removal for 50 Hz AC frequency */ |
|
275 OMX_SYMBIAN_FlickerRemoval60, /**< Flicker removal for 60 Hz AC frequency */ |
|
276 OMX_SYMBIAN_FlickerRemovalMax = 0x7FFFFFFF |
|
277 } OMX_SYMBIAN_FLICKERREMOVALTYPE; |
|
278 |
|
279 /** |
|
280 * Flicker Removal. |
|
281 */ |
|
282 typedef struct OMX_SYMBIAN_CONFIG_FLICKERREMOVALTYPE { |
|
283 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
284 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
285 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
286 OMX_SYMBIAN_FLICKERREMOVALTYPE eFlickerRemoval; /**< Flicker removal mode */ |
|
287 }OMX_SYMBIAN_CONFIG_FLICKERREMOVALTYPE; |
|
288 |
|
289 /** |
|
290 * Enumeration of possible power versus image quality choices |
|
291 */ |
|
292 typedef enum OMX_SYMBIAN_QUALITYHINTTYPE { |
|
293 OMX_SYMBIAN_QualityNotSpecified = 0, /**< Not specified, component decides by itself */ |
|
294 OMX_SYMBIAN_QualityLow, /**< Power consumption priorized over quality */ |
|
295 OMX_SYMBIAN_QualityBalanced, /**< Balanced between quality and power consumption */ |
|
296 OMX_SYMBIAN_QualityHigh, /**< High quality priorized over power consumption */ |
|
297 OMX_SYMBIAN_QualityMax = 0x7FFFFFFF |
|
298 } OMX_SYMBIAN_QUALITYHINTTYPE; |
|
299 |
|
300 /** |
|
301 * Power versus quality hint provided by IL client to implementation. |
|
302 */ |
|
303 typedef struct OMX_SYMBIAN_CONFIG_HINTPOWERVSQUALITYTYPE { |
|
304 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
305 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
306 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
307 OMX_SYMBIAN_QUALITYHINTTYPE eQHint; /**< Power vs quality hint */ |
|
308 } OMX_SYMBIAN_CONFIG_HINTPOWERVSQUALITYTYPE; |
|
309 |
|
310 /** |
|
311 * Enumeration of possible depth of field choices |
|
312 */ |
|
313 typedef enum OMX_SYMBIAN_DOFHINTTYPE { |
|
314 OMX_SYMBIAN_DoFNotSpecified = 0, /**< Not specified, component decides by itself */ |
|
315 OMX_SYMBIAN_DoFSmall, /**< Small DoF */ |
|
316 OMX_SYMBIAN_DoFMedium, /**< Medium DoF */ |
|
317 OMX_SYMBIAN_DoFLarge, /**< Large DoF */ |
|
318 OMX_SYMBIAN_DoFMax = 0x7FFFFFFF |
|
319 } OMX_SYMBIAN_DOFHINTTYPE; |
|
320 |
|
321 /** |
|
322 * Depth of field hint provided by IL client to implementation. |
|
323 * |
|
324 */ |
|
325 typedef struct OMX_SYMBIAN_CONFIG_HINTDOFTYPE { |
|
326 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
327 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
328 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
329 OMX_SYMBIAN_DOFHINTTYPE eDoFHint; /**< DoF hint */ |
|
330 } OMX_SYMBIAN_CONFIG_HINTDOFTYPE; |
|
331 |
|
332 /** |
|
333 * HW information retrieval struct. |
|
334 */ |
|
335 typedef struct OMX_SYMBIAN_CONFIG_HWINFOTYPE { |
|
336 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
337 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
338 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
339 OMX_U32 nVersion1; /**< For camera sensor filled like this: |
|
340 Bits 0...7 Sensor Manufacturer (8 bits). |
|
341 Bits 8...15 Sensor Version/Revision (8 bit). |
|
342 Bits 16...31 Sensor Model (16 bits). |
|
343 For flashgun filled like this: |
|
344 Bits 0-7 Flash IC Info |
|
345 Bits 8-15 Flash IC revision |
|
346 Bits 16-17 Flash Module Info A as present in Module Info Reg.A of flash HW |
|
347 (Only valid for some Xenon flash, leave as 0 for LED and even for Xenon if not available) |
|
348 Bits 24-31 Flash Module Info B as present in Module Info Reg.B of flash HW |
|
349 (Only valid for some Xenon flash, leave as 0 for LED and even for Xenon if not available) */ |
|
350 OMX_U32 nVersion2; /**< Not filled for camera |
|
351 For flashgun filled in same way as nVersion1 but containin information for secondary flash IC connected to same camera. |
|
352 Leave as 0s if there is only single flash IC*/ |
|
353 OMX_STRING cInfoString; /**< Additional information string */ |
|
354 } OMX_SYMBIAN_CONFIG_HWINFOTYPE; |
|
355 |
|
356 /** |
|
357 * Capture mode extension. |
|
358 * |
|
359 * Capture mode is extended to allow additional capture modes |
|
360 * like time nudge and bracketing |
|
361 */ |
|
362 typedef struct OMX_SYMBIAN_CONFIG_EXTCAPTUREMODETYPE { |
|
363 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
364 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
365 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
366 OMX_U32 nFrameBefore; /**< Number of frames to be stored before capture bit is set */ |
|
367 OMX_BOOL bPrepareCapture; /**< Enables capturing frames into ring buffer before capture bit is set */ |
|
368 OMX_BOOL bEnableBracketing; /**< Enables bracketing mode where settings are changed for each captured frame */ |
|
369 }OMX_SYMBIAN_CONFIG_EXTCAPTUREMODETYPE; |
|
370 |
|
371 /** |
|
372 * Enumeration of possible rotation angles |
|
373 */ |
|
374 typedef enum OMX_SYMBIAN_ROTATIONANGLETYPE { |
|
375 OMX_SYMBIAN_RotationCW0 = 0, /**< Rotation angle zero degrees clockwise */ |
|
376 OMX_SYMBIAN_RotationCW90, /**< Rotation angle 90 degrees clockwise */ |
|
377 OMX_SYMBIAN_RotationCW180, /**< Rotation angle 180 degrees clockwise */ |
|
378 OMX_SYMBIAN_RotationCW270, /**< Rotation angle 270 degrees clockwise */ |
|
379 OMX_SYMBIAN_RotationMax = 0x7FFFFFFF |
|
380 } OMX_SYMBIAN_ROTATIONANGLETYPE; |
|
381 |
|
382 /** |
|
383 * Enumeration of possible image orientation values |
|
384 * The orientation values are same as the ones defined |
|
385 * for Exif orientation tag. |
|
386 */ |
|
387 typedef enum OMX_SYMBIAN_ORIENTATIONORIGINTYPE |
|
388 { |
|
389 OMX_SYMBIAN_OrientationNotSpecified = 0x0, /**< Orientatio of frame is not specified */ |
|
390 OMX_SYMBIAN_OrientationRowTopColumnLeft, /**< Frame is in normal orientation */ |
|
391 OMX_SYMBIAN_OrientationRowTopColumnRight, /**< Frame is mirrored */ |
|
392 OMX_SYMBIAN_OrientationRowBottomColumnRight, /**< Frame is 180 degrees CW rotated (=mirrored and flipped) */ |
|
393 OMX_SYMBIAN_OrientationRowBottomColumnLeft, /**< Frame is flipped */ |
|
394 OMX_SYMBIAN_OrientationRowLeftColumnTop, /**< Frame is 90 degrees CW rotated and mirrored */ |
|
395 OMX_SYMBIAN_OrientationRowRightColumnTop, /**< Frame is 270 degrees CW rotated */ |
|
396 OMX_SYMBIAN_OrientationRowRightColumnBottom, /**< Frame is 270 degrees CW rotated and mirrored */ |
|
397 OMX_SYMBIAN_OrientationRowLeftColumnBottom, /**< Frame is 90 degrees CW rotated */ |
|
398 OMX_SYMBIAN_OrientationMax = 0x7FFFFFFF |
|
399 } OMX_SYMBIAN_ORIENTATIONORIGINTYPE; |
|
400 |
|
401 /** |
|
402 * Orientation Configuration. |
|
403 */ |
|
404 typedef struct OMX_SYMBIAN_CONFIG_ORIENTATIONTYPE { |
|
405 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
406 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
407 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
408 OMX_SYMBIAN_ORIENTATIONORIGINTYPE eOrientation; /**< Frame orientation */ |
|
409 } OMX_SYMBIAN_CONFIG_ORIENTATIONTYPE; |
|
410 |
|
411 /** |
|
412 * Maximum number of ROIs in config |
|
413 */ |
|
414 #define OMX_SYMBIAN_MAX_NUMBER_OF_ROIS 10 |
|
415 |
|
416 /** |
|
417 * Tracking object type classification. |
|
418 */ |
|
419 typedef enum OMX_SYMBIAN_ROIOBJECTTYPE { |
|
420 OMX_SYMBIAN_RoiObjectNone, /**< Unspecified object type */ |
|
421 OMX_SYMBIAN_RoiObjectTypeFace, /**< Object type face */ |
|
422 OMX_SYMBIAN_RoiObjectTypeObject, /**< Object type generic object */ |
|
423 OMX_SYMBIAN_RoiObjectMax = 0x7FFFFFFF |
|
424 } OMX_SYMBIAN_ROIOBJECTTYPE; |
|
425 |
|
426 /** |
|
427 * Pricipal 3D orientation type |
|
428 */ |
|
429 typedef struct OMX_SYMBIAN_3DORIENTATIONYTYPE { |
|
430 OMX_U32 nYaw; /**< Yaw rotation angle in degrees, 0xFFFFFFFF if unknown */ |
|
431 OMX_U32 nPitch; /**< Pitch rotation angle in degrees, 0xFFFFFFFF if unknown */ |
|
432 OMX_U32 nRoll; /**< Roll rotation angle in degrees, 0xFFFFFFFF if unknown */ |
|
433 } OMX_SYMBIAN_3DORIENTATIONYTYPE; |
|
434 |
|
435 /** |
|
436 * Object information structure |
|
437 */ |
|
438 typedef struct OMX_SYMBIAN_ROIOBJECTINFOTYPE{ |
|
439 OMX_SYMBIAN_RELATIVERECTTYPE sROI; /**< Region where the object is located in the scene */ |
|
440 OMX_U32 nROIID; /**< Identification number for ROI if available, zero by default */ |
|
441 OMX_U32 nPriority; /**< ROI priority, 0 being the highest priority */ |
|
442 OMX_SYMBIAN_ROIOBJECTTYPE eObjectType; /**< Type of object in this ROI */ |
|
443 OMX_SYMBIAN_3DORIENTATIONYTYPE nOrientation; /**< 3D orientation of the object in the ROI */ |
|
444 } OMX_SYMBIAN_ROIOBJECTINFOTYPE; |
|
445 |
|
446 /** |
|
447 * Regions of interest config |
|
448 * |
|
449 * Used to indicate number of regions of interest within the image |
|
450 * Also some additional information about the object in the ROI |
|
451 * can be embedded but is not mandatory |
|
452 */ |
|
453 typedef struct OMX_SYMBIAN_CONFIG_ROITYPE { |
|
454 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
455 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
456 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
457 OMX_U32 nNumberOfROIs; /**< Number of ROIs included in this config */ |
|
458 OMX_SYMBIAN_ROIOBJECTINFOTYPE sROIs[OMX_SYMBIAN_MAX_NUMBER_OF_ROIS]; /**< Array of ROIs */ |
|
459 } OMX_SYMBIAN_CONFIG_ROITYPE; |
|
460 |
|
461 /** |
|
462 * Enumeration of possible xenon flash status values |
|
463 */ |
|
464 typedef enum OMX_SYMBIAN_XENONFLASHSTATUSTYPE |
|
465 { |
|
466 OMX_SYMBIAN_XenonFlashUnknown = 0x0, /**< Xenon flash status is unknown */ |
|
467 OMX_SYMBIAN_XenonFlashDischarged, /**< Xenon flash is discharged */ |
|
468 OMX_SYMBIAN_XenonFlashCharging, /**< Xenon flash is charging */ |
|
469 OMX_SYMBIAN_XenonFlashReady, /**< Xenon flash is ready to be used */ |
|
470 OMX_SYMBIAN_XenonFlashNotAvailable, /**< Xenon flash can not be used at the moment |
|
471 (temporarily overheated etc...) */ |
|
472 OMX_SYMBIAN_XenonFlashMax = 0x7FFFFFFF |
|
473 } OMX_SYMBIAN_XENONFLASHSTATUSTYPE; |
|
474 |
|
475 /** |
|
476 * Xenon flash status Config. |
|
477 */ |
|
478 typedef struct OMX_SYMBIAN_CONFIG_XENONFLASHSTATUSTYPE { |
|
479 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
480 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
481 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
482 OMX_SYMBIAN_XENONFLASHSTATUSTYPE eFlashStatus; /**< Xenon flash status */ |
|
483 } OMX_SYMBIAN_CONFIG_XENONFLASHSTATUSTYPE; |
|
484 |
|
485 |
|
486 /** |
|
487 * Enumeration of possible pre capture exposure time estimates |
|
488 * |
|
489 * This enumeration is used to implement pre-capture warning about |
|
490 * low or high exposure time which could lead to bad quality images |
|
491 */ |
|
492 typedef enum OMX_SYMBIAN_PRECAPTUREEXPOSURETIMETYPE |
|
493 { |
|
494 OMX_SYMBIAN_PreCaptureExposureNoneOrOngoing = 0x0, /**< Exposure time not known or exposure already started */ |
|
495 OMX_SYMBIAN_PreCaptureExposureNormal, /**< Exposure time is within normal limits */ |
|
496 OMX_SYMBIAN_PreCaptureExposureShort, /**< Exposure time is short, risk of underexposing the images */ |
|
497 OMX_SYMBIAN_PreCaptureExposureLong, /**< Exposure time is long, risk of blurry image */ |
|
498 OMX_SYMBIAN_PreCaptureExposureMax = 0x7FFFFFFF |
|
499 } OMX_SYMBIAN_PRECAPTUREEXPOSURETIMETYPE; |
|
500 |
|
501 /** |
|
502 * Pre-Capture Exposure Time Config. |
|
503 */ |
|
504 typedef struct OMX_SYMBIAN_CONFIG_PRECAPTUREEXPOSURETIMETYPE { |
|
505 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
506 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
507 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
508 OMX_SYMBIAN_PRECAPTUREEXPOSURETIMETYPE eExposureTime; /**< Estimated exposure time */ |
|
509 } OMX_SYMBIAN_CONFIG_PRECAPTUREEXPOSURETIMETYPE; |
|
510 |
|
511 /** |
|
512 * Enumeration of possible bracket mode values |
|
513 */ |
|
514 typedef enum OMX_SYMBIAN_BRACKETMODETYPE { |
|
515 OMX_SYMBIAN_BracketExposureRelativeInEV, /**< Exposure value is changed relative to |
|
516 the value set by automatic exposure. |
|
517 nBracketValues are in Q16. Increment is additive. */ |
|
518 OMX_SYMBIAN_BracketMax = 0x7FFFFFFF |
|
519 } OMX_SYMBIAN_BRACKETMODETYPE; |
|
520 |
|
521 /** |
|
522 * Bracketing Config. |
|
523 */ |
|
524 typedef struct OMX_SYMBIAN_CONFIG_BRACKETINGTYPE { |
|
525 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
526 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
527 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
528 OMX_SYMBIAN_BRACKETMODETYPE eBracketMode; /**< Bracketing mode - what values are changed during bracket capture */ |
|
529 OMX_U32 nNbrBracketingValues; /**< Number of bracketing values */ |
|
530 OMX_U32 nBracketValues[5]; /**< Bracketing values in an array */ |
|
531 } OMX_SYMBIAN_CONFIG_BRACKETINGTYPE; |
|
532 |
|
533 /** |
|
534 * Enumeration of possible levels of RAW processing |
|
535 */ |
|
536 typedef enum OMX_SYMBIAN_RAWIMAGEPRESETTYPE { |
|
537 OMX_SYMBIAN_RawImageUnprocessed, /**< RAW data is unprocessed */ |
|
538 OMX_SYMBIAN_RawImageProcessed, /**< RAW data has some processing enabled */ |
|
539 OMX_SYMBIAN_RawImageMax = 0x7FFFFFFF |
|
540 } OMX_SYMBIAN_RAWIMAGEPRESETTYPE; |
|
541 |
|
542 /** |
|
543 * RAW Preset Config. |
|
544 */ |
|
545 typedef struct OMX_SYMBIAN_CONFIG_RAWPRESETTYPE { |
|
546 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
547 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
548 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
549 OMX_SYMBIAN_RAWIMAGEPRESETTYPE ePreset; /**< RAW processing preset */ |
|
550 } OMX_SYMBIAN_CONFIG_RAWPRESETTYPE; |
|
551 |
|
552 /** |
|
553 * Image Parameters Lock. |
|
554 */ |
|
555 typedef struct OMX_SYMBIAN_CONFIG_LOCKTYPE { |
|
556 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
557 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
558 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
559 OMX_BOOL bLock; /**< Setting this true will lock the setting and |
|
560 its value is not automatically updated anymore */ |
|
561 OMX_BOOL bAtCapture; /**< Setting this true will lock the setting value only |
|
562 when next capture occurs */ |
|
563 } OMX_SYMBIAN_CONFIG_LOCKTYPE; |
|
564 |
|
565 /** |
|
566 * Image Flash Control Config. |
|
567 * |
|
568 * Extended because in standard flash control is a param |
|
569 */ |
|
570 typedef struct OMX_SYMBIAN_CONFIG_FLASHCONTROLTYPE { |
|
571 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
572 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
573 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
574 OMX_IMAGE_FLASHCONTROLTYPE eFlashControl; /**< Flash mode setting */ |
|
575 }OMX_SYMBIAN_CONFIG_FLASHCONTROLTYPE; |
|
576 |
|
577 /** |
|
578 * Enumeration of possible focus region control values |
|
579 */ |
|
580 typedef enum OMX_SYMBIAN_FOCUSREGIONCONTROL { |
|
581 OMX_SYMBIAN_FocusRegionAuto, /**< Focus region decided by AF algorithm */ |
|
582 OMX_SYMBIAN_FocusRegionManual, /**< Manual focus region selected by user */ |
|
583 OMX_SYMBIAN_FocusRegionFacePriority, /**< ROI with priority face (if available) should be used as focus region, otherwise automatically selected by AF algorithm */ |
|
584 OMX_SYMBIAN_FocusRegionObjectPriority, /**< ROI with priority object (if available) should be used as focus region, otherwise automatically selected by AF algorithm */ |
|
585 OMX_SYMBIAN_FocusRegionMax = 0x7FFFFFFF |
|
586 } OMX_SYMBIAN_FOCUSREGIONCONTROL; |
|
587 |
|
588 /** |
|
589 * Focus Region Control Config. |
|
590 */ |
|
591 typedef struct OMX_SYMBIAN_CONFIG_FOCUSREGIONTYPE { |
|
592 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
593 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
594 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
595 OMX_SYMBIAN_FOCUSREGIONCONTROL eFocusRegionControl; /**< Focus region selection */ |
|
596 OMX_SYMBIAN_RELATIVERECTTYPE sFocusRegion; /**< Focus region if focus region control is manual */ |
|
597 } OMX_SYMBIAN_CONFIG_FOCUSREGIONTYPE; |
|
598 |
|
599 /** |
|
600 * Enumeration of possible camera self tests |
|
601 */ |
|
602 typedef enum OMX_SYMBIAN_CAMERASELFTESTTYPE |
|
603 { |
|
604 OMX_SYMBIAN_CameraSelfTestNone = 0, |
|
605 OMX_SYMBIAN_CameraSelfTestSensor, /**< Verifies command and data bus connections of camera sensor */ |
|
606 OMX_SYMBIAN_CameraSelfTestHwa, /**< Verifies command bus and data bus connections between host and camera HWA */ |
|
607 OMX_SYMBIAN_CameraSelfTestFocus, /**< Verifies that focus lens is able to move. This test typically requires HW's |
|
608 ability to measure lens position. Test can be done e.g. by moving lens to |
|
609 two different positions and reading back the lens position */ |
|
610 |
|
611 OMX_SYMBIAN_CamearSelfTestOpticalZoom, /**< Verifies that optical zoom lens is able to move. This test typically requires |
|
612 HW's ability to measure lens position. Test can be done e.g. by moving lens to |
|
613 two different positions and reading back the lens position */ |
|
614 OMX_SYMBIAN_CameraSelfTestFlashDriverPrimaryL, /**< tests connections to primary flash driver IC */ |
|
615 OMX_SYMBIAN_CameraSelfTestFlashDriverSecondaryL, /**< tests connections to secondary flash driver IC */ |
|
616 OMX_SYMBIAN_CameraSelfTestFlashL, /**< tests capture flash without using strobe signal from camera */ |
|
617 OMX_SYMBIAN_CameraSelfTestFlashWithStrobe, /**< tests capture flash using strobe signal from camera: ONLY |
|
618 this one needs to be done in idle state from flash tests cases */ |
|
619 OMX_SYMBIAN_CameraSelfTestVideoLightL, /**< tests video light */ |
|
620 OMX_SYMBIAN_CameraSelfTestAfLightL, /**< tests AF assistance light */ |
|
621 OMX_SYMBIAN_CameraSelfTestIndicatorLightL, /**< tests capture indicator light */ |
|
622 OMX_SYMBIAN_CameraSelfTestFlashTorchL, /**< tests flash in torch mode */ |
|
623 OMX_SYMBIAN_CameraSelfTestHwaControl, /**< Verifies HWA command bus connection */ |
|
624 OMX_SYMBIAN_CameraSelfTestHwaOTP, /**< Sanity check for HWA OTP programming */ |
|
625 OMX_SYMBIAN_CameraSelfTestHwaSDRAM, /**< Verifies HWA SDRAM bus connections */ |
|
626 OMX_SYMBIAN_CameraSelfTestHwaSleep, /**< Verifies HWA ability to sleep/wakeup */ |
|
627 OMX_SYMBIAN_CameraSelfTestHwaPmControl, /**< Verifies HWA power managment control */ |
|
628 OMX_SYMBIAN_CameraSelfTestSensorControl, /**< Verifies sensor command bus connection */ |
|
629 OMX_SYMBIAN_CameraSelfTestSensorNVM, /**< Verifies sensor non-volatile memory is readable */ |
|
630 OMX_SYMBIAN_CameraSelfTestLensDrvControl, /**< Verifies lens driver IC command bus connection */ |
|
631 OMX_SYMBIAN_CameraSelfTestShutter, /**< Verifies shutter operation */ |
|
632 OMX_SYMBIAN_CameraSelfTestNDFilter, /**< Verifies ND filter */ |
|
633 OMX_SYMBIAN_CameraSelfTestGlobalReset, /**< Verifies global reset signal (from camera to host) connection */ |
|
634 OMX_SYMBIAN_CameraSelfTestMax = 0x7FFFFFFF |
|
635 } OMX_SYMBIAN_CAMERASELFTESTTYPE; |
|
636 |
|
637 /** |
|
638 * Self test type and result struct |
|
639 */ |
|
640 typedef struct OMX_SYMBIAN_CAMERASELFTESTRESULTTYPE { |
|
641 OMX_SYMBIAN_CAMERASELFTESTTYPE eTestId; /**< Test id */ |
|
642 OMX_ERRORTYPE eResult; /**< Test result */ |
|
643 } OMX_SYMBIAN_CAMERASELFTESTRESULTTYPE; |
|
644 |
|
645 #define OMX_SYMBIAN_MAX_SELF_TESTS_PER_REQUEST 20 |
|
646 |
|
647 /** |
|
648 * Self test select config |
|
649 */ |
|
650 typedef struct OMX_SYMBIAN_CONFIG_CAMERASELFTESTSELECTTYPE { |
|
651 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
652 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
653 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
654 OMX_U32 nFlashHwFaultRegister1; |
|
655 OMX_U32 nFlashHwFaultRegister2; |
|
656 OMX_U16 nTestSelectMaxSizeUsed; |
|
657 OMX_SYMBIAN_CAMERASELFTESTRESULTTYPE eSelfTests[OMX_SYMBIAN_MAX_SELF_TESTS_PER_REQUEST]; /**< Self test results */ |
|
658 } OMX_SYMBIAN_CONFIG_CAMERASELFTESTSELECTTYPE; |
|
659 |
|
660 /** |
|
661 * Enumeration of functional tests |
|
662 */ |
|
663 typedef enum OMX_SYMBIAN_CAMERAHWFUNCTEST { |
|
664 OMX_SYMBIAN_CameraFuncTestNone = 0, |
|
665 OMX_SYMBIAN_CameraFuncTestDeadPixels, |
|
666 OMX_SYMBIAN_CameraFuncTestCouplet, |
|
667 OMX_SYMBIAN_CameraFuncTestBrightness, |
|
668 OMX_SYMBIAN_CameraFuncTestVignetting, |
|
669 OMX_SYMBIAN_CameraFuncTestNdFilter, |
|
670 OMX_SYMBIAN_CameraFuncTestFocus, |
|
671 OMX_SYMBIAN_CameraFuncTestIris, |
|
672 OMX_SYMBIAN_CameraFuncTestFlash, |
|
673 OMX_SYMBIAN_CameraFuncTestIndicatorLed, |
|
674 OMX_SYMBIAN_CameraFuncTestVideoLight, |
|
675 OMX_SYMBIAN_CameraFuncTestBlemish, |
|
676 OMX_SYMBIAN_CameraFuncTestShutter, |
|
677 OMX_SYMBIAN_CameraFuncTestMax = 0x7FFFFFFF |
|
678 } OMX_SYMBIAN_CAMERAHWFUNCTEST; |
|
679 |
|
680 #define OMX_SYMBIAN_MAX_FUNC_TESTS_PER_REQUEST 20 |
|
681 |
|
682 /** |
|
683 * Functional test selection config |
|
684 */ |
|
685 typedef struct OMX_SYMBIAN_CONFIG_CAMERAHWFUNCTESTSELECTTYPE { |
|
686 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
687 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
688 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
689 OMX_U16 nTestSelectMaxSizeUsed; /**< Number of entries in eFuncTests */ |
|
690 OMX_SYMBIAN_CAMERAHWFUNCTEST eFuncTests[OMX_SYMBIAN_MAX_FUNC_TESTS_PER_REQUEST]; /**< Array of selected tests */ |
|
691 OMX_BOOL bTestImageOutput; /**< If set OMX_TRUE, NRW format test image is outputted in addition to test results */ |
|
692 }OMX_SYMBIAN_CONFIG_CAMERAHWFUNCTESTSELECTTYPE; |
|
693 |
|
694 /** |
|
695 * Enumeration of scene modes |
|
696 */ |
|
697 typedef enum OMX_SYMBIAN_SCENEMODETYPE { |
|
698 OMX_SYMBIAN_SceneAuto = 0, /**< Camera settings automatically selected by camera */ |
|
699 OMX_SYMBIAN_ScenePortrait, /**< Use camera settings suitable for taking portrait images */ |
|
700 OMX_SYMBIAN_SceneLandscape, /**< Use camera settings suitable for taking landscae images */ |
|
701 OMX_SYMBIAN_SceneNight, /**< Use camera settings suitable for taking low light images */ |
|
702 OMX_SYMBIAN_SceneNightPortrait, /**< Use camera settings suitable for taking portrait images in low light */ |
|
703 OMX_SYMBIAN_SceneSport, /**< Use camera settings suitable for taking images when there is fast movement in the scene */ |
|
704 OMX_SYMBIAN_SceneMacro, /**< Use camera settings suitable for taking close-up images */ |
|
705 OMX_SYMBIAN_SceneMax = 0x7FFFFFFF |
|
706 } OMX_SYMBIAN_SCENEMODETYPE; |
|
707 |
|
708 /** |
|
709 * Scene mode config |
|
710 */ |
|
711 typedef struct OMX_SYMBIAN_CONFIG_SCENEMODETYPE { |
|
712 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
713 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
714 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
715 OMX_SYMBIAN_SCENEMODETYPE eSceneType; /**< Scene mode selection */ |
|
716 } OMX_SYMBIAN_CONFIG_SCENEMODETYPE; |
|
717 |
|
718 /** |
|
719 * RGB histogram returned using this config |
|
720 */ |
|
721 typedef struct OMX_SYMBIAN_CONFIG_RGBHISTOGRAM { |
|
722 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
723 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
724 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
725 OMX_U32 nRed[256]; /**< Histogram for red color */ |
|
726 OMX_U32 nGreen[256]; /**< Histogram for green color */ |
|
727 OMX_U32 nBlue[256]; /**< Histogram for blue color */ |
|
728 } OMX_SYMBIAN_CONFIG_RGBHISTOGRAM; |
|
729 |
|
730 /** |
|
731 * Histogram control config |
|
732 */ |
|
733 typedef struct OMX_SYMBIAN_CONFIG_HISTOGRAMCONTROLTYPE { |
|
734 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
735 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
736 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
737 OMX_BOOL bMeasure; /**< Set OMX_TRUE to start histogram measurement */ |
|
738 OMX_U32 nBins; /**< Number of bins */ |
|
739 OMX_U32 nBytesPerBin; /**< Number of bytes / bin */ |
|
740 } OMX_SYMBIAN_CONFIG_HISTOGRAMCONTROLTYPE; |
|
741 |
|
742 /** |
|
743 * Region of interest selection config |
|
744 */ |
|
745 typedef struct OMX_SYMBIAN_CONFIG_ROISELECTIONTYPE { |
|
746 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
747 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
748 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
749 OMX_BOOL bReset; /**< OMX_TRUE = reset all selections done. Rest of the fields are not used */ |
|
750 OMX_BOOL bSelect; /**< OMX_TRUE = select / OMX_FALSE = deselect */ |
|
751 OMX_SYMBIAN_RELATIVERECTTYPE sROI; /**< Indicates the region where the object to be selected is located in the scene */ |
|
752 OMX_U32 nROIID; /**< This field can contain the ID of object in order to assist |
|
753 object selection. 0 means undefined and is the default value. */ |
|
754 OMX_SYMBIAN_ROIOBJECTTYPE eObjectType; /**< Indicates the type of object to be selected. */ |
|
755 } OMX_SYMBIAN_CONFIG_ROISELECTIONTYPE; |
|
756 |
|
757 /** |
|
758 * Classification of algorithm comlexity values |
|
759 */ |
|
760 typedef enum OMX_SYMBIAN_ALGORITHMCOMPLEXITYTYPE { |
|
761 OMX_SYMBIAN_AlgComplexityLow, |
|
762 OMX_SYMBIAN_AlgComplexityMedium, |
|
763 OMX_SYMBIAN_AlgComplexityHigh, |
|
764 OMX_SYMBIAN_AlgComplexityMax = 0x7FFFFFFF |
|
765 } OMX_SYMBIAN_ALGORITHMCOMPLEXITYTYPE; |
|
766 |
|
767 /** |
|
768 * Algorithm complexity config |
|
769 */ |
|
770 typedef struct OMX_SYMBIAN_CONFIG_ALGORITHMCOMPLEXITYTYPE { |
|
771 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
772 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
773 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
774 OMX_SYMBIAN_ALGORITHMCOMPLEXITYTYPE eComplexity; /**< Algorithm complexity to use */ |
|
775 } OMX_SYMBIAN_CONFIG_ALGORITHMCOMPLEXITYTYPE; |
|
776 |
|
777 /** Color format extensions. */ |
|
778 typedef enum OMX_SYMBIAN_COLOR_FORMATTYPE { |
|
779 OMX_SYMBIAN_COLOR_FormatYUV420MBPackedSemiPlanar = OMX_COLOR_FormatVendorStartUnused + OMX_SYMBIAN_EXTENSION_START_OFFSET, |
|
780 OMX_SYMBIAN_COLOR_FormatRawBayer12bit, |
|
781 OMX_SYMBIAN_COLOR_FormatMax = 0x7FFFFFFF |
|
782 } OMX_SYMBIAN_COLOR_FORMATTYPE; |
|
783 |
|
784 /** Primary color enumeration. */ |
|
785 typedef enum OMX_SYMBIAN_COLORPRIMARYTYPE { |
|
786 OMX_SYMBIAN_ColorPrimaryFullRange, |
|
787 OMX_SYMBIAN_ColorPrimaryBT601, |
|
788 OMX_SYMBIAN_ColorPrimaryBT709, |
|
789 OMX_SYMBIAN_ColorMax = 0x7FFFFFFF |
|
790 } OMX_SYMBIAN_COLORPRIMARYTYPE; |
|
791 |
|
792 /** YUV data color range. |
|
793 |
|
794 The index specified for this structure is retrieved using |
|
795 OMX_GetExtensionIndex() with the extension string |
|
796 "OMX.Symbian.Index.Param.Common.ColorPrimary". |
|
797 */ |
|
798 typedef struct OMX_SYMBIAN_PARAM_COLORPRIMARYTYPE { |
|
799 OMX_U32 nSize; |
|
800 OMX_VERSIONTYPE nVersion; |
|
801 OMX_U32 nPortIndex; |
|
802 OMX_SYMBIAN_COLORPRIMARYTYPE eColorPrimary; |
|
803 } OMX_SYMBIAN_PARAM_COLORPRIMARYTYPE; |
|
804 |
|
805 |
|
806 /** Pixel Aspect Ratio. |
|
807 |
|
808 The index specified for this structure is retrieved using |
|
809 OMX_GetExtensionIndex() with the extension string |
|
810 "OMX.Symbian.Index.Param.Common.PixelAspectRatio". |
|
811 */ |
|
812 typedef struct OMX_SYMBIAN_PARAM_PIXELASPECTRATIOTYPE |
|
813 { |
|
814 OMX_U32 nSize; /**< Size of the structure in bytes */ |
|
815 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ |
|
816 OMX_U32 nPortIndex; /**< Port that this structure applies to */ |
|
817 OMX_U8 nHorizontal; /**< Width of pixel. nHorizontal is 4 is For 4:3 PAR */ |
|
818 OMX_U8 nVertical; /**< Height of pixel. nVertical is 3 is For 4:3 PAR */ |
|
819 OMX_TICKS nTimestamp; /**< Time when PAR change should happen */ |
|
820 } OMX_SYMBIAN_PARAM_PIXELASPECTRATIOTYPE; |
|
821 |
|
822 |
|
823 #ifdef __cplusplus |
|
824 } |
|
825 #endif /* __cplusplus */ |
|
826 |
|
827 #endif /* OMX_Symbian_IVCommonExt_h */ |