1826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*--------------------------------------------------------------------------
2826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevCopyright (c) 2011 Code Aurora Forum. All rights reserved.
3826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
4826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevRedistribution and use in source and binary forms, with or without
5826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevmodification, are permitted provided that the following conditions are met:
6826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    * Redistributions of source code must retain the above copyright
7826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      notice, this list of conditions and the following disclaimer.
8826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    * Redistributions in binary form must reproduce the above copyright
9826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      notice, this list of conditions and the following disclaimer in the
10826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      documentation and/or other materials provided with the distribution.
11826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    * Neither the name of Code Aurora nor
12826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      the names of its contributors may be used to endorse or promote
13826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      products derived from this software without specific prior written
14826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      permission.
15826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
16826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevNON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev--------------------------------------------------------------------------*/
28826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
29826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifndef __H_QOMX_IVCOMMONEXTENSIONS_H__
30826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define __H_QOMX_IVCOMMONEXTENSIONS_H__
31826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
32826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*========================================================================
33826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
34826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev*//** @file QOMX_CommonExtensions.h
35826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
36826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev@par FILE SERVICES:
37826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      common extensions API for OpenMax IL.
38826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
39826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      This file contains the description of the Qualcomm OpenMax IL
40826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      common extention interface, through which the IL client and OpenMax
41826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev      components can access additional capabilities.
42826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
43826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev*//*====================================================================== */
44826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
45826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
46826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*========================================================================
47826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
48826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev                     INCLUDE FILES FOR MODULE
49826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
50826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev========================================================================== */
51826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#include <OMX_Core.h>
52826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
53826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/*========================================================================
54826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
55826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev                      DEFINITIONS AND DECLARATIONS
56826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
57826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev========================================================================== */
58826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
59826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#if defined( __cplusplus )
60826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevextern "C"
61826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
62826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* end of macro __cplusplus */
63826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
64826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/* IV common extension strings */
65826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_CONFIG_MEDIAINFO                 "OMX.QCOM.index.config.mediainfo"  /**< reference: QOMX_MEDIAINFOTYPE */
66826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_CONFIG_CONTENTURI                "OMX.QCOM.index.config.contenturi" /**< reference: OMX_PARAM_CONTENTURITYPE */
67826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_IMAGESIZECONTROL           "OMX.Qualcomm.index.param.ImageSizeControl" /**< reference: QOMX_IMAGE_IMAGESIZECONTROLTYPE */
68826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_CONFIG_PAUSEPORT                 "OMX.QCOM.index.config.PausePort" /**< reference: QOMX_CONFIG_PAUSEPORTTYPE */
69826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
70826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
71826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give width in pixels */
72826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_FRAMEWIDTHRANGESUPPORTED   "OMX.QCOM.index.param.FrameWidthRangeSupported"
73826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
74826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
75826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give height in pixels */
76826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_FRAMEHEIGHTRANGESUPPORTED  "OMX.QCOM.index.param.FrameHeightRangeSupported"
77826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
78826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
79826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give the number of macroblocks per
80826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  frame. */
81826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_MACROBLOCKSPERFRAMERANGESUPPORTED "OMX.QCOM.index.param.MacroblocksPerFrameRangeSupported"
82826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
83826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
84826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give the number of macroblocks per
85826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  second. */
86826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_MACROBLOCKSPERSECONDRANGESUPPORTED "OMX.QCOM.index.param.MacroblocksPerSecondRangeSupported"
87826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
88826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
89826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give frame rate in frames per second
90826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  in Q16 format. */
91826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_FRAMERATERANGESUPPORTED    "OMX.QCOM.index.param.FrameRateRangeSupported"
92826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
93826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_PLANEDEFINITION            "OMX.QCOM.index.param.PlaneDefinition" /** reference: QOMX_PLANEDEFINITIONTYPE */
94826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
95826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
96826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give the crop width in pixels */
97826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QOMX_INDEX_PARAM_CROPWIDTHRANGESUPPORTED        "OMX.QCOM.index.param.CropWidthRangeSupported"
98826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
99826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
100826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give the crop height in pixels */
101826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QOMX_INDEX_PARAM_CROPHEIGHTRANGESUPPORTED        "OMX.QCOM.index.param.CropHeightRangeSupported"
102826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
103826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
104826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give the digital zoom factor on width
105826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  in Q16 format. */
106826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DIGITALZOOMWIDTHRANGESUPPORTED    "OMX.QCOM.index.param.DigitalZoomWidthRangeSupported"
107826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
108826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** reference: QOMX_URANGETYPE
109826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nMin, nMax, nStepSize give the digital zoom factor on height
110826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  in Q16 format. */
111826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#define OMX_QCOM_INDEX_PARAM_DIGITALZOOMHEIGHTRANGESUPPORTED    "OMX.QCOM.index.param.DigitalZoomHeightRangeSupported"
112826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
113826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
114826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * Enumeration defining the extended uncompressed image/video
115826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * formats.
116826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
117826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * ENUMS:
118826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  YVU420PackedSemiPlanar       : Buffer containing all Y, and then V and U
119826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 interleaved.
120826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  YVU420PackedSemiPlanar32m4ka : YUV planar format, similar to the
121826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 YVU420PackedSemiPlanar format, but with the
122826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 following restrictions:
123826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
124826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 1. The width and height of both plane must
125826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 be a multiple of 32 texels.
126826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
127826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 2. The base address of both planes must be
128826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 aligned to a 4kB boundary.
129826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
130826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  YUV420PackedSemiPlanar16m2ka : YUV planar format, similar to the
131826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 YUV420PackedSemiPlanar format, but with the
132826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 following restrictions:
133826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
134826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 1. The width of the luma plane must be a
135826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 multiple of 16 pixels.
136826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
137826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 2. The address of both planes must be
138826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 aligned to a 2kB boundary.
139826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
140826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  YUV420PackedSemiPlanar64x32Tile2m8ka : YUV planar format, similar to the
141826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 YUV420PackedSemiPlanar format, but with the
142826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 following restrictions:
143826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
144826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 1. The data is laid out in a 4x2 MB tiling
145826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 memory structure
146826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
147826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 2. The width of each plane is a multiple of
148826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 2 4x2 MB tiles.
149826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
150826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 3. The height of each plan is a multiple of
151826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 a 4x2 MB tile.
152826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
153826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 4. The base address of both planes must be
154826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 aligned to an 8kB boundary.
155826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
156826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 5. The tiles are scanned in the order
157826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                                 defined in the MFCV5.1 User's Manual.
158826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
159826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_COLOR_FORMATTYPE
160826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{
161826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_COLOR_FormatYVU420PackedSemiPlanar       = 0x7F000001,
162826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_COLOR_FormatYVU420PackedSemiPlanar32m4ka,
163826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_COLOR_FormatYUV420PackedSemiPlanar16m2ka,
164826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka
165826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_COLOR_FORMATTYPE;
166826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
167826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_MEDIAINFOTAGTYPE {
168826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagVersion,       /**< OMX_VERSIONTYPE. Version of the standard specifying the media information.*/
169826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagUID,           /**< OMX_U8*. Unique ID of the media data, ie image unique ID.*/
170826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagDescription,   /**< OMX_U8*. Comments about the media.*/
171826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagTitle,         /**< OMX_U8*. Title of the media.*/
172826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagAuthor,        /**< OMX_U8*. Author of the media.*/
173826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagCopyright,     /**< OMX_U8*. Copyright information.*/
174826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagTrackNum,      /**< OMX_U32. Track number.*/
175826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGenre,         /**< OMX_U8*. The genre of the media.*/
176826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagEquipmentMake, /**< OMX_U8*. Manufacturer of recording equipment.*/
177826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagEquipmentModel,/**< OMX_U8*. Model or name of the recording equipment.*/
178826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagSoftware,      /**< OMX_U8*. Name and version of the software or firmware of the device generating the media.*/
179826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagAssociatedFile,/**< OMX_U8*. The name of the file related to the media.  For example, an audio file related to an image file.*/
180826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagResolution,    /**< QOMX_RESOLUTIONTYPE. Number of pixels per resolution unit.*/
181826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagDateCreated,   /**< QOMX_DATESTAMPTYPE. Date when media was created.*/
182826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagTimeCreated,   /**< QOMX_TIMESTAMPTYPE. Time when media was created.*/
183826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagDateModified,  /**< QOMX_DATESTAMPETYPE. Date when file was last modified.*/
184826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagTimeModified,  /**< QOMX_TIMESTAMPTYPE. Time when file was last modified.*/
185826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSAreaName,   /**< OMX_U8*. The name of the location.*/
186826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSVersion,    /**< OMX_VERSIONTYPE. GPS version.*/
187826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSCoordinates,/**< QOMX_GEODETICTYPE. The longitude, latitude, and altitude.*/
188826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSSatellites, /**< OMX_U8*. The GPS satellites used for measurements.*/
189826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSPrecision,  /**< OMX_U32. GPS degree of precision.*/
190826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSDateStamp,  /**< QOMX_DATESTAMPTYPE. Date of the GPS data.*/
191826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSTimeStamp,  /**< QOMX_TIMESTAMPTYPE. Time of the GPS data.*/
192826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagMediaStreamType,/**< QOMX_MEDIASTREAMTYPE. Type of the stream. */
193826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoDuration,         /**< OMX_TICKS. Total duration of the media.*/
194826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoSize,                          /**< OMX_U32. Total size of the media in bytes.*/
195826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagAlbum,                     /**< OMX_U8*. Name of album/movie/show.*/
196826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagLocation,                  /**< OMX_U8*. Recording location information.*/
197826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagClassification,            /**< OMX_U8*. Classification information of media.*/
198826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagRatings,                   /**< OMX_U8*. Media Ratings based on popularity & rating criteria.*/
199826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagKeyword,                   /**< OMX_U8*. Keyword associated with media which are intended to reflect mood of the A/V.*/
200826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagPerformance,               /**< OMX_U8*. Media Performer information..*/
201826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagYear,                      /**< OMX_U8*. Production year information of media.*/
202826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagComposer,                  /**< OMX_U8*. Name of the composer of media i.e. audio.*/
203826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagEncoderName,                  /**< OMX_U8*. Name of the person or organisation who encoded media.*/
204826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagCopyProhibitFlag,          /**< OMX_U8*. Flag to indicate if copy is allowed or not.*/
205826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagLyricist,                  /**< OMX_U8*. Name of the lyricist or text writer in recording. Specific to ID3 tag.*/
206826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagSubtitle,                  /**< OMX_U8*. Subtitle/Description used for informaton directly related to title of media.*/
207826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagOriginalFileName,          /**< OMX_U8*. Original file name.*/
208826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagOriginalLyricist,          /**< OMX_U8*. Name of the original lyricist/text writer of original recording.*/
209826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagOriginalArtist,            /**< OMX_U8*. Name of the original artist.*/
210826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagOriginalReleaseYear,       /**< OMX_U8*. Original release year of recorded media.*/
211826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagFileOwner,                 /**< OMX_U8*. Licensee or name of the file owner.*/
212826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagOrchestra,                 /**< OMX_U8*. Name of the orchestra or performers during recording.*/
213826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagConductor,                 /**< OMX_U8*. Name of the conductor.*/
214826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagRemixedBy,                 /**< OMX_U8*. Person or organization name who did the remix.*/
215826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagAlbumArtist,               /**< OMX_U8*. Name of the album artist.*/
216826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagPublisher,                 /**< OMX_U8*. Name of the publisher or label.*/
217826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagRecordingDates,            /**< OMX_U8*. Recording date of media.*/
218826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagInternetRadioStationName,  /**< OMX_U8*. Name of the Internet radio station from which the audio is streamed.*/
219826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagInternetRadioStationOwner, /**< OMX_U8*. Name of the owner of the Internet radio station from which the audio is streamed.*/
220826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagInternationalRecordingCode,/**< OMX_U8*. International standard recording code.*/
221826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagEncoderSwHwSettings,       /**< OMX_U8*. Software,hardware settings used by encoder.*/
222826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagInvolvedPeopleList,        /**< OMX_U8*. List of people involved. Specific to ID3 tag.*/
223826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagComments,                  /**< OMX_U8*. Comments about the media. It can be any kind of full text informaton.*/
224826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagCommissioned,              /**< OMX_U8*. Commissioned information of media.*/
225826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagSubject,                   /**< OMX_U8*. Subject associated with media.*/
226826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagContact,                   /**< OMX_U8*. Conatct information. URL information of the seller.*/
227826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagValidityPeriod,            /**< OMX_U8*. Length or period of validity of media.*/
228826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagValidityEffectiveDate,     /**< OMX_U8*. Validity effective date of media*/
229826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagNumberOfAllowedPlaybacks,  /**< OMX_U8*. Number of allowed playbacks for this media*/
230826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagPlayCounter,               /**< OMX_U8*. Current play counter of the media.Its number of times a file has been played.*/
231826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagMemo,                      /**< OMX_U8*. Memo associatd with media.*/
232826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagDeviceName,                /**< OMX_U8*. Name of the devices used in creating media.*/
233826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagURL,                       /**< OMX_U8*. List artist /genre /movie sites URL.*/
234826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagFileType,                  /**< OMX_U8*. Indicates type of audio track.*/
235826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagContentGroupDesc,          /**< OMX_U8*. Content group description if the sound belongs to a larger category of of music /sound.*/
236826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagInitialKeys,               /**< OMX_U8*. Contains the musical key in which media starts.*/
237826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagLanguages,                 /**< OMX_U8*. Languages of the text or lyrics spoken or sung in the media.*/
238826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagMediaType,                 /**< OMX_U8*. Describes from which media the media sound originated.*/
239826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagPlaylistDelay,             /**< OMX_U8*. Denotes number of milliseconds between each song of the playlist.*/
240826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagBeatsPerMinute,            /**< OMX_U8*. Number of beats per minute in main part of audio.*/
241826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagPartOfSet,                 /**< OMX_U8*. Describes part of the set selected or played. */
242826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagInstrumentName,            /**< OMX_U8*. Name of the instrument used in creating media.*/
243826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagLyrics,                    /**< OMX_U8*. Lyrics of the media/audio track.*/
244826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagTrackName,                 /**< OMX_U8*. Name of the media/audio track.*/
245826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagMarker,                    /**< OMX_U8*. Text string cotnents placed at a specific location to denote information about the music at that point.*/
246826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagCuePoint,                  /**< OMX_U8*. Subset of the content which can be optionally played.*/
247826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSPositioningName,        /**< OMX_U8*. GPS positioning name. */
248826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSPositioningMethod,      /**< OMX_U8*. GPS positioning method.*/
249826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSSurveyData,             /**< OMX_U8*. GPS survey data. */
250826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSByteOrder,              /**< OMX_U16.GPS byte order. */
251826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSLatitudeRef,            /**< OMX_U32.Reference GPS latitude. */
252826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSLongitudeRef,           /**< OMX_U32.Reference GPS longitude */
253826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSAltitudeRef,            /**< OMX_U32. Reference GPS altitude.*/
254826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagGPSExtensionMapScaleInfo,  /**< OMX_U64. GPS extension map scale information.*/
255826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagUUIDAtomInfo,              /**< OMX_U8*. The user defined data associated with UUID.*/
256826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagUUIDAtomCount,             /**< OMX_U32 UUID atom count.*/
257826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagLocationRole,              /**< OMX_32. Indicates the role of the place. i.e. �0� indicate �shooting location'. �1� �real location�.*/
258826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagAstronomicalBody,          /**< OMX_U8*. Astronomical body on which the location exists.*/
259826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MediaInfoTagUserInfoData               /**< OMX_U8*. The user defined tag informaton.*/
260826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_MEDIAINFOTAGTYPE;
261826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
262826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_MEDIAINFOTYPE {
263826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSize;
264826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_VERSIONTYPE nVersion;
265826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nPortIndex; /**< Read-only value containing the index of the output port. */
266826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_MEDIAINFOTAGTYPE eTag; /**< The type of media info being specified. */
267826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nDataSize; /**< The size of the associated cData.  Set nDataSize to 0 to retrieve the size required for cData. */
268826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U8 cData[1]; /**< The media data info */
269826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_MEDIAINFOTYPE;
270826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
271826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
272826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_RESOLUTIONUNITTYPE {
273826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_ResolutionUnitInch,
274826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_ResolutionCentimeter
275826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_RESOLUTIONUNITTYPE;
276826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
277826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_RESOLUTIONTYPE {
278826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_RESOLUTIONUNITTYPE eUnit; /**< The unit of measurement. */
279826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nX; /**< The number of pixels per unit in the width direction. */
280826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nY; /**< The number of pixels per unit in the height direction. */
281826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_RESOLUTIONTYPE;
282826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
283826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_TIMESTAMPTYPE {
284826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nHour; /**< The hour portion of the time stamp, based on a 24-hour format. */
285826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMinute; /**< The minute portion of the time stamp. */
286826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSecond; /**< The second portion of the time stamp. */
287826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMillisecond; /**< the millisecond portion of the time stamp. */
288826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_TIMESTAMPTYPE;
289826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
290826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_DATESTAMPTYPE {
291826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nYear;  /**< The year portion of the date stamp. */
292826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMonth; /**< The monthportion of the date stamp. Valid values are 1 to 12.*/
293826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nDay; /**< The day portion of the date stamp. Valid values are 1 to 31 depending on the month specified.*/
294826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_DATESTAMPTYPE;
295826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
296826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_GEODETICREFTYPE {
297826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GeodeticRefNorth,  /**< North latitude. */
298826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GeodeticRefSouth,  /**< South latitude. */
299826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GeodeticRefEast,   /**< East longitude. */
300826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GeodeticRefWest    /**< West longitude. */
301826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_GEODETICREFTYPE;
302826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
303826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** QOMX_GEODETICANGLETYPE is used to set geodetic angle coordinates on an ellipsoid (the Earth),
304826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevand is explicitly used to specify latitude and longitude.  This structure is referenced by QOMX_GEODETICTYPE. */
305826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_GEODETICANGLETYPE {
306826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GEODETICREFTYPE eReference; /**< Indicates whether the geodetic angle is a latitude or longitude. */
307826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nDegree; /**< The degree of the latitude or longitude. */
308826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMinute; /**< The minute of the latitude or longitude. */
309826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSecond; /**< The second of the latitude or longitude. */
310826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_GEODETICANGLETYPE;
311826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
312826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_ALTITUDEREFTYPE {
313826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AltitudeRefSeaLevel, /**< At sea level. */
314826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_AltitudeRefBelowSeaLevel /**< Below sea level. */
315826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_ALTITUDEREFTYPE;
316826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
317826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_ALTITUDETYPE {
318826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_ALTITUDEREFTYPE eReference; /**< The reference point for the altitude. */
319826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMeter; /**< The absolute value of the number of meters above or below sea level. */
320826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMillimeter; /**< The absolute value of the number of millimeters above or below sea level. */
321826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_ALTITUDETYPE;
322826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
323826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/** QOMX_GEODETICTYPE is used to set geodetic coordinates such as longitude, latitude, and altitude.
324826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan MalchevThis structure references QOMX_GEODETICANGLETYPE and QOMX_ALTITUDETYPE. */
325826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_GEODETICTYPE {
326826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GEODETICANGLETYPE sLatitude; /**< Indicates the latitude.*/
327826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_GEODETICANGLETYPE sLongitude; /**< Indicates the longitude.*/
328826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_ALTITUDETYPE sAltitude; /**< Indicates the altitude.*/
329826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_GEODETICTYPE;
330826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
331826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
332826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_IMAGE_IMAGESIZECONTROLTYPE {
333826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSize;
334826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_VERSIONTYPE nVersion;
335826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nPortIndex; /**< port index on which size control needs to be applied */
336826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nTargetImageSize; /**< expected max target size in Bytes */
337826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_IMAGE_IMAGESIZECONTROLTYPE;
338826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
339826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_URITYPE {
340826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_URITYPE_RTSP, /**< RTSP URI Type. */
341826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_URITYPE_HTTP, /**< HTTP URI Type. */
342826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_URITYPE_LOCAL /**< Local URI Type.(i.e Non Network) */
343826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}QOMX_URITYPE;
344826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
345826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
346826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef enum QOMX_STREAMTYPE {
347826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_STREAMTYPE_VOD, /**< Video On demand Stream */
348826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_STREAMTYPE_LIVE,/**< Live Stream */
349826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_STREAMTYPE_FILE /**< File based Stream */
350826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}QOMX_STREAMTYPE;
351826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
352826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
353826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_MEDIASTREAMTYPE{
354826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_URITYPE eURIType;
355826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    QOMX_STREAMTYPE eStreamType;
356826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}QOMX_MEDIASTREAMTYPE;
357826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
358826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
359826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
360826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * This structure specifies the parameters associated with each
361826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev * plane of the uncompressed image/video format.
362826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
363826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_PLANEDEFINITIONTYPE {
364826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nSize;
365826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_VERSIONTYPE nVersion;
366826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nPortIndex;               /**< Represents the port that this structure applies to */
367826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nPlaneIndex;              /**< Specifies the plane enumeration index that this structure applies to, starting with a base value of 1 */
368826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMinStride;               /**< Read-only parameter that specifies the minimum buffer stride */
369826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMaxStride;               /**< Read-only parameter that specifies the maximum buffer stride */
370826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nStrideMultiples;         /**< Read-only parameter that specifies the buffer stride multiple supported */
371826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_S32 nActualStride;            /**< Specifies the actual stride to be applied */
372826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nMinPlaneBufferHeight;    /**< Read-only parameter that specifies the minimum buffer height (number of stride lines) */
373826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nActualPlaneBufferHeight; /**< Specifies the actual buffer height (number of stride lines) to be applied */
374826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nBufferSize;              /**< Read-only parameter that specifies the minimum size of the buffer, in bytes */
375826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev    OMX_U32 nBufferAlignment;         /**< Read-only field that specifies the required alignment of the buffer, in bytes */
376826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_PLANEDEFINITIONTYPE;
377826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
378826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev/**
379826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  Pause port parameters
380826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *
381826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  STRUCT MEMBERS:
382826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nSize           : Size of the structure in bytes
383826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nVersion        : OMX specification version information
384826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  nPortIndex      : Index of port that this structure represent
385826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *  bPausePort      : Boolean field which indicates if port is paused or resume. By default bPausePort = OMX_FALSE
386826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev *                    & port will be paused when bPausePort = OMX_TRUE
387826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev */
388826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevtypedef struct QOMX_CONFIG_PAUSEPORTTYPE {
389826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev  OMX_U32 nSize;
390826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev  OMX_VERSIONTYPE nVersion;
391826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev  OMX_U32 nPortIndex;                /**< Represents the port that this structure applies to */
392826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev  OMX_BOOL bPausePort;               /**< Specifies if port need to PAUSE or RESUME */
393826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev} QOMX_CONFIG_PAUSEPORTTYPE;
394826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
395826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#if defined( __cplusplus )
396826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}
397826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* end of macro __cplusplus */
398826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev
399826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif /* end of macro __H_QOMX_IVCOMMONEXTENSIONS_H__ */
400