Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(463)

Side by Side Diff: third_party/openmax/il/OMX_IVCommon.h

Issue 21584002: Delete dead code: OmxVideoDecodeAccelerator is unused. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-removing both OWNERS & README Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/openmax/il/OMX_Core.h ('k') | third_party/openmax/il/OMX_Image.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /**
2 * Copyright (c) 2008 The Khronos Group Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files (the
6 * "Software"), to deal in the Software without restriction, including
7 * without limitation the rights to use, copy, modify, merge, publish,
8 * distribute, sublicense, and/or sell copies of the Software, and to
9 * permit persons to whom the Software is furnished to do so, subject
10 * to the following conditions:
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 *
22 */
23
24 /**
25 * @file OMX_IVCommon.h - OpenMax IL version 1.1.2
26 * The structures needed by Video and Image components to exchange
27 * parameters and configuration data with the components.
28 */
29 #ifndef OMX_IVCommon_h
30 #define OMX_IVCommon_h
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif /* __cplusplus */
35
36 /**
37 * Each OMX header must include all required header files to allow the header
38 * to compile without errors. The includes below are required for this header
39 * file to compile successfully
40 */
41
42 #include <OMX_Core.h>
43
44 /** @defgroup iv OpenMAX IL Imaging and Video Domain
45 * Common structures for OpenMAX IL Imaging and Video domains
46 * @{
47 */
48
49
50 /**
51 * Enumeration defining possible uncompressed image/video formats.
52 *
53 * ENUMS:
54 * Unused : Placeholder value when format is N/A
55 * Monochrome : black and white
56 * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0
57 * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0
58 * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0
59 * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0
60 * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0
61 * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0
62 * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0
63 * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0
64 * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0
65 * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0
66 * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0
67 * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0
68 * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0
69 * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0
70 * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0
71 * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally
72 * YUV411PackedPlanar : packed per payload in planar slices
73 * YUV420Planar : Three arrays Y,U,V.
74 * YUV420PackedPlanar : packed per payload in planar slices
75 * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V
76 * YUV422Planar : Three arrays Y,U,V.
77 * YUV422PackedPlanar : packed per payload in planar slices
78 * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V
79 * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr)
80 * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb)
81 * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY)
82 * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY)
83 * YUV444Interleaved : Each pixel contains equal parts YUV
84 * RawBayer8bit : SMIA camera output format
85 * RawBayer10bit : SMIA camera output format
86 * RawBayer8bitcompressed : SMIA camera output format
87 */
88 typedef enum OMX_COLOR_FORMATTYPE {
89 OMX_COLOR_FormatUnused,
90 OMX_COLOR_FormatMonochrome,
91 OMX_COLOR_Format8bitRGB332,
92 OMX_COLOR_Format12bitRGB444,
93 OMX_COLOR_Format16bitARGB4444,
94 OMX_COLOR_Format16bitARGB1555,
95 OMX_COLOR_Format16bitRGB565,
96 OMX_COLOR_Format16bitBGR565,
97 OMX_COLOR_Format18bitRGB666,
98 OMX_COLOR_Format18bitARGB1665,
99 OMX_COLOR_Format19bitARGB1666,
100 OMX_COLOR_Format24bitRGB888,
101 OMX_COLOR_Format24bitBGR888,
102 OMX_COLOR_Format24bitARGB1887,
103 OMX_COLOR_Format25bitARGB1888,
104 OMX_COLOR_Format32bitBGRA8888,
105 OMX_COLOR_Format32bitARGB8888,
106 OMX_COLOR_FormatYUV411Planar,
107 OMX_COLOR_FormatYUV411PackedPlanar,
108 OMX_COLOR_FormatYUV420Planar,
109 OMX_COLOR_FormatYUV420PackedPlanar,
110 OMX_COLOR_FormatYUV420SemiPlanar,
111 OMX_COLOR_FormatYUV422Planar,
112 OMX_COLOR_FormatYUV422PackedPlanar,
113 OMX_COLOR_FormatYUV422SemiPlanar,
114 OMX_COLOR_FormatYCbYCr,
115 OMX_COLOR_FormatYCrYCb,
116 OMX_COLOR_FormatCbYCrY,
117 OMX_COLOR_FormatCrYCbY,
118 OMX_COLOR_FormatYUV444Interleaved,
119 OMX_COLOR_FormatRawBayer8bit,
120 OMX_COLOR_FormatRawBayer10bit,
121 OMX_COLOR_FormatRawBayer8bitcompressed,
122 OMX_COLOR_FormatL2,
123 OMX_COLOR_FormatL4,
124 OMX_COLOR_FormatL8,
125 OMX_COLOR_FormatL16,
126 OMX_COLOR_FormatL24,
127 OMX_COLOR_FormatL32,
128 OMX_COLOR_FormatYUV420PackedSemiPlanar,
129 OMX_COLOR_FormatYUV422PackedSemiPlanar,
130 OMX_COLOR_Format18BitBGR666,
131 OMX_COLOR_Format24BitARGB6666,
132 OMX_COLOR_Format24BitABGR6666,
133 OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for int roducing Khronos Standard Extensions */
134 OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for int roducing Vendor Extensions */
135 OMX_COLOR_FormatMax = 0x7FFFFFFF
136 } OMX_COLOR_FORMATTYPE;
137
138
139 /**
140 * Defines the matrix for conversion from RGB to YUV or vice versa.
141 * iColorMatrix should be initialized with the fixed point values
142 * used in converting between formats.
143 */
144 typedef struct OMX_CONFIG_COLORCONVERSIONTYPE {
145 OMX_U32 nSize; /**< Size of the structure in bytes */
146 OMX_VERSIONTYPE nVersion; /**< OMX specification version info */
147 OMX_U32 nPortIndex; /**< Port that this struct applies to */
148 OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */
149 OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */
150 }OMX_CONFIG_COLORCONVERSIONTYPE;
151
152
153 /**
154 * Structure defining percent to scale each frame dimension. For example:
155 * To make the width 50% larger, use fWidth = 1.5 and to make the width
156 * 1/2 the original size, use fWidth = 0.5
157 */
158 typedef struct OMX_CONFIG_SCALEFACTORTYPE {
159 OMX_U32 nSize; /**< Size of the structure in bytes */
160 OMX_VERSIONTYPE nVersion; /**< OMX specification version info */
161 OMX_U32 nPortIndex; /**< Port that this struct applies to */
162 OMX_S32 xWidth; /**< Fixed point value stored as Q16 */
163 OMX_S32 xHeight; /**< Fixed point value stored as Q16 */
164 }OMX_CONFIG_SCALEFACTORTYPE;
165
166
167 /**
168 * Enumeration of possible image filter types
169 */
170 typedef enum OMX_IMAGEFILTERTYPE {
171 OMX_ImageFilterNone,
172 OMX_ImageFilterNoise,
173 OMX_ImageFilterEmboss,
174 OMX_ImageFilterNegative,
175 OMX_ImageFilterSketch,
176 OMX_ImageFilterOilPaint,
177 OMX_ImageFilterHatch,
178 OMX_ImageFilterGpen,
179 OMX_ImageFilterAntialias,
180 OMX_ImageFilterDeRing,
181 OMX_ImageFilterSolarize,
182 OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for intr oducing Khronos Standard Extensions */
183 OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for intr oducing Vendor Extensions */
184 OMX_ImageFilterMax = 0x7FFFFFFF
185 } OMX_IMAGEFILTERTYPE;
186
187
188 /**
189 * Image filter configuration
190 *
191 * STRUCT MEMBERS:
192 * nSize : Size of the structure in bytes
193 * nVersion : OMX specification version information
194 * nPortIndex : Port that this structure applies to
195 * eImageFilter : Image filter type enumeration
196 */
197 typedef struct OMX_CONFIG_IMAGEFILTERTYPE {
198 OMX_U32 nSize;
199 OMX_VERSIONTYPE nVersion;
200 OMX_U32 nPortIndex;
201 OMX_IMAGEFILTERTYPE eImageFilter;
202 } OMX_CONFIG_IMAGEFILTERTYPE;
203
204
205 /**
206 * Customized U and V for color enhancement
207 *
208 * STRUCT MEMBERS:
209 * nSize : Size of the structure in bytes
210 * nVersion : OMX specification version information
211 * nPortIndex : Port that this structure applies to
212 * bColorEnhancement : Enable/disable color enhancement
213 * nCustomizedU : Practical values: 16-240, range: 0-255, value set for
214 * U component
215 * nCustomizedV : Practical values: 16-240, range: 0-255, value set for
216 * V component
217 */
218 typedef struct OMX_CONFIG_COLORENHANCEMENTTYPE {
219 OMX_U32 nSize;
220 OMX_VERSIONTYPE nVersion;
221 OMX_U32 nPortIndex;
222 OMX_BOOL bColorEnhancement;
223 OMX_U8 nCustomizedU;
224 OMX_U8 nCustomizedV;
225 } OMX_CONFIG_COLORENHANCEMENTTYPE;
226
227
228 /**
229 * Define color key and color key mask
230 *
231 * STRUCT MEMBERS:
232 * nSize : Size of the structure in bytes
233 * nVersion : OMX specification version information
234 * nPortIndex : Port that this structure applies to
235 * nARGBColor : 32bit Alpha, Red, Green, Blue Color
236 * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels
237 */
238 typedef struct OMX_CONFIG_COLORKEYTYPE {
239 OMX_U32 nSize;
240 OMX_VERSIONTYPE nVersion;
241 OMX_U32 nPortIndex;
242 OMX_U32 nARGBColor;
243 OMX_U32 nARGBMask;
244 } OMX_CONFIG_COLORKEYTYPE;
245
246
247 /**
248 * List of color blend types for pre/post processing
249 *
250 * ENUMS:
251 * None : No color blending present
252 * AlphaConstant : Function is (alpha_constant * src) +
253 * (1 - alpha_constant) * dst)
254 * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst)
255 * Alternate : Function is alternating pixels from src and dst
256 * And : Function is (src & dst)
257 * Or : Function is (src | dst)
258 * Invert : Function is ~src
259 */
260 typedef enum OMX_COLORBLENDTYPE {
261 OMX_ColorBlendNone,
262 OMX_ColorBlendAlphaConstant,
263 OMX_ColorBlendAlphaPerPixel,
264 OMX_ColorBlendAlternate,
265 OMX_ColorBlendAnd,
266 OMX_ColorBlendOr,
267 OMX_ColorBlendInvert,
268 OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for intro ducing Khronos Standard Extensions */
269 OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for intro ducing Vendor Extensions */
270 OMX_ColorBlendMax = 0x7FFFFFFF
271 } OMX_COLORBLENDTYPE;
272
273
274 /**
275 * Color blend configuration
276 *
277 * STRUCT MEMBERS:
278 * nSize : Size of the structure in bytes
279 * nVersion : OMX specification version information
280 * nPortIndex : Port that this structure applies to
281 * nRGBAlphaConstant : Constant global alpha values when global alpha is used
282 * eColorBlend : Color blend type enumeration
283 */
284 typedef struct OMX_CONFIG_COLORBLENDTYPE {
285 OMX_U32 nSize;
286 OMX_VERSIONTYPE nVersion;
287 OMX_U32 nPortIndex;
288 OMX_U32 nRGBAlphaConstant;
289 OMX_COLORBLENDTYPE eColorBlend;
290 } OMX_CONFIG_COLORBLENDTYPE;
291
292
293 /**
294 * Hold frame dimension
295 *
296 * STRUCT MEMBERS:
297 * nSize : Size of the structure in bytes
298 * nVersion : OMX specification version information
299 * nPortIndex : Port that this structure applies to
300 * nWidth : Frame width in pixels
301 * nHeight : Frame height in pixels
302 */
303 typedef struct OMX_FRAMESIZETYPE {
304 OMX_U32 nSize;
305 OMX_VERSIONTYPE nVersion;
306 OMX_U32 nPortIndex;
307 OMX_U32 nWidth;
308 OMX_U32 nHeight;
309 } OMX_FRAMESIZETYPE;
310
311
312 /**
313 * Rotation configuration
314 *
315 * STRUCT MEMBERS:
316 * nSize : Size of the structure in bytes
317 * nVersion : OMX specification version information
318 * nPortIndex : Port that this structure applies to
319 * nRotation : +/- integer rotation value
320 */
321 typedef struct OMX_CONFIG_ROTATIONTYPE {
322 OMX_U32 nSize;
323 OMX_VERSIONTYPE nVersion;
324 OMX_U32 nPortIndex;
325 OMX_S32 nRotation;
326 } OMX_CONFIG_ROTATIONTYPE;
327
328
329 /**
330 * Possible mirroring directions for pre/post processing
331 *
332 * ENUMS:
333 * None : No mirroring
334 * Vertical : Vertical mirroring, flip on X axis
335 * Horizontal : Horizontal mirroring, flip on Y axis
336 * Both : Both vertical and horizontal mirroring
337 */
338 typedef enum OMX_MIRRORTYPE {
339 OMX_MirrorNone = 0,
340 OMX_MirrorVertical,
341 OMX_MirrorHorizontal,
342 OMX_MirrorBoth,
343 OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introduci ng Khronos Standard Extensions */
344 OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introduci ng Vendor Extensions */
345 OMX_MirrorMax = 0x7FFFFFFF
346 } OMX_MIRRORTYPE;
347
348
349 /**
350 * Mirroring configuration
351 *
352 * STRUCT MEMBERS:
353 * nSize : Size of the structure in bytes
354 * nVersion : OMX specification version information
355 * nPortIndex : Port that this structure applies to
356 * eMirror : Mirror type enumeration
357 */
358 typedef struct OMX_CONFIG_MIRRORTYPE {
359 OMX_U32 nSize;
360 OMX_VERSIONTYPE nVersion;
361 OMX_U32 nPortIndex;
362 OMX_MIRRORTYPE eMirror;
363 } OMX_CONFIG_MIRRORTYPE;
364
365
366 /**
367 * Position information only
368 *
369 * STRUCT MEMBERS:
370 * nSize : Size of the structure in bytes
371 * nVersion : OMX specification version information
372 * nPortIndex : Port that this structure applies to
373 * nX : X coordinate for the point
374 * nY : Y coordinate for the point
375 */
376 typedef struct OMX_CONFIG_POINTTYPE {
377 OMX_U32 nSize;
378 OMX_VERSIONTYPE nVersion;
379 OMX_U32 nPortIndex;
380 OMX_S32 nX;
381 OMX_S32 nY;
382 } OMX_CONFIG_POINTTYPE;
383
384
385 /**
386 * Frame size plus position
387 *
388 * STRUCT MEMBERS:
389 * nSize : Size of the structure in bytes
390 * nVersion : OMX specification version information
391 * nPortIndex : Port that this structure applies to
392 * nLeft : X Coordinate of the top left corner of the rectangle
393 * nTop : Y Coordinate of the top left corner of the rectangle
394 * nWidth : Width of the rectangle
395 * nHeight : Height of the rectangle
396 */
397 typedef struct OMX_CONFIG_RECTTYPE {
398 OMX_U32 nSize;
399 OMX_VERSIONTYPE nVersion;
400 OMX_U32 nPortIndex;
401 OMX_S32 nLeft;
402 OMX_S32 nTop;
403 OMX_U32 nWidth;
404 OMX_U32 nHeight;
405 } OMX_CONFIG_RECTTYPE;
406
407
408 /**
409 * Deblocking state; it is required to be set up before starting the codec
410 *
411 * STRUCT MEMBERS:
412 * nSize : Size of the structure in bytes
413 * nVersion : OMX specification version information
414 * nPortIndex : Port that this structure applies to
415 * bDeblocking : Enable/disable deblocking mode
416 */
417 typedef struct OMX_PARAM_DEBLOCKINGTYPE {
418 OMX_U32 nSize;
419 OMX_VERSIONTYPE nVersion;
420 OMX_U32 nPortIndex;
421 OMX_BOOL bDeblocking;
422 } OMX_PARAM_DEBLOCKINGTYPE;
423
424
425 /**
426 * Stabilization state
427 *
428 * STRUCT MEMBERS:
429 * nSize : Size of the structure in bytes
430 * nVersion : OMX specification version information
431 * nPortIndex : Port that this structure applies to
432 * bStab : Enable/disable frame stabilization state
433 */
434 typedef struct OMX_CONFIG_FRAMESTABTYPE {
435 OMX_U32 nSize;
436 OMX_VERSIONTYPE nVersion;
437 OMX_U32 nPortIndex;
438 OMX_BOOL bStab;
439 } OMX_CONFIG_FRAMESTABTYPE;
440
441
442 /**
443 * White Balance control type
444 *
445 * STRUCT MEMBERS:
446 * SunLight : Referenced in JSR-234
447 * Flash : Optimal for device's integrated flash
448 */
449 typedef enum OMX_WHITEBALCONTROLTYPE {
450 OMX_WhiteBalControlOff = 0,
451 OMX_WhiteBalControlAuto,
452 OMX_WhiteBalControlSunLight,
453 OMX_WhiteBalControlCloudy,
454 OMX_WhiteBalControlShade,
455 OMX_WhiteBalControlTungsten,
456 OMX_WhiteBalControlFluorescent,
457 OMX_WhiteBalControlIncandescent,
458 OMX_WhiteBalControlFlash,
459 OMX_WhiteBalControlHorizon,
460 OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
461 OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
462 OMX_WhiteBalControlMax = 0x7FFFFFFF
463 } OMX_WHITEBALCONTROLTYPE;
464
465
466 /**
467 * White Balance control configuration
468 *
469 * STRUCT MEMBERS:
470 * nSize : Size of the structure in bytes
471 * nVersion : OMX specification version information
472 * nPortIndex : Port that this structure applies to
473 * eWhiteBalControl : White balance enumeration
474 */
475 typedef struct OMX_CONFIG_WHITEBALCONTROLTYPE {
476 OMX_U32 nSize;
477 OMX_VERSIONTYPE nVersion;
478 OMX_U32 nPortIndex;
479 OMX_WHITEBALCONTROLTYPE eWhiteBalControl;
480 } OMX_CONFIG_WHITEBALCONTROLTYPE;
481
482
483 /**
484 * Exposure control type
485 */
486 typedef enum OMX_EXPOSURECONTROLTYPE {
487 OMX_ExposureControlOff = 0,
488 OMX_ExposureControlAuto,
489 OMX_ExposureControlNight,
490 OMX_ExposureControlBackLight,
491 OMX_ExposureControlSpotLight,
492 OMX_ExposureControlSports,
493 OMX_ExposureControlSnow,
494 OMX_ExposureControlBeach,
495 OMX_ExposureControlLargeAperture,
496 OMX_ExposureControlSmallApperture,
497 OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
498 OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
499 OMX_ExposureControlMax = 0x7FFFFFFF
500 } OMX_EXPOSURECONTROLTYPE;
501
502
503 /**
504 * White Balance control configuration
505 *
506 * STRUCT MEMBERS:
507 * nSize : Size of the structure in bytes
508 * nVersion : OMX specification version information
509 * nPortIndex : Port that this structure applies to
510 * eExposureControl : Exposure control enumeration
511 */
512 typedef struct OMX_CONFIG_EXPOSURECONTROLTYPE {
513 OMX_U32 nSize;
514 OMX_VERSIONTYPE nVersion;
515 OMX_U32 nPortIndex;
516 OMX_EXPOSURECONTROLTYPE eExposureControl;
517 } OMX_CONFIG_EXPOSURECONTROLTYPE;
518
519
520 /**
521 * Defines sensor supported mode.
522 *
523 * STRUCT MEMBERS:
524 * nSize : Size of the structure in bytes
525 * nVersion : OMX specification version information
526 * nPortIndex : Port that this structure applies to
527 * nFrameRate : Single shot mode is indicated by a 0
528 * bOneShot : Enable for single shot, disable for streaming
529 * sFrameSize : Framesize
530 */
531 typedef struct OMX_PARAM_SENSORMODETYPE {
532 OMX_U32 nSize;
533 OMX_VERSIONTYPE nVersion;
534 OMX_U32 nPortIndex;
535 OMX_U32 nFrameRate;
536 OMX_BOOL bOneShot;
537 OMX_FRAMESIZETYPE sFrameSize;
538 } OMX_PARAM_SENSORMODETYPE;
539
540
541 /**
542 * Defines contrast level
543 *
544 * STRUCT MEMBERS:
545 * nSize : Size of the structure in bytes
546 * nVersion : OMX specification version information
547 * nPortIndex : Port that this structure applies to
548 * nContrast : Values allowed for contrast -100 to 100, zero means no change
549 */
550 typedef struct OMX_CONFIG_CONTRASTTYPE {
551 OMX_U32 nSize;
552 OMX_VERSIONTYPE nVersion;
553 OMX_U32 nPortIndex;
554 OMX_S32 nContrast;
555 } OMX_CONFIG_CONTRASTTYPE;
556
557
558 /**
559 * Defines brightness level
560 *
561 * STRUCT MEMBERS:
562 * nSize : Size of the structure in bytes
563 * nVersion : OMX specification version information
564 * nPortIndex : Port that this structure applies to
565 * nBrightness : 0-100%
566 */
567 typedef struct OMX_CONFIG_BRIGHTNESSTYPE {
568 OMX_U32 nSize;
569 OMX_VERSIONTYPE nVersion;
570 OMX_U32 nPortIndex;
571 OMX_U32 nBrightness;
572 } OMX_CONFIG_BRIGHTNESSTYPE;
573
574
575 /**
576 * Defines backlight level configuration for a video sink, e.g. LCD panel
577 *
578 * STRUCT MEMBERS:
579 * nSize : Size of the structure in bytes
580 * nVersion : OMX specification version information
581 * nPortIndex : Port that this structure applies to
582 * nBacklight : Values allowed for backlight 0-100%
583 * nTimeout : Number of milliseconds before backlight automatically turns
584 * off. A value of 0x0 disables backight timeout
585 */
586 typedef struct OMX_CONFIG_BACKLIGHTTYPE {
587 OMX_U32 nSize;
588 OMX_VERSIONTYPE nVersion;
589 OMX_U32 nPortIndex;
590 OMX_U32 nBacklight;
591 OMX_U32 nTimeout;
592 } OMX_CONFIG_BACKLIGHTTYPE;
593
594
595 /**
596 * Defines setting for Gamma
597 *
598 * STRUCT MEMBERS:
599 * nSize : Size of the structure in bytes
600 * nVersion : OMX specification version information
601 * nPortIndex : Port that this structure applies to
602 * nGamma : Values allowed for gamma -100 to 100, zero means no change
603 */
604 typedef struct OMX_CONFIG_GAMMATYPE {
605 OMX_U32 nSize;
606 OMX_VERSIONTYPE nVersion;
607 OMX_U32 nPortIndex;
608 OMX_S32 nGamma;
609 } OMX_CONFIG_GAMMATYPE;
610
611
612 /**
613 * Define for setting saturation
614 *
615 * STRUCT MEMBERS:
616 * nSize : Size of the structure in bytes
617 * nVersion : OMX specification version information
618 * nPortIndex : Port that this structure applies to
619 * nSaturation : Values allowed for saturation -100 to 100, zero means
620 * no change
621 */
622 typedef struct OMX_CONFIG_SATURATIONTYPE {
623 OMX_U32 nSize;
624 OMX_VERSIONTYPE nVersion;
625 OMX_U32 nPortIndex;
626 OMX_S32 nSaturation;
627 } OMX_CONFIG_SATURATIONTYPE;
628
629
630 /**
631 * Define for setting Lightness
632 *
633 * STRUCT MEMBERS:
634 * nSize : Size of the structure in bytes
635 * nVersion : OMX specification version information
636 * nPortIndex : Port that this structure applies to
637 * nLightness : Values allowed for lightness -100 to 100, zero means no
638 * change
639 */
640 typedef struct OMX_CONFIG_LIGHTNESSTYPE {
641 OMX_U32 nSize;
642 OMX_VERSIONTYPE nVersion;
643 OMX_U32 nPortIndex;
644 OMX_S32 nLightness;
645 } OMX_CONFIG_LIGHTNESSTYPE;
646
647
648 /**
649 * Plane blend configuration
650 *
651 * STRUCT MEMBERS:
652 * nSize : Size of the structure in bytes
653 * nVersion : OMX specification version information
654 * nPortIndex : Index of input port associated with the plane.
655 * nDepth : Depth of the plane in relation to the screen. Higher
656 * numbered depths are "behind" lower number depths.
657 * This number defaults to the Port Index number.
658 * nAlpha : Transparency blending component for the entire plane.
659 * See blending modes for more detail.
660 */
661 typedef struct OMX_CONFIG_PLANEBLENDTYPE {
662 OMX_U32 nSize;
663 OMX_VERSIONTYPE nVersion;
664 OMX_U32 nPortIndex;
665 OMX_U32 nDepth;
666 OMX_U32 nAlpha;
667 } OMX_CONFIG_PLANEBLENDTYPE;
668
669
670 /**
671 * Define interlace type
672 *
673 * STRUCT MEMBERS:
674 * nSize : Size of the structure in bytes
675 * nVersion : OMX specification version information
676 * nPortIndex : Port that this structure applies to
677 * bEnable : Enable control variable for this functionality
678 * (see below)
679 * nInterleavePortIndex : Index of input or output port associated with
680 * the interleaved plane.
681 * pPlanarPortIndexes[4] : Index of input or output planar ports.
682 */
683 typedef struct OMX_PARAM_INTERLEAVETYPE {
684 OMX_U32 nSize;
685 OMX_VERSIONTYPE nVersion;
686 OMX_U32 nPortIndex;
687 OMX_BOOL bEnable;
688 OMX_U32 nInterleavePortIndex;
689 } OMX_PARAM_INTERLEAVETYPE;
690
691
692 /**
693 * Defines the picture effect used for an input picture
694 */
695 typedef enum OMX_TRANSITIONEFFECTTYPE {
696 OMX_EffectNone,
697 OMX_EffectFadeFromBlack,
698 OMX_EffectFadeToBlack,
699 OMX_EffectUnspecifiedThroughConstantColor,
700 OMX_EffectDissolve,
701 OMX_EffectWipe,
702 OMX_EffectUnspecifiedMixOfTwoScenes,
703 OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introduci ng Khronos Standard Extensions */
704 OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introduci ng Vendor Extensions */
705 OMX_EffectMax = 0x7FFFFFFF
706 } OMX_TRANSITIONEFFECTTYPE;
707
708
709 /**
710 * Structure used to configure current transition effect
711 *
712 * STRUCT MEMBERS:
713 * nSize : Size of the structure in bytes
714 * nVersion : OMX specification version information
715 * nPortIndex : Port that this structure applies to
716 * eEffect : Effect to enable
717 */
718 typedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE {
719 OMX_U32 nSize;
720 OMX_VERSIONTYPE nVersion;
721 OMX_U32 nPortIndex;
722 OMX_TRANSITIONEFFECTTYPE eEffect;
723 } OMX_CONFIG_TRANSITIONEFFECTTYPE;
724
725
726 /**
727 * Defines possible data unit types for encoded video data. The data unit
728 * types are used both for encoded video input for playback as well as
729 * encoded video output from recording.
730 */
731 typedef enum OMX_DATAUNITTYPE {
732 OMX_DataUnitCodedPicture,
733 OMX_DataUnitVideoSegment,
734 OMX_DataUnitSeveralSegments,
735 OMX_DataUnitArbitraryStreamSection,
736 OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introdu cing Khronos Standard Extensions */
737 OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introdu cing Vendor Extensions */
738 OMX_DataUnitMax = 0x7FFFFFFF
739 } OMX_DATAUNITTYPE;
740
741
742 /**
743 * Defines possible encapsulation types for coded video data unit. The
744 * encapsulation information is used both for encoded video input for
745 * playback as well as encoded video output from recording.
746 */
747 typedef enum OMX_DATAUNITENCAPSULATIONTYPE {
748 OMX_DataEncapsulationElementaryStream,
749 OMX_DataEncapsulationGenericPayload,
750 OMX_DataEncapsulationRtpPayload,
751 OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region fo r introducing Khronos Standard Extensions */
752 OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region fo r introducing Vendor Extensions */
753 OMX_DataEncapsulationMax = 0x7FFFFFFF
754 } OMX_DATAUNITENCAPSULATIONTYPE;
755
756
757 /**
758 * Structure used to configure the type of being decoded/encoded
759 */
760 typedef struct OMX_PARAM_DATAUNITTYPE {
761 OMX_U32 nSize; /**< Size of the structure in bytes */
762 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
763 OMX_U32 nPortIndex; /**< Port that this structure applies to */
764 OMX_DATAUNITTYPE eUnitType;
765 OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType;
766 } OMX_PARAM_DATAUNITTYPE;
767
768
769 /**
770 * Defines dither types
771 */
772 typedef enum OMX_DITHERTYPE {
773 OMX_DitherNone,
774 OMX_DitherOrdered,
775 OMX_DitherErrorDiffusion,
776 OMX_DitherOther,
777 OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introduci ng Khronos Standard Extensions */
778 OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introduci ng Vendor Extensions */
779 OMX_DitherMax = 0x7FFFFFFF
780 } OMX_DITHERTYPE;
781
782
783 /**
784 * Structure used to configure current type of dithering
785 */
786 typedef struct OMX_CONFIG_DITHERTYPE {
787 OMX_U32 nSize; /**< Size of the structure in bytes */
788 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
789 OMX_U32 nPortIndex; /**< Port that this structure applies to */
790 OMX_DITHERTYPE eDither; /**< Type of dithering to use */
791 } OMX_CONFIG_DITHERTYPE;
792
793 typedef struct OMX_CONFIG_CAPTUREMODETYPE {
794 OMX_U32 nSize;
795 OMX_VERSIONTYPE nVersion;
796 OMX_U32 nPortIndex; /**< Port that this structure applies to */
797 OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture
798 * data as fast as possible (otherwise obey port's frame rate). */
799 OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port e mits the
800 * specified number of frames (otherwise the port does not
801 * terminate the capture until instructed to do so by the client).
802 * Even if set, the client may manually terminate the capture prior
803 * to reaching the limit. */
804 OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a ca pture (only
805 * valid if bFrameLimited is set). */
806 } OMX_CONFIG_CAPTUREMODETYPE;
807
808 typedef enum OMX_METERINGTYPE {
809
810 OMX_MeteringModeAverage, /**< Center-weighted average metering. */
811 OMX_MeteringModeSpot, /**< Spot (partial) metering. */
812 OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */
813
814 OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introdu cing Khronos Standard Extensions */
815 OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introdu cing Vendor Extensions */
816 OMX_EVModeMax = 0x7fffffff
817 } OMX_METERINGTYPE;
818
819 typedef struct OMX_CONFIG_EXPOSUREVALUETYPE {
820 OMX_U32 nSize;
821 OMX_VERSIONTYPE nVersion;
822 OMX_U32 nPortIndex;
823 OMX_METERINGTYPE eMetering;
824 OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */
825 OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */
826 OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */
827 OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */
828 OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatica lly */
829 OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */
830 OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automaticall y */
831 } OMX_CONFIG_EXPOSUREVALUETYPE;
832
833 /**
834 * Focus region configuration
835 *
836 * STRUCT MEMBERS:
837 * nSize : Size of the structure in bytes
838 * nVersion : OMX specification version information
839 * nPortIndex : Port that this structure applies to
840 * bCenter : Use center region as focus region of interest
841 * bLeft : Use left region as focus region of interest
842 * bRight : Use right region as focus region of interest
843 * bTop : Use top region as focus region of interest
844 * bBottom : Use bottom region as focus region of interest
845 * bTopLeft : Use top left region as focus region of interest
846 * bTopRight : Use top right region as focus region of interest
847 * bBottomLeft : Use bottom left region as focus region of interest
848 * bBottomRight : Use bottom right region as focus region of interest
849 */
850 typedef struct OMX_CONFIG_FOCUSREGIONTYPE {
851 OMX_U32 nSize;
852 OMX_VERSIONTYPE nVersion;
853 OMX_U32 nPortIndex;
854 OMX_BOOL bCenter;
855 OMX_BOOL bLeft;
856 OMX_BOOL bRight;
857 OMX_BOOL bTop;
858 OMX_BOOL bBottom;
859 OMX_BOOL bTopLeft;
860 OMX_BOOL bTopRight;
861 OMX_BOOL bBottomLeft;
862 OMX_BOOL bBottomRight;
863 } OMX_CONFIG_FOCUSREGIONTYPE;
864
865 /**
866 * Focus Status type
867 */
868 typedef enum OMX_FOCUSSTATUSTYPE {
869 OMX_FocusStatusOff = 0,
870 OMX_FocusStatusRequest,
871 OMX_FocusStatusReached,
872 OMX_FocusStatusUnableToReach,
873 OMX_FocusStatusLost,
874 OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for intr oducing Khronos Standard Extensions */
875 OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for intr oducing Vendor Extensions */
876 OMX_FocusStatusMax = 0x7FFFFFFF
877 } OMX_FOCUSSTATUSTYPE;
878
879 /**
880 * Focus status configuration
881 *
882 * STRUCT MEMBERS:
883 * nSize : Size of the structure in bytes
884 * nVersion : OMX specification version information
885 * nPortIndex : Port that this structure applies to
886 * eFocusStatus : Specifies the focus status
887 * bCenterStatus : Use center region as focus region of interest
888 * bLeftStatus : Use left region as focus region of interest
889 * bRightStatus : Use right region as focus region of interest
890 * bTopStatus : Use top region as focus region of interest
891 * bBottomStatus : Use bottom region as focus region of interest
892 * bTopLeftStatus : Use top left region as focus region of interest
893 * bTopRightStatus : Use top right region as focus region of interest
894 * bBottomLeftStatus : Use bottom left region as focus region of interest
895 * bBottomRightStatus : Use bottom right region as focus region of interest
896 */
897 typedef struct OMX_PARAM_FOCUSSTATUSTYPE {
898 OMX_U32 nSize;
899 OMX_VERSIONTYPE nVersion;
900 OMX_U32 nPortIndex;
901 OMX_FOCUSSTATUSTYPE eFocusStatus;
902 OMX_BOOL bCenterStatus;
903 OMX_BOOL bLeftStatus;
904 OMX_BOOL bRightStatus;
905 OMX_BOOL bTopStatus;
906 OMX_BOOL bBottomStatus;
907 OMX_BOOL bTopLeftStatus;
908 OMX_BOOL bTopRightStatus;
909 OMX_BOOL bBottomLeftStatus;
910 OMX_BOOL bBottomRightStatus;
911 } OMX_PARAM_FOCUSSTATUSTYPE;
912
913 /** @} */
914
915 #ifdef __cplusplus
916 }
917 #endif /* __cplusplus */
918
919 #endif
920 /* File EOF */
OLDNEW
« no previous file with comments | « third_party/openmax/il/OMX_Core.h ('k') | third_party/openmax/il/OMX_Image.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698