10df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
20df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Copyright (c) 2008 The Khronos Group Inc.
30df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
40df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Permission is hereby granted, free of charge, to any person obtaining
50df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * a copy of this software and associated documentation files (the
60df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * "Software"), to deal in the Software without restriction, including
70df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * without limitation the rights to use, copy, modify, merge, publish,
80df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * distribute, sublicense, and/or sell copies of the Software, and to
90df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * permit persons to whom the Software is furnished to do so, subject
100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * to the following conditions:
110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * The above copyright notice and this permission notice shall be included
120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * in all copies or substantial portions of the Software.
130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * @file OMX_IVCommon.h - OpenMax IL version 1.1.2
260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  The structures needed by Video and Image components to exchange
270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  parameters and configuration data with the components.
280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#ifndef OMX_IVCommon_h
300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#define OMX_IVCommon_h
310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#ifdef __cplusplus
330df3caf39b8a55c219041623e244de1d88c45a53Chris Friesextern "C" {
340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#endif /* __cplusplus */
350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Each OMX header must include all required header files to allow the header
380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * to compile without errors.  The includes below are required for this header
390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * file to compile successfully
400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#include <OMX_Core.h>
430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/** @defgroup iv OpenMAX IL Imaging and Video Domain
450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Common structures for OpenMAX IL Imaging and Video domains
460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * @{
470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Enumeration defining possible uncompressed image/video formats.
520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * ENUMS:
540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Unused                 : Placeholder value when format is N/A
550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Monochrome             : black and white
560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  8bitRGB332             : Red 7:5, Green 4:2, Blue 1:0
570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  12bitRGB444            : Red 11:8, Green 7:4, Blue 3:0
580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  16bitARGB4444          : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0
590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  16bitARGB1555          : Alpha 15, Red 14:10, Green 9:5, Blue 4:0
600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  16bitRGB565            : Red 15:11, Green 10:5, Blue 4:0
610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  16bitBGR565            : Blue 15:11, Green 10:5, Red 4:0
620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  18bitRGB666            : Red 17:12, Green 11:6, Blue 5:0
630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  18bitARGB1665          : Alpha 17, Red 16:11, Green 10:5, Blue 4:0
640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  19bitARGB1666          : Alpha 18, Red 17:12, Green 11:6, Blue 5:0
650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  24bitRGB888            : Red 24:16, Green 15:8, Blue 7:0
660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  24bitBGR888            : Blue 24:16, Green 15:8, Red 7:0
670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  24bitARGB1887          : Alpha 23, Red 22:15, Green 14:7, Blue 6:0
680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  25bitARGB1888          : Alpha 24, Red 23:16, Green 15:8, Blue 7:0
690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  32bitBGRA8888          : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0
700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  32bitARGB8888          : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0
710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV411Planar           : U,Y are subsampled by a factor of 4 horizontally
720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV411PackedPlanar     : packed per payload in planar slices
730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV420Planar           : Three arrays Y,U,V.
740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV420PackedPlanar     : packed per payload in planar slices
750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV420SemiPlanar       : Two arrays, one is all Y, the other is U and V
760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV422Planar           : Three arrays Y,U,V.
770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV422PackedPlanar     : packed per payload in planar slices
780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV422SemiPlanar       : Two arrays, one is all Y, the other is U and V
790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YCbYCr                 : Organized as 16bit YUYV (i.e. YCbYCr)
800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YCrYCb                 : Organized as 16bit YVYU (i.e. YCrYCb)
810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  CbYCrY                 : Organized as 16bit UYVY (i.e. CbYCrY)
820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  CrYCbY                 : Organized as 16bit VYUY (i.e. CrYCbY)
830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  YUV444Interleaved      : Each pixel contains equal parts YUV
840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  RawBayer8bit           : SMIA camera output format
850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  RawBayer10bit          : SMIA camera output format
860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  RawBayer8bitcompressed : SMIA camera output format
870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
880df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_COLOR_FORMATTYPE {
890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatUnused,
900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatMonochrome,
910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format8bitRGB332,
920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format12bitRGB444,
930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format16bitARGB4444,
940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format16bitARGB1555,
950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format16bitRGB565,
960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format16bitBGR565,
970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format18bitRGB666,
980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format18bitARGB1665,
990df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format19bitARGB1666,
1000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format24bitRGB888,
1010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format24bitBGR888,
1020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format24bitARGB1887,
1030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format25bitARGB1888,
1040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format32bitBGRA8888,
1050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format32bitARGB8888,
1060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV411Planar,
1070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV411PackedPlanar,
1080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV420Planar,
1090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV420PackedPlanar,
1100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV420SemiPlanar,
1110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV422Planar,
1120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV422PackedPlanar,
1130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV422SemiPlanar,
1140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYCbYCr,
1150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYCrYCb,
1160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatCbYCrY,
1170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatCrYCbY,
1180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV444Interleaved,
1190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatRawBayer8bit,
1200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatRawBayer10bit,
1210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatRawBayer8bitcompressed,
1220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatL2,
1230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatL4,
1240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatL8,
1250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatL16,
1260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatL24,
1270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatL32,
1280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV420PackedSemiPlanar,
1290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatYUV422PackedSemiPlanar,
1300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format18BitBGR666,
1310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format24BitARGB6666,
1320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_Format24BitABGR6666,
1330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
1340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
1350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    /**<Reserved android opaque colorformat. Tells the encoder that
1360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries     * the actual colorformat will be  relayed by the
1370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries     * Gralloc Buffers.
1380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries     * FIXME: In the process of reserving some enum values for
1390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries     * Android-specific OMX IL colorformats. Change this enum to
1400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries     * an acceptable range once that is done.
1410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries     * */
1420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatAndroidOpaque = 0x7F000789,
1430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_TI_COLOR_FormatYUV420PackedSemiPlanar = 0x7F000100,
1440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_QCOM_COLOR_FormatYVU420SemiPlanar = 0x7FA30C00,
1450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka = 0x7FA30C03,
1460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_SEC_COLOR_FormatNV12Tiled = 0x7FC00002,
1470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m = 0x7FA30C04,
1480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLOR_FormatMax = 0x7FFFFFFF
1490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_COLOR_FORMATTYPE;
1500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
1510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
1520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
1530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines the matrix for conversion from RGB to YUV or vice versa.
1540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * iColorMatrix should be initialized with the fixed point values
1550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * used in converting between formats.
1560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
1570df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_COLORCONVERSIONTYPE {
1580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;              /**< Size of the structure in bytes */
1590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;   /**< OMX specification version info */
1600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;         /**< Port that this struct applies to */
1610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */
1620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 xColorOffset[4];    /**< Stored in signed Q16 format */
1630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries}OMX_CONFIG_COLORCONVERSIONTYPE;
1640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
1650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
1660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
1670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Structure defining percent to scale each frame dimension.  For example:
1680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * To make the width 50% larger, use fWidth = 1.5 and to make the width
1690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * 1/2 the original size, use fWidth = 0.5
1700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
1710df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_SCALEFACTORTYPE {
1720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;            /**< Size of the structure in bytes */
1730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion; /**< OMX specification version info */
1740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;       /**< Port that this struct applies to */
1750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 xWidth;           /**< Fixed point value stored as Q16 */
1760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 xHeight;          /**< Fixed point value stored as Q16 */
1770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries}OMX_CONFIG_SCALEFACTORTYPE;
1780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
1790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
1800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
1810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Enumeration of possible image filter types
1820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
1830df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_IMAGEFILTERTYPE {
1840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterNone,
1850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterNoise,
1860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterEmboss,
1870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterNegative,
1880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterSketch,
1890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterOilPaint,
1900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterHatch,
1910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterGpen,
1920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterAntialias,
1930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterDeRing,
1940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterSolarize,
1950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
1960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
1970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ImageFilterMax = 0x7FFFFFFF
1980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_IMAGEFILTERTYPE;
1990df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
2020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Image filter configuration
2030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
2040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
2050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize        : Size of the structure in bytes
2060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion     : OMX specification version information
2070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex   : Port that this structure applies to
2080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  eImageFilter : Image filter type enumeration
2090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
2100df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_IMAGEFILTERTYPE {
2110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
2120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
2130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
2140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_IMAGEFILTERTYPE eImageFilter;
2150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_IMAGEFILTERTYPE;
2160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
2190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Customized U and V for color enhancement
2200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
2210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
2220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize             : Size of the structure in bytes
2230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion          : OMX specification version information
2240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex        : Port that this structure applies to
2250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bColorEnhancement : Enable/disable color enhancement
2260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nCustomizedU      : Practical values: 16-240, range: 0-255, value set for
2270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *                      U component
2280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nCustomizedV      : Practical values: 16-240, range: 0-255, value set for
2290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *                      V component
2300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
2310df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_COLORENHANCEMENTTYPE {
2320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
2330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
2340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
2350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bColorEnhancement;
2360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U8 nCustomizedU;
2370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U8 nCustomizedV;
2380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_COLORENHANCEMENTTYPE;
2390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
2420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Define color key and color key mask
2430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
2440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
2450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
2460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
2470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
2480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nARGBColor : 32bit Alpha, Red, Green, Blue Color
2490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nARGBMask  : 32bit Mask for Alpha, Red, Green, Blue channels
2500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
2510df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_COLORKEYTYPE {
2520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
2530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
2540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
2550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nARGBColor;
2560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nARGBMask;
2570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_COLORKEYTYPE;
2580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
2610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * List of color blend types for pre/post processing
2620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
2630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * ENUMS:
2640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  None          : No color blending present
2650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  AlphaConstant : Function is (alpha_constant * src) +
2660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *                  (1 - alpha_constant) * dst)
2670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst)
2680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Alternate     : Function is alternating pixels from src and dst
2690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  And           : Function is (src & dst)
2700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Or            : Function is (src | dst)
2710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Invert        : Function is ~src
2720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
2730df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_COLORBLENDTYPE {
2740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendNone,
2750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendAlphaConstant,
2760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendAlphaPerPixel,
2770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendAlternate,
2780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendAnd,
2790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendOr,
2800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendInvert,
2810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
2820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
2830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ColorBlendMax = 0x7FFFFFFF
2840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_COLORBLENDTYPE;
2850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
2870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
2880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Color blend configuration
2890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
2900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
2910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize             : Size of the structure in bytes
2920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion          : OMX specification version information
2930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex        : Port that this structure applies to
2940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nRGBAlphaConstant : Constant global alpha values when global alpha is used
2950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  eColorBlend       : Color blend type enumeration
2960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
2970df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_COLORBLENDTYPE {
2980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
2990df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
3000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
3010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nRGBAlphaConstant;
3020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_COLORBLENDTYPE  eColorBlend;
3030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_COLORBLENDTYPE;
3040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
3070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Hold frame dimension
3080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
3090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
3100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
3110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
3120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
3130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nWidth     : Frame width in pixels
3140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nHeight    : Frame height in pixels
3150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
3160df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_FRAMESIZETYPE {
3170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
3180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
3190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
3200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nWidth;
3210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nHeight;
3220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_FRAMESIZETYPE;
3230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
3260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Rotation configuration
3270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
3280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
3290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
3300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
3310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
3320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nRotation  : +/- integer rotation value
3330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
3340df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_ROTATIONTYPE {
3350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
3360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
3370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
3380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nRotation;
3390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_ROTATIONTYPE;
3400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
3430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Possible mirroring directions for pre/post processing
3440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
3450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * ENUMS:
3460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  None       : No mirroring
3470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Vertical   : Vertical mirroring, flip on X axis
3480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Horizontal : Horizontal mirroring, flip on Y axis
3490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Both       : Both vertical and horizontal mirroring
3500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
3510df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_MIRRORTYPE {
3520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorNone = 0,
3530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorVertical,
3540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorHorizontal,
3550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorBoth,
3560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
3570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
3580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MirrorMax = 0x7FFFFFFF
3590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_MIRRORTYPE;
3600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
3630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Mirroring configuration
3640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
3650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
3660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
3670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
3680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
3690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  eMirror    : Mirror type enumeration
3700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
3710df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_MIRRORTYPE {
3720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
3730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
3740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
3750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MIRRORTYPE  eMirror;
3760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_MIRRORTYPE;
3770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
3800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Position information only
3810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
3820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
3830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
3840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
3850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
3860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nX         : X coordinate for the point
3870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nY         : Y coordinate for the point
3880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
3890df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_POINTTYPE {
3900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
3910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
3920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
3930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nX;
3940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nY;
3950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_POINTTYPE;
3960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
3980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
3990df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Frame size plus position
4000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
4010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
4020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
4030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
4040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
4050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nLeft      : X Coordinate of the top left corner of the rectangle
4060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nTop       : Y Coordinate of the top left corner of the rectangle
4070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nWidth     : Width of the rectangle
4080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nHeight    : Height of the rectangle
4090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
4100df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_RECTTYPE {
4110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
4120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
4130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
4140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nLeft;
4150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nTop;
4160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nWidth;
4170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nHeight;
4180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_RECTTYPE;
4190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
4220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Deblocking state; it is required to be set up before starting the codec
4230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
4240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
4250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize       : Size of the structure in bytes
4260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion    : OMX specification version information
4270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex  : Port that this structure applies to
4280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bDeblocking : Enable/disable deblocking mode
4290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
4300df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_PARAM_DEBLOCKINGTYPE {
4310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
4320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
4330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
4340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bDeblocking;
4350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_PARAM_DEBLOCKINGTYPE;
4360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
4390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Stabilization state
4400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
4410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
4420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
4430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
4440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
4450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bStab      : Enable/disable frame stabilization state
4460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
4470df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_FRAMESTABTYPE {
4480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
4490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
4500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
4510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bStab;
4520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_FRAMESTABTYPE;
4530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
4560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * White Balance control type
4570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
4580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
4590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  SunLight : Referenced in JSR-234
4600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  Flash    : Optimal for device's integrated flash
4610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
4620df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_WHITEBALCONTROLTYPE {
4630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlOff = 0,
4640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlAuto,
4650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlSunLight,
4660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlCloudy,
4670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlShade,
4680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlTungsten,
4690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlFluorescent,
4700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlIncandescent,
4710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlFlash,
4720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlHorizon,
4730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
4740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
4750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WhiteBalControlMax = 0x7FFFFFFF
4760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_WHITEBALCONTROLTYPE;
4770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
4800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * White Balance control configuration
4810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
4820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
4830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize            : Size of the structure in bytes
4840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion         : OMX specification version information
4850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex       : Port that this structure applies to
4860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  eWhiteBalControl : White balance enumeration
4870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
4880df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_WHITEBALCONTROLTYPE {
4890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
4900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
4910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
4920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_WHITEBALCONTROLTYPE eWhiteBalControl;
4930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_WHITEBALCONTROLTYPE;
4940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
4960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
4970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Exposure control type
4980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
4990df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_EXPOSURECONTROLTYPE {
5000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlOff = 0,
5010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlAuto,
5020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlNight,
5030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlBackLight,
5040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlSpotLight,
5050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlSports,
5060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlSnow,
5070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlBeach,
5080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlLargeAperture,
5090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlSmallApperture,
5100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
5110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
5120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_ExposureControlMax = 0x7FFFFFFF
5130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_EXPOSURECONTROLTYPE;
5140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
5170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * White Balance control configuration
5180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
5190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
5200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize            : Size of the structure in bytes
5210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion         : OMX specification version information
5220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex       : Port that this structure applies to
5230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  eExposureControl : Exposure control enumeration
5240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
5250df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_EXPOSURECONTROLTYPE {
5260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
5270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
5280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
5290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EXPOSURECONTROLTYPE eExposureControl;
5300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_EXPOSURECONTROLTYPE;
5310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
5340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines sensor supported mode.
5350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
5360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
5370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
5380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
5390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
5400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nFrameRate : Single shot mode is indicated by a 0
5410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bOneShot   : Enable for single shot, disable for streaming
5420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  sFrameSize : Framesize
5430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
5440df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_PARAM_SENSORMODETYPE {
5450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
5460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
5470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
5480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nFrameRate;
5490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bOneShot;
5500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FRAMESIZETYPE sFrameSize;
5510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_PARAM_SENSORMODETYPE;
5520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
5550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines contrast level
5560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
5570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
5580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
5590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
5600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
5610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nContrast  : Values allowed for contrast -100 to 100, zero means no change
5620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
5630df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_CONTRASTTYPE {
5640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
5650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
5660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
5670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nContrast;
5680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_CONTRASTTYPE;
5690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
5720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines brightness level
5730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
5740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
5750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize       : Size of the structure in bytes
5760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion    : OMX specification version information
5770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex  : Port that this structure applies to
5780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nBrightness : 0-100%
5790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
5800df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_BRIGHTNESSTYPE {
5810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
5820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
5830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
5840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nBrightness;
5850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_BRIGHTNESSTYPE;
5860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
5880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
5890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines backlight level configuration for a video sink, e.g. LCD panel
5900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
5910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
5920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
5930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
5940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
5950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nBacklight : Values allowed for backlight 0-100%
5960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nTimeout   : Number of milliseconds before backlight automatically turns
5970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *               off.  A value of 0x0 disables backight timeout
5980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
5990df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_BACKLIGHTTYPE {
6000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
6010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
6020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
6030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nBacklight;
6040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nTimeout;
6050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_BACKLIGHTTYPE;
6060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
6090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines setting for Gamma
6100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
6110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
6120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
6130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
6140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
6150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nGamma     : Values allowed for gamma -100 to 100, zero means no change
6160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
6170df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_GAMMATYPE {
6180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
6190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
6200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
6210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nGamma;
6220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_GAMMATYPE;
6230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
6260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Define for setting saturation
6270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
6280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
6290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize       : Size of the structure in bytes
6300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion    : OMX specification version information
6310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex  : Port that this structure applies to
6320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSaturation : Values allowed for saturation -100 to 100, zero means
6330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *                no change
6340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
6350df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_SATURATIONTYPE {
6360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
6370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
6380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
6390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nSaturation;
6400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_SATURATIONTYPE;
6410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
6440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Define for setting Lightness
6450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
6460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
6470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
6480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
6490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Port that this structure applies to
6500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nLightness : Values allowed for lightness -100 to 100, zero means no
6510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *               change
6520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
6530df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_LIGHTNESSTYPE {
6540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
6550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
6560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
6570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 nLightness;
6580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_LIGHTNESSTYPE;
6590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
6620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Plane blend configuration
6630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
6640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
6650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize      : Size of the structure in bytes
6660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion   : OMX specification version information
6670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex : Index of input port associated with the plane.
6680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nDepth     : Depth of the plane in relation to the screen. Higher
6690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *               numbered depths are "behind" lower number depths.
6700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *               This number defaults to the Port Index number.
6710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nAlpha     : Transparency blending component for the entire plane.
6720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *               See blending modes for more detail.
6730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
6740df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_PLANEBLENDTYPE {
6750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
6760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
6770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
6780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nDepth;
6790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nAlpha;
6800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_PLANEBLENDTYPE;
6810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
6830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
6840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Define interlace type
6850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
6860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
6870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize                 : Size of the structure in bytes
6880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion              : OMX specification version information
6890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex            : Port that this structure applies to
6900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bEnable               : Enable control variable for this functionality
6910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *                          (see below)
6920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nInterleavePortIndex  : Index of input or output port associated with
6930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *                          the interleaved plane.
6940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  pPlanarPortIndexes[4] : Index of input or output planar ports.
6950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
6960df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_PARAM_INTERLEAVETYPE {
6970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
6980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
6990df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
7000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bEnable;
7010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nInterleavePortIndex;
7020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_PARAM_INTERLEAVETYPE;
7030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines the picture effect used for an input picture
7070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7080df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_TRANSITIONEFFECTTYPE {
7090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectNone,
7100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectFadeFromBlack,
7110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectFadeToBlack,
7120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectUnspecifiedThroughConstantColor,
7130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectDissolve,
7140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectWipe,
7150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectUnspecifiedMixOfTwoScenes,
7160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
7170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
7180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EffectMax = 0x7FFFFFFF
7190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_TRANSITIONEFFECTTYPE;
7200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Structure used to configure current transition effect
7240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
7250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
7260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * nSize      : Size of the structure in bytes
7270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * nVersion   : OMX specification version information
7280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * nPortIndex : Port that this structure applies to
7290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * eEffect    : Effect to enable
7300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7310df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE {
7320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
7330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
7340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
7350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_TRANSITIONEFFECTTYPE eEffect;
7360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_TRANSITIONEFFECTTYPE;
7370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines possible data unit types for encoded video data. The data unit
7410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * types are used both for encoded video input for playback as well as
7420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * encoded video output from recording.
7430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7440df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_DATAUNITTYPE {
7450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitCodedPicture,
7460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitVideoSegment,
7470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitSeveralSegments,
7480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitArbitraryStreamSection,
7490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
7500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
7510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataUnitMax = 0x7FFFFFFF
7520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_DATAUNITTYPE;
7530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines possible encapsulation types for coded video data unit. The
7570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * encapsulation information is used both for encoded video input for
7580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * playback as well as encoded video output from recording.
7590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7600df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_DATAUNITENCAPSULATIONTYPE {
7610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataEncapsulationElementaryStream,
7620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataEncapsulationGenericPayload,
7630df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataEncapsulationRtpPayload,
7640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
7650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
7660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DataEncapsulationMax = 0x7FFFFFFF
7670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_DATAUNITENCAPSULATIONTYPE;
7680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Structure used to configure the type of being decoded/encoded
7720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7730df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_PARAM_DATAUNITTYPE {
7740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;            /**< Size of the structure in bytes */
7750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
7760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;       /**< Port that this structure applies to */
7770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DATAUNITTYPE eUnitType;
7780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType;
7790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_PARAM_DATAUNITTYPE;
7800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7810df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Defines dither types
7840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7850df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_DITHERTYPE {
7860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherNone,
7870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherOrdered,
7880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherErrorDiffusion,
7890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherOther,
7900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
7910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
7920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DitherMax = 0x7FFFFFFF
7930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_DITHERTYPE;
7940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
7960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
7970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Structure used to configure current type of dithering
7980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
7990df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_DITHERTYPE {
8000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;            /**< Size of the structure in bytes */
8010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion; /**< OMX specification version information */
8020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;       /**< Port that this structure applies to */
8030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_DITHERTYPE eDither;   /**< Type of dithering to use */
8040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_DITHERTYPE;
8050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8060df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_CAPTUREMODETYPE {
8070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
8080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
8090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;     /**< Port that this structure applies to */
8100df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bContinuous;   /**< If true then ignore frame rate and emit capture
8110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries                             *   data as fast as possible (otherwise obey port's frame rate). */
8120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the
8130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries                             *   specified number of frames (otherwise the port does not
8140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries                             *   terminate the capture until instructed to do so by the client).
8150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries                             *   Even if set, the client may manually terminate the capture prior
8160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries                             *   to reaching the limit. */
8170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nFrameLimit;      /**< Limit on number of frames emitted during a capture (only
8180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries                               *   valid if bFrameLimited is set). */
8190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_CAPTUREMODETYPE;
8200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8210df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_METERINGTYPE {
8220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MeteringModeAverage,     /**< Center-weighted average metering. */
8240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MeteringModeSpot,  	      /**< Spot (partial) metering. */
8250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MeteringModeMatrix,      /**< Matrix or evaluative metering. */
8260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
8280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
8290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_EVModeMax = 0x7fffffff
8300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_METERINGTYPE;
8310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8320df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_EXPOSUREVALUETYPE {
8330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
8340df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
8350df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
8360df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_METERINGTYPE eMetering;
8370df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_S32 xEVCompensation;      /**< Fixed point value stored as Q16 */
8380df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nApertureFNumber;     /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */
8390df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bAutoAperture;		/**< Whether aperture number is defined automatically */
8400df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nShutterSpeedMsec;    /**< Shutterspeed in milliseconds */
8410df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bAutoShutterSpeed;	/**< Whether shutter speed is defined automatically */
8420df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSensitivity;         /**< e.g. nSensitivity = 100 implies "ISO 100" */
8430df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bAutoSensitivity;	/**< Whether sensitivity is defined automatically */
8440df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_EXPOSUREVALUETYPE;
8450df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8460df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
8470df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Focus region configuration
8480df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
8490df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
8500df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize           : Size of the structure in bytes
8510df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion        : OMX specification version information
8520df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex      : Port that this structure applies to
8530df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bCenter         : Use center region as focus region of interest
8540df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bLeft           : Use left region as focus region of interest
8550df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bRight          : Use right region as focus region of interest
8560df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bTop            : Use top region as focus region of interest
8570df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bBottom         : Use bottom region as focus region of interest
8580df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bTopLeft        : Use top left region as focus region of interest
8590df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bTopRight       : Use top right region as focus region of interest
8600df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bBottomLeft     : Use bottom left region as focus region of interest
8610df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bBottomRight    : Use bottom right region as focus region of interest
8620df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
8630df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_CONFIG_FOCUSREGIONTYPE {
8640df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
8650df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
8660df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
8670df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bCenter;
8680df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bLeft;
8690df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bRight;
8700df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bTop;
8710df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bBottom;
8720df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bTopLeft;
8730df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bTopRight;
8740df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bBottomLeft;
8750df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bBottomRight;
8760df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_CONFIG_FOCUSREGIONTYPE;
8770df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8780df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
8790df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Focus Status type
8800df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
8810df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef enum OMX_FOCUSSTATUSTYPE {
8820df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusOff = 0,
8830df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusRequest,
8840df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusReached,
8850df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusUnableToReach,
8860df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusLost,
8870df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
8880df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
8890df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FocusStatusMax = 0x7FFFFFFF
8900df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_FOCUSSTATUSTYPE;
8910df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
8920df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/**
8930df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * Focus status configuration
8940df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *
8950df3caf39b8a55c219041623e244de1d88c45a53Chris Fries * STRUCT MEMBERS:
8960df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nSize               : Size of the structure in bytes
8970df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nVersion            : OMX specification version information
8980df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  nPortIndex          : Port that this structure applies to
8990df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  eFocusStatus        : Specifies the focus status
9000df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bCenterStatus       : Use center region as focus region of interest
9010df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bLeftStatus         : Use left region as focus region of interest
9020df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bRightStatus        : Use right region as focus region of interest
9030df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bTopStatus          : Use top region as focus region of interest
9040df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bBottomStatus       : Use bottom region as focus region of interest
9050df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bTopLeftStatus      : Use top left region as focus region of interest
9060df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bTopRightStatus     : Use top right region as focus region of interest
9070df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bBottomLeftStatus   : Use bottom left region as focus region of interest
9080df3caf39b8a55c219041623e244de1d88c45a53Chris Fries *  bBottomRightStatus  : Use bottom right region as focus region of interest
9090df3caf39b8a55c219041623e244de1d88c45a53Chris Fries */
9100df3caf39b8a55c219041623e244de1d88c45a53Chris Friestypedef struct OMX_PARAM_FOCUSSTATUSTYPE {
9110df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nSize;
9120df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_VERSIONTYPE nVersion;
9130df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_U32 nPortIndex;
9140df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_FOCUSSTATUSTYPE eFocusStatus;
9150df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bCenterStatus;
9160df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bLeftStatus;
9170df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bRightStatus;
9180df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bTopStatus;
9190df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bBottomStatus;
9200df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bTopLeftStatus;
9210df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bTopRightStatus;
9220df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bBottomLeftStatus;
9230df3caf39b8a55c219041623e244de1d88c45a53Chris Fries    OMX_BOOL bBottomRightStatus;
9240df3caf39b8a55c219041623e244de1d88c45a53Chris Fries} OMX_PARAM_FOCUSSTATUSTYPE;
9250df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
9260df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/** @} */
9270df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
9280df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#ifdef __cplusplus
9290df3caf39b8a55c219041623e244de1d88c45a53Chris Fries}
9300df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#endif /* __cplusplus */
9310df3caf39b8a55c219041623e244de1d88c45a53Chris Fries
9320df3caf39b8a55c219041623e244de1d88c45a53Chris Fries#endif
9330df3caf39b8a55c219041623e244de1d88c45a53Chris Fries/* File EOF */
934