1dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*--------------------------------------------------------------------------
28767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen ChavanCopyright (c) 2011-2013, The Linux Foundation. All rights reserved.
3dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
4dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandRedistribution and use in source and binary forms, with or without
5dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandmodification, are permitted provided that the following conditions are met:
6dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    * Redistributions of source code must retain the above copyright
7dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      notice, this list of conditions and the following disclaimer.
8dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    * Redistributions in binary form must reproduce the above copyright
9dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      notice, this list of conditions and the following disclaimer in the
10dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      documentation and/or other materials provided with the distribution.
1161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    * Neither the name of The Linux Foundation nor
12dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      the names of its contributors may be used to endorse or promote
13dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      products derived from this software without specific prior written
14dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      permission.
15dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
16dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandNON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand--------------------------------------------------------------------------*/
28dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
29dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifndef __H_QOMX_IVCOMMONEXTENSIONS_H__
3061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define __H_QOMX_IVCOMMONEXTENSIONS_H__
31dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
32dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*========================================================================
33dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
3461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan*//** @file QOMX_CommonExtensions.h
35dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
36dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand@par FILE SERVICES:
37dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      common extensions API for OpenMax IL.
38dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
39dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      This file contains the description of the Qualcomm OpenMax IL
4061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan      common extention interface, through which the IL client and OpenMax
41dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand      components can access additional capabilities.
42dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
43dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand*//*====================================================================== */
44dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
4561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan
4661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/*========================================================================
4761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan
4861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan                     INCLUDE FILES FOR MODULE
4961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan
5061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan========================================================================== */
51dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Core.h>
52dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
53dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*========================================================================
54dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
55dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand                      DEFINITIONS AND DECLARATIONS
56dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
57dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */
58dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
59dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus )
60dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandextern "C"
61dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
62dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */
63dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
64dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* IV common extension strings */
65dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_MEDIAINFO                 "OMX.QCOM.index.config.mediainfo"  /**< reference: QOMX_MEDIAINFOTYPE */
66dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_CONTENTURI                "OMX.QCOM.index.config.contenturi" /**< reference: OMX_PARAM_CONTENTURITYPE */
67dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_IMAGESIZECONTROL           "OMX.Qualcomm.index.param.ImageSizeControl" /**< reference: QOMX_IMAGE_IMAGESIZECONTROLTYPE */
68dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_PAUSEPORT                 "OMX.QCOM.index.config.PausePort" /**< reference: QOMX_CONFIG_PAUSEPORTTYPE */
69dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
7061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
71dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give width in pixels */
7261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_FRAMEWIDTHRANGESUPPORTED   "OMX.QCOM.index.param.FrameWidthRangeSupported"
73dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
7461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
75dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give height in pixels */
7661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_FRAMEHEIGHTRANGESUPPORTED  "OMX.QCOM.index.param.FrameHeightRangeSupported"
77dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
7861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
79dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give the number of macroblocks per
80dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  frame. */
8161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_MACROBLOCKSPERFRAMERANGESUPPORTED "OMX.QCOM.index.param.MacroblocksPerFrameRangeSupported"
82dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
8361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
8461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *  nMin, nMax, nStepSize give the number of macroblocks per
85dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  second. */
8661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_MACROBLOCKSPERSECONDRANGESUPPORTED "OMX.QCOM.index.param.MacroblocksPerSecondRangeSupported"
87dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
8861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
89dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give frame rate in frames per second
90dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  in Q16 format. */
9161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#define OMX_QCOM_INDEX_PARAM_FRAMERATERANGESUPPORTED    "OMX.QCOM.index.param.FrameRateRangeSupported"
92dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
93dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_PLANEDEFINITION            "OMX.QCOM.index.param.PlaneDefinition" /** reference: QOMX_PLANEDEFINITIONTYPE */
94dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
9561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
96dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give the crop width in pixels */
97dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QOMX_INDEX_PARAM_CROPWIDTHRANGESUPPORTED        "OMX.QCOM.index.param.CropWidthRangeSupported"
98dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
9961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
100dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give the crop height in pixels */
101dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QOMX_INDEX_PARAM_CROPHEIGHTRANGESUPPORTED        "OMX.QCOM.index.param.CropHeightRangeSupported"
102dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
10361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
104dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give the digital zoom factor on width
105dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  in Q16 format. */
106dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DIGITALZOOMWIDTHRANGESUPPORTED    "OMX.QCOM.index.param.DigitalZoomWidthRangeSupported"
107dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
10861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/** reference: QOMX_URANGETYPE
109dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nMin, nMax, nStepSize give the digital zoom factor on height
110dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  in Q16 format. */
111dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_PARAM_DIGITALZOOMHEIGHTRANGESUPPORTED    "OMX.QCOM.index.param.DigitalZoomHeightRangeSupported"
112dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
1138767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    // new externsions for vidpp
1148767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_QCOM_INDEX_CONFIG_ACTIVE_REGION_DETECTION           "OMX.QCOM.index.config.activeregiondetection"
1158767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_QCOM_INDEX_CONFIG_ACTIVE_REGION_DETECTION_STATUS    "OMX.QCOM.index.config.activeregiondetectionstatus"
1168767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_QCOM_INDEX_CONFIG_SCALING_MODE                      "OMX.QCOM.index.config.scalingmode"
1178767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_QCOM_INDEX_CONFIG_NOISEREDUCTION                    "OMX.QCOM.index.config.noisereduction"
1188767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_QCOM_INDEX_CONFIG_IMAGEENHANCEMENT                  "OMX.QCOM.index.config.imageenhancement"
119dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
120dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration defining the extended uncompressed image/video
121dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * formats.
122dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
123dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * ENUMS:
12461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *  YVU420PackedSemiPlanar       : Buffer containing all Y, and then V and U
125dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 interleaved.
12661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *  YVU420PackedSemiPlanar32m4ka : YUV planar format, similar to the
127dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 YVU420PackedSemiPlanar format, but with the
128dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 following restrictions:
129dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
13061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *                                 1. The width and height of both plane must
131dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 be a multiple of 32 texels.
132dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
13361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *                                 2. The base address of both planes must be
134dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 aligned to a 4kB boundary.
13561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *
136dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  YUV420PackedSemiPlanar16m2ka : YUV planar format, similar to the
137dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 YUV420PackedSemiPlanar format, but with the
138dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 following restrictions:
139dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
140dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 1. The width of the luma plane must be a
141dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 multiple of 16 pixels.
142dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
14361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *                                 2. The address of both planes must be
144dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 aligned to a 2kB boundary.
14561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *
14661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *  YUV420PackedSemiPlanar64x32Tile2m8ka : YUV planar format, similar to the
147dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 YUV420PackedSemiPlanar format, but with the
148dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 following restrictions:
149dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
15061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *                                 1. The data is laid out in a 4x2 MB tiling
151dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 memory structure
152dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
153dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 2. The width of each plane is a multiple of
154dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 2 4x2 MB tiles.
155dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
156dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 3. The height of each plan is a multiple of
157dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 a 4x2 MB tile.
158dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
15961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *                                 4. The base address of both planes must be
160dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 aligned to an 8kB boundary.
161dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
16261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *                                 5. The tiles are scanned in the order
163dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                                 defined in the MFCV5.1 User's Manual.
164dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
165dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_COLOR_FORMATTYPE
166dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
167dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_COLOR_FormatYVU420PackedSemiPlanar       = 0x7F000001,
168dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_COLOR_FormatYVU420PackedSemiPlanar32m4ka,
169dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_COLOR_FormatYUV420PackedSemiPlanar16m2ka,
17061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka,
17161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m,
172dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_COLOR_FORMATTYPE;
173dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
174dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_MEDIAINFOTAGTYPE {
175dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagVersion,       /**< OMX_VERSIONTYPE. Version of the standard specifying the media information.*/
176dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagUID,           /**< OMX_U8*. Unique ID of the media data, ie image unique ID.*/
177dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagDescription,   /**< OMX_U8*. Comments about the media.*/
178dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagTitle,         /**< OMX_U8*. Title of the media.*/
179dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagAuthor,        /**< OMX_U8*. Author of the media.*/
180dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagCopyright,     /**< OMX_U8*. Copyright information.*/
181dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagTrackNum,      /**< OMX_U32. Track number.*/
182dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGenre,         /**< OMX_U8*. The genre of the media.*/
183dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagEquipmentMake, /**< OMX_U8*. Manufacturer of recording equipment.*/
184dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagEquipmentModel,/**< OMX_U8*. Model or name of the recording equipment.*/
185dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagSoftware,      /**< OMX_U8*. Name and version of the software or firmware of the device generating the media.*/
186dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagAssociatedFile,/**< OMX_U8*. The name of the file related to the media.  For example, an audio file related to an image file.*/
187dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagResolution,    /**< QOMX_RESOLUTIONTYPE. Number of pixels per resolution unit.*/
188dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagDateCreated,   /**< QOMX_DATESTAMPTYPE. Date when media was created.*/
189dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagTimeCreated,   /**< QOMX_TIMESTAMPTYPE. Time when media was created.*/
190dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagDateModified,  /**< QOMX_DATESTAMPETYPE. Date when file was last modified.*/
191dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagTimeModified,  /**< QOMX_TIMESTAMPTYPE. Time when file was last modified.*/
192dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSAreaName,   /**< OMX_U8*. The name of the location.*/
193dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSVersion,    /**< OMX_VERSIONTYPE. GPS version.*/
194dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSCoordinates,/**< QOMX_GEODETICTYPE. The longitude, latitude, and altitude.*/
195dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSSatellites, /**< OMX_U8*. The GPS satellites used for measurements.*/
196dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSPrecision,  /**< OMX_U32. GPS degree of precision.*/
197dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSDateStamp,  /**< QOMX_DATESTAMPTYPE. Date of the GPS data.*/
198dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoTagGPSTimeStamp,  /**< QOMX_TIMESTAMPTYPE. Time of the GPS data.*/
19961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagMediaStreamType,/**< QOMX_MEDIASTREAMTYPE. Type of the stream. */
200dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MediaInfoDuration,         /**< OMX_TICKS. Total duration of the media.*/
20161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoSize,                          /**< OMX_U32. Total size of the media in bytes.*/
20261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagAlbum,                     /**< OMX_U8*. Name of album/movie/show.*/
20361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagLocation,                  /**< OMX_U8*. Recording location information.*/
20461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagClassification,            /**< OMX_U8*. Classification information of media.*/
20561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagRatings,                   /**< OMX_U8*. Media Ratings based on popularity & rating criteria.*/
20661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagKeyword,                   /**< OMX_U8*. Keyword associated with media which are intended to reflect mood of the A/V.*/
20761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagPerformance,               /**< OMX_U8*. Media Performer information..*/
20861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagYear,                      /**< OMX_U8*. Production year information of media.*/
20961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagComposer,                  /**< OMX_U8*. Name of the composer of media i.e. audio.*/
21061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagEncoderName,                  /**< OMX_U8*. Name of the person or organisation who encoded media.*/
21161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagCopyProhibitFlag,          /**< OMX_U8*. Flag to indicate if copy is allowed or not.*/
21261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagLyricist,                  /**< OMX_U8*. Name of the lyricist or text writer in recording. Specific to ID3 tag.*/
21361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagSubtitle,                  /**< OMX_U8*. Subtitle/Description used for informaton directly related to title of media.*/
21461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagOriginalFileName,          /**< OMX_U8*. Original file name.*/
21561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagOriginalLyricist,          /**< OMX_U8*. Name of the original lyricist/text writer of original recording.*/
21661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagOriginalArtist,            /**< OMX_U8*. Name of the original artist.*/
21761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagOriginalReleaseYear,       /**< OMX_U8*. Original release year of recorded media.*/
21861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagFileOwner,                 /**< OMX_U8*. Licensee or name of the file owner.*/
21961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagOrchestra,                 /**< OMX_U8*. Name of the orchestra or performers during recording.*/
22061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagConductor,                 /**< OMX_U8*. Name of the conductor.*/
22161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagRemixedBy,                 /**< OMX_U8*. Person or organization name who did the remix.*/
22261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagAlbumArtist,               /**< OMX_U8*. Name of the album artist.*/
22361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagPublisher,                 /**< OMX_U8*. Name of the publisher or label.*/
22461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagRecordingDates,            /**< OMX_U8*. Recording date of media.*/
22561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagInternetRadioStationName,  /**< OMX_U8*. Name of the Internet radio station from which the audio is streamed.*/
22661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagInternetRadioStationOwner, /**< OMX_U8*. Name of the owner of the Internet radio station from which the audio is streamed.*/
22761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagInternationalRecordingCode,/**< OMX_U8*. International standard recording code.*/
22861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagEncoderSwHwSettings,       /**< OMX_U8*. Software,hardware settings used by encoder.*/
22961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagInvolvedPeopleList,        /**< OMX_U8*. List of people involved. Specific to ID3 tag.*/
23061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagComments,                  /**< OMX_U8*. Comments about the media. It can be any kind of full text informaton.*/
23161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagCommissioned,              /**< OMX_U8*. Commissioned information of media.*/
23261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagSubject,                   /**< OMX_U8*. Subject associated with media.*/
23361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagContact,                   /**< OMX_U8*. Conatct information. URL information of the seller.*/
23461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagValidityPeriod,            /**< OMX_U8*. Length or period of validity of media.*/
23561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagValidityEffectiveDate,     /**< OMX_U8*. Validity effective date of media*/
23661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagNumberOfAllowedPlaybacks,  /**< OMX_U8*. Number of allowed playbacks for this media*/
23761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagPlayCounter,               /**< OMX_U8*. Current play counter of the media.Its number of times a file has been played.*/
23861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagMemo,                      /**< OMX_U8*. Memo associatd with media.*/
23961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagDeviceName,                /**< OMX_U8*. Name of the devices used in creating media.*/
24061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagURL,                       /**< OMX_U8*. List artist /genre /movie sites URL.*/
24161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagFileType,                  /**< OMX_U8*. Indicates type of audio track.*/
24261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagContentGroupDesc,          /**< OMX_U8*. Content group description if the sound belongs to a larger category of of music /sound.*/
24361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagInitialKeys,               /**< OMX_U8*. Contains the musical key in which media starts.*/
24461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagLanguages,                 /**< OMX_U8*. Languages of the text or lyrics spoken or sung in the media.*/
24561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagMediaType,                 /**< OMX_U8*. Describes from which media the media sound originated.*/
24661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagPlaylistDelay,             /**< OMX_U8*. Denotes number of milliseconds between each song of the playlist.*/
24761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagBeatsPerMinute,            /**< OMX_U8*. Number of beats per minute in main part of audio.*/
24861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagPartOfSet,                 /**< OMX_U8*. Describes part of the set selected or played. */
24961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagInstrumentName,            /**< OMX_U8*. Name of the instrument used in creating media.*/
25061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagLyrics,                    /**< OMX_U8*. Lyrics of the media/audio track.*/
25161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagTrackName,                 /**< OMX_U8*. Name of the media/audio track.*/
25261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagMarker,                    /**< OMX_U8*. Text string cotnents placed at a specific location to denote information about the music at that point.*/
25361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagCuePoint,                  /**< OMX_U8*. Subset of the content which can be optionally played.*/
25461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSPositioningName,        /**< OMX_U8*. GPS positioning name. */
25561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSPositioningMethod,      /**< OMX_U8*. GPS positioning method.*/
25661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSSurveyData,             /**< OMX_U8*. GPS survey data. */
25761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSByteOrder,              /**< OMX_U16.GPS byte order. */
25861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSLatitudeRef,            /**< OMX_U32.Reference GPS latitude. */
25961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSLongitudeRef,           /**< OMX_U32.Reference GPS longitude */
26061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSAltitudeRef,            /**< OMX_U32. Reference GPS altitude.*/
26161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagGPSExtensionMapScaleInfo,  /**< OMX_U64. GPS extension map scale information.*/
26261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagUUIDAtomInfo,              /**< OMX_U8*. The user defined data associated with UUID.*/
26361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagUUIDAtomCount,             /**< OMX_U32 UUID atom count.*/
26461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagLocationRole,              /**< OMX_32. Indicates the role of the place. i.e. �0� indicate �shooting location'. �1� �real location�.*/
26561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagAstronomicalBody,          /**< OMX_U8*. Astronomical body on which the location exists.*/
26661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_MediaInfoTagUserInfoData               /**< OMX_U8*. The user defined tag informaton.*/
267dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_MEDIAINFOTAGTYPE;
268dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
269dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_MEDIAINFOTYPE {
270dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSize;
271dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_VERSIONTYPE nVersion;
272dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPortIndex; /**< Read-only value containing the index of the output port. */
273dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_MEDIAINFOTAGTYPE eTag; /**< The type of media info being specified. */
274dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nDataSize; /**< The size of the associated cData.  Set nDataSize to 0 to retrieve the size required for cData. */
275dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U8 cData[1]; /**< The media data info */
276dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_MEDIAINFOTYPE;
277dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
278dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
279dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_RESOLUTIONUNITTYPE {
280dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_ResolutionUnitInch,
281dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_ResolutionCentimeter
282dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_RESOLUTIONUNITTYPE;
283dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
284dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_RESOLUTIONTYPE {
285dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_RESOLUTIONUNITTYPE eUnit; /**< The unit of measurement. */
286dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nX; /**< The number of pixels per unit in the width direction. */
287dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nY; /**< The number of pixels per unit in the height direction. */
288dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_RESOLUTIONTYPE;
289dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
290dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_TIMESTAMPTYPE {
291dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nHour; /**< The hour portion of the time stamp, based on a 24-hour format. */
292dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMinute; /**< The minute portion of the time stamp. */
293dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSecond; /**< The second portion of the time stamp. */
294dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMillisecond; /**< the millisecond portion of the time stamp. */
295dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_TIMESTAMPTYPE;
296dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
297dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_DATESTAMPTYPE {
298dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nYear;  /**< The year portion of the date stamp. */
299dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMonth; /**< The monthportion of the date stamp. Valid values are 1 to 12.*/
300dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nDay; /**< The day portion of the date stamp. Valid values are 1 to 31 depending on the month specified.*/
301dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_DATESTAMPTYPE;
302dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
303dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_GEODETICREFTYPE {
304dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GeodeticRefNorth,  /**< North latitude. */
305dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GeodeticRefSouth,  /**< South latitude. */
306dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GeodeticRefEast,   /**< East longitude. */
307dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GeodeticRefWest    /**< West longitude. */
308dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_GEODETICREFTYPE;
309dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
310dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** QOMX_GEODETICANGLETYPE is used to set geodetic angle coordinates on an ellipsoid (the Earth),
311dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandand is explicitly used to specify latitude and longitude.  This structure is referenced by QOMX_GEODETICTYPE. */
312dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_GEODETICANGLETYPE {
313dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GEODETICREFTYPE eReference; /**< Indicates whether the geodetic angle is a latitude or longitude. */
314dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nDegree; /**< The degree of the latitude or longitude. */
315dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMinute; /**< The minute of the latitude or longitude. */
316dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSecond; /**< The second of the latitude or longitude. */
317dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_GEODETICANGLETYPE;
318dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
319dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_ALTITUDEREFTYPE {
320dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AltitudeRefSeaLevel, /**< At sea level. */
321dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_AltitudeRefBelowSeaLevel /**< Below sea level. */
322dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_ALTITUDEREFTYPE;
323dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
324dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_ALTITUDETYPE {
325dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_ALTITUDEREFTYPE eReference; /**< The reference point for the altitude. */
326dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMeter; /**< The absolute value of the number of meters above or below sea level. */
327dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMillimeter; /**< The absolute value of the number of millimeters above or below sea level. */
328dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_ALTITUDETYPE;
329dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
330dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** QOMX_GEODETICTYPE is used to set geodetic coordinates such as longitude, latitude, and altitude.
331dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandThis structure references QOMX_GEODETICANGLETYPE and QOMX_ALTITUDETYPE. */
332dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_GEODETICTYPE {
333dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GEODETICANGLETYPE sLatitude; /**< Indicates the latitude.*/
334dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_GEODETICANGLETYPE sLongitude; /**< Indicates the longitude.*/
335dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_ALTITUDETYPE sAltitude; /**< Indicates the altitude.*/
336dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_GEODETICTYPE;
337dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
338dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
339dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_IMAGE_IMAGESIZECONTROLTYPE {
340dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSize;
341dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_VERSIONTYPE nVersion;
342dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPortIndex; /**< port index on which size control needs to be applied */
343dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nTargetImageSize; /**< expected max target size in Bytes */
344dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_IMAGE_IMAGESIZECONTROLTYPE;
345dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
346dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_URITYPE {
34761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan    QOMX_URITYPE_RTSP, /**< RTSP URI Type. */
348dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_URITYPE_HTTP, /**< HTTP URI Type. */
349dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_URITYPE_LOCAL /**< Local URI Type.(i.e Non Network) */
350dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}QOMX_URITYPE;
351dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
352dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
353dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_STREAMTYPE {
354dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_STREAMTYPE_VOD, /**< Video On demand Stream */
355dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_STREAMTYPE_LIVE,/**< Live Stream */
356dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_STREAMTYPE_FILE /**< File based Stream */
357dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}QOMX_STREAMTYPE;
358dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
359dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
360dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_MEDIASTREAMTYPE{
361dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_URITYPE eURIType;
362dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    QOMX_STREAMTYPE eStreamType;
36361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan}QOMX_MEDIASTREAMTYPE;
364dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
365dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
366dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
367dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This structure specifies the parameters associated with each
368dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * plane of the uncompressed image/video format.
369dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
370dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_PLANEDEFINITIONTYPE {
371dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSize;
372dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_VERSIONTYPE nVersion;
373dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPortIndex;               /**< Represents the port that this structure applies to */
374dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPlaneIndex;              /**< Specifies the plane enumeration index that this structure applies to, starting with a base value of 1 */
375dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMinStride;               /**< Read-only parameter that specifies the minimum buffer stride */
376dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMaxStride;               /**< Read-only parameter that specifies the maximum buffer stride */
377dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nStrideMultiples;         /**< Read-only parameter that specifies the buffer stride multiple supported */
378dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_S32 nActualStride;            /**< Specifies the actual stride to be applied */
379dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nMinPlaneBufferHeight;    /**< Read-only parameter that specifies the minimum buffer height (number of stride lines) */
380dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nActualPlaneBufferHeight; /**< Specifies the actual buffer height (number of stride lines) to be applied */
381dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nBufferSize;              /**< Read-only parameter that specifies the minimum size of the buffer, in bytes */
382dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nBufferAlignment;         /**< Read-only field that specifies the required alignment of the buffer, in bytes */
383dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_PLANEDEFINITIONTYPE;
384dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
385dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/**
386dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  Pause port parameters
387dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
388dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  STRUCT MEMBERS:
389dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nSize           : Size of the structure in bytes
390dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nVersion        : OMX specification version information
391dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *  nPortIndex      : Index of port that this structure represent
39261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan *  bPausePort      : Boolean field which indicates if port is paused or resume. By default bPausePort = OMX_FALSE
393dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *                    & port will be paused when bPausePort = OMX_TRUE
394dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
395dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_CONFIG_PAUSEPORTTYPE {
396dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand  OMX_U32 nSize;
397dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand  OMX_VERSIONTYPE nVersion;
398dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand  OMX_U32 nPortIndex;                /**< Represents the port that this structure applies to */
399dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand  OMX_BOOL bPausePort;               /**< Specifies if port need to PAUSE or RESUME */
400dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_CONFIG_PAUSEPORTTYPE;
401dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
4028767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4038767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct QOMX_RECTTYPE {
4048767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_S32 nLeft;
4058767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_S32 nTop;
4068767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nWidth;
4078767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nHeight;
4088767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_RECTTYPE;
4098767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4108767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct QOMX_ACTIVEREGIONDETECTIONTYPE {
4118767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nSize;
4128767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_VERSIONTYPE nVersion;
4138767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nPortIndex;
4148767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_BOOL bEnable;
4158767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_RECTTYPE sROI;
4168767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nNumExclusionRegions;
4178767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_RECTTYPE sExclusionRegions[1];
4188767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_ACTIVEREGIONDETECTIONTYPE;
4198767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4208767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct QOMX_ACTIVEREGIONDETECTION_STATUSTYPE {
4218767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nSize;
4228767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_VERSIONTYPE nVersion;
4238767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nPortIndex;
4248767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_BOOL bDetected;
4258767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_RECTTYPE sDetectedRegion;
4268767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_ACTIVEREGIONDETECTION_STATUSTYPE;
4278767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4288767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef enum QOMX_SCALE_MODETYPE {
4298767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_SCALE_MODE_Normal,
4308767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_SCALE_MODE_Anamorphic,
4318767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_SCALE_MODE_Max = 0x7FFFFFFF
4328767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_SCALE_MODETYPE;
4338767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4348767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct QOMX_SCALINGMODETYPE {
4358767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nSize;
4368767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_VERSIONTYPE nVersion;
4378767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    QOMX_SCALE_MODETYPE  eScaleMode;
4388767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_SCALINGMODETYPE;
4398767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4408767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct QOMX_NOISEREDUCTIONTYPE {
4418767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nSize;
4428767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_VERSIONTYPE nVersion;
4438767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nPortIndex;
4448767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_BOOL bEnable;
4458767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_BOOL bAutoMode;
4468767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_S32 nNoiseReduction;
4478767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_NOISEREDUCTIONTYPE;
4488767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4498767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct QOMX_IMAGEENHANCEMENTTYPE {
4508767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nSize;
4518767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_VERSIONTYPE nVersion;
4528767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nPortIndex;
4538767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_BOOL bEnable;
4548767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_BOOL bAutoMode;
4558767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_S32 nImageEnhancement;
4568767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} QOMX_IMAGEENHANCEMENTTYPE;
4578767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4588767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan/*
4598767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan * these are part of OMX1.2 but JB MR2 branch doesn't have them defined
4608767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan * OMX_IndexParamInterlaceFormat
4618767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan * OMX_INTERLACEFORMATTYPE
4628767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan */
4638767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#ifndef OMX_IndexParamInterlaceFormat
4648767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#define OMX_IndexParamInterlaceFormat (0x7FF00000)
4658767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef enum OMX_INTERLACETYPE
4668767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan{
4678767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan   OMX_InterlaceFrameProgressive,
4688767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan   OMX_InterlaceInterleaveFrameTopFieldFirst,
4698767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan   OMX_InterlaceInterleaveFrameBottomFieldFirst,
4708767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan   OMX_InterlaceFrameTopFieldFirst,
4718767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan   OMX_InterlaceFrameBottomFieldFirst
4728767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan}OMX_INTERLACEs;
4738767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan
4748767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavantypedef struct OMX_INTERLACEFORMATTYPE {
4758767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nSize;
4768767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_VERSIONTYPE nVersion;
4778767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nPortIndex;
4788767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_U32 nFormat;
4798767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan    OMX_TICKS nTimeStamp;
4808767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan} OMX_INTERLACEFORMATTYPE;
4818767726b6d6b2194cbb3704d7d82f0c7ef34eeb3Praveen Chavan#endif
482dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus )
483dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}
484dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */
485dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
486dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __H_QOMX_IVCOMMONEXTENSIONS_H__ */
487