1 /*-------------------------------------------------------------------------- 2 Copyright (c) 2011 The Linux Foundation. All rights reserved. 3 4 Redistribution and use in source and binary forms, with or without 5 modification, are permitted provided that the following conditions are met: 6 * Redistributions of source code must retain the above copyright 7 notice, this list of conditions and the following disclaimer. 8 * Redistributions in binary form must reproduce the above copyright 9 notice, this list of conditions and the following disclaimer in the 10 documentation and/or other materials provided with the distribution. 11 * Neither the name of The Linux Foundation nor 12 the names of its contributors may be used to endorse or promote 13 products derived from this software without specific prior written 14 permission. 15 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 23 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 25 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 26 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 --------------------------------------------------------------------------*/ 28 29 #ifndef __H_QOMX_IVCOMMONEXTENSIONS_H__ 30 #define __H_QOMX_IVCOMMONEXTENSIONS_H__ 31 32 /*======================================================================== 33 34 *//** @file QOMX_CommonExtensions.h 35 36 @par FILE SERVICES: 37 common extensions API for OpenMax IL. 38 39 This file contains the description of the Qualcomm OpenMax IL 40 common extention interface, through which the IL client and OpenMax 41 components can access additional capabilities. 42 43 *//*====================================================================== */ 44 45 46 /*======================================================================== 47 48 INCLUDE FILES FOR MODULE 49 50 ========================================================================== */ 51 #include <OMX_Core.h> 52 53 /*======================================================================== 54 55 DEFINITIONS AND DECLARATIONS 56 57 ========================================================================== */ 58 59 #if defined( __cplusplus ) 60 extern "C" 61 { 62 #endif /* end of macro __cplusplus */ 63 64 /* IV common extension strings */ 65 #define OMX_QCOM_INDEX_CONFIG_MEDIAINFO "OMX.QCOM.index.config.mediainfo" /**< reference: QOMX_MEDIAINFOTYPE */ 66 #define OMX_QCOM_INDEX_CONFIG_CONTENTURI "OMX.QCOM.index.config.contenturi" /**< reference: OMX_PARAM_CONTENTURITYPE */ 67 #define OMX_QCOM_INDEX_PARAM_IMAGESIZECONTROL "OMX.Qualcomm.index.param.ImageSizeControl" /**< reference: QOMX_IMAGE_IMAGESIZECONTROLTYPE */ 68 #define OMX_QCOM_INDEX_CONFIG_PAUSEPORT "OMX.QCOM.index.config.PausePort" /**< reference: QOMX_CONFIG_PAUSEPORTTYPE */ 69 70 /** reference: QOMX_URANGETYPE 71 * nMin, nMax, nStepSize give width in pixels */ 72 #define OMX_QCOM_INDEX_PARAM_FRAMEWIDTHRANGESUPPORTED "OMX.QCOM.index.param.FrameWidthRangeSupported" 73 74 /** reference: QOMX_URANGETYPE 75 * nMin, nMax, nStepSize give height in pixels */ 76 #define OMX_QCOM_INDEX_PARAM_FRAMEHEIGHTRANGESUPPORTED "OMX.QCOM.index.param.FrameHeightRangeSupported" 77 78 /** reference: QOMX_URANGETYPE 79 * nMin, nMax, nStepSize give the number of macroblocks per 80 * frame. */ 81 #define OMX_QCOM_INDEX_PARAM_MACROBLOCKSPERFRAMERANGESUPPORTED "OMX.QCOM.index.param.MacroblocksPerFrameRangeSupported" 82 83 /** reference: QOMX_URANGETYPE 84 * nMin, nMax, nStepSize give the number of macroblocks per 85 * second. */ 86 #define OMX_QCOM_INDEX_PARAM_MACROBLOCKSPERSECONDRANGESUPPORTED "OMX.QCOM.index.param.MacroblocksPerSecondRangeSupported" 87 88 /** reference: QOMX_URANGETYPE 89 * nMin, nMax, nStepSize give frame rate in frames per second 90 * in Q16 format. */ 91 #define OMX_QCOM_INDEX_PARAM_FRAMERATERANGESUPPORTED "OMX.QCOM.index.param.FrameRateRangeSupported" 92 93 #define OMX_QCOM_INDEX_PARAM_PLANEDEFINITION "OMX.QCOM.index.param.PlaneDefinition" /** reference: QOMX_PLANEDEFINITIONTYPE */ 94 95 /** reference: QOMX_URANGETYPE 96 * nMin, nMax, nStepSize give the crop width in pixels */ 97 #define OMX_QOMX_INDEX_PARAM_CROPWIDTHRANGESUPPORTED "OMX.QCOM.index.param.CropWidthRangeSupported" 98 99 /** reference: QOMX_URANGETYPE 100 * nMin, nMax, nStepSize give the crop height in pixels */ 101 #define OMX_QOMX_INDEX_PARAM_CROPHEIGHTRANGESUPPORTED "OMX.QCOM.index.param.CropHeightRangeSupported" 102 103 /** reference: QOMX_URANGETYPE 104 * nMin, nMax, nStepSize give the digital zoom factor on width 105 * in Q16 format. */ 106 #define OMX_QCOM_INDEX_PARAM_DIGITALZOOMWIDTHRANGESUPPORTED "OMX.QCOM.index.param.DigitalZoomWidthRangeSupported" 107 108 /** reference: QOMX_URANGETYPE 109 * nMin, nMax, nStepSize give the digital zoom factor on height 110 * in Q16 format. */ 111 #define OMX_QCOM_INDEX_PARAM_DIGITALZOOMHEIGHTRANGESUPPORTED "OMX.QCOM.index.param.DigitalZoomHeightRangeSupported" 112 113 /** 114 * Enumeration defining the extended uncompressed image/video 115 * formats. 116 * 117 * ENUMS: 118 * YVU420PackedSemiPlanar : Buffer containing all Y, and then V and U 119 * interleaved. 120 * YVU420PackedSemiPlanar32m4ka : YUV planar format, similar to the 121 * YVU420PackedSemiPlanar format, but with the 122 * following restrictions: 123 * 124 * 1. The width and height of both plane must 125 * be a multiple of 32 texels. 126 * 127 * 2. The base address of both planes must be 128 * aligned to a 4kB boundary. 129 * 130 * YUV420PackedSemiPlanar16m2ka : YUV planar format, similar to the 131 * YUV420PackedSemiPlanar format, but with the 132 * following restrictions: 133 * 134 * 1. The width of the luma plane must be a 135 * multiple of 16 pixels. 136 * 137 * 2. The address of both planes must be 138 * aligned to a 2kB boundary. 139 * 140 * YUV420PackedSemiPlanar64x32Tile2m8ka : YUV planar format, similar to the 141 * YUV420PackedSemiPlanar format, but with the 142 * following restrictions: 143 * 144 * 1. The data is laid out in a 4x2 MB tiling 145 * memory structure 146 * 147 * 2. The width of each plane is a multiple of 148 * 2 4x2 MB tiles. 149 * 150 * 3. The height of each plan is a multiple of 151 * a 4x2 MB tile. 152 * 153 * 4. The base address of both planes must be 154 * aligned to an 8kB boundary. 155 * 156 * 5. The tiles are scanned in the order 157 * defined in the MFCV5.1 User's Manual. 158 */ 159 typedef enum QOMX_COLOR_FORMATTYPE 160 { 161 QOMX_COLOR_FormatYVU420PackedSemiPlanar = 0x7F000001, 162 QOMX_COLOR_FormatYVU420PackedSemiPlanar32m4ka, 163 QOMX_COLOR_FormatYUV420PackedSemiPlanar16m2ka, 164 QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka, 165 QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m, 166 } QOMX_COLOR_FORMATTYPE; 167 168 typedef enum QOMX_MEDIAINFOTAGTYPE { 169 QOMX_MediaInfoTagVersion, /**< OMX_VERSIONTYPE. Version of the standard specifying the media information.*/ 170 QOMX_MediaInfoTagUID, /**< OMX_U8*. Unique ID of the media data, ie image unique ID.*/ 171 QOMX_MediaInfoTagDescription, /**< OMX_U8*. Comments about the media.*/ 172 QOMX_MediaInfoTagTitle, /**< OMX_U8*. Title of the media.*/ 173 QOMX_MediaInfoTagAuthor, /**< OMX_U8*. Author of the media.*/ 174 QOMX_MediaInfoTagCopyright, /**< OMX_U8*. Copyright information.*/ 175 QOMX_MediaInfoTagTrackNum, /**< OMX_U32. Track number.*/ 176 QOMX_MediaInfoTagGenre, /**< OMX_U8*. The genre of the media.*/ 177 QOMX_MediaInfoTagEquipmentMake, /**< OMX_U8*. Manufacturer of recording equipment.*/ 178 QOMX_MediaInfoTagEquipmentModel,/**< OMX_U8*. Model or name of the recording equipment.*/ 179 QOMX_MediaInfoTagSoftware, /**< OMX_U8*. Name and version of the software or firmware of the device generating the media.*/ 180 QOMX_MediaInfoTagAssociatedFile,/**< OMX_U8*. The name of the file related to the media. For example, an audio file related to an image file.*/ 181 QOMX_MediaInfoTagResolution, /**< QOMX_RESOLUTIONTYPE. Number of pixels per resolution unit.*/ 182 QOMX_MediaInfoTagDateCreated, /**< QOMX_DATESTAMPTYPE. Date when media was created.*/ 183 QOMX_MediaInfoTagTimeCreated, /**< QOMX_TIMESTAMPTYPE. Time when media was created.*/ 184 QOMX_MediaInfoTagDateModified, /**< QOMX_DATESTAMPETYPE. Date when file was last modified.*/ 185 QOMX_MediaInfoTagTimeModified, /**< QOMX_TIMESTAMPTYPE. Time when file was last modified.*/ 186 QOMX_MediaInfoTagGPSAreaName, /**< OMX_U8*. The name of the location.*/ 187 QOMX_MediaInfoTagGPSVersion, /**< OMX_VERSIONTYPE. GPS version.*/ 188 QOMX_MediaInfoTagGPSCoordinates,/**< QOMX_GEODETICTYPE. The longitude, latitude, and altitude.*/ 189 QOMX_MediaInfoTagGPSSatellites, /**< OMX_U8*. The GPS satellites used for measurements.*/ 190 QOMX_MediaInfoTagGPSPrecision, /**< OMX_U32. GPS degree of precision.*/ 191 QOMX_MediaInfoTagGPSDateStamp, /**< QOMX_DATESTAMPTYPE. Date of the GPS data.*/ 192 QOMX_MediaInfoTagGPSTimeStamp, /**< QOMX_TIMESTAMPTYPE. Time of the GPS data.*/ 193 QOMX_MediaInfoTagMediaStreamType,/**< QOMX_MEDIASTREAMTYPE. Type of the stream. */ 194 QOMX_MediaInfoDuration, /**< OMX_TICKS. Total duration of the media.*/ 195 QOMX_MediaInfoSize, /**< OMX_U32. Total size of the media in bytes.*/ 196 QOMX_MediaInfoTagAlbum, /**< OMX_U8*. Name of album/movie/show.*/ 197 QOMX_MediaInfoTagLocation, /**< OMX_U8*. Recording location information.*/ 198 QOMX_MediaInfoTagClassification, /**< OMX_U8*. Classification information of media.*/ 199 QOMX_MediaInfoTagRatings, /**< OMX_U8*. Media Ratings based on popularity & rating criteria.*/ 200 QOMX_MediaInfoTagKeyword, /**< OMX_U8*. Keyword associated with media which are intended to reflect mood of the A/V.*/ 201 QOMX_MediaInfoTagPerformance, /**< OMX_U8*. Media Performer information..*/ 202 QOMX_MediaInfoTagYear, /**< OMX_U8*. Production year information of media.*/ 203 QOMX_MediaInfoTagComposer, /**< OMX_U8*. Name of the composer of media i.e. audio.*/ 204 QOMX_MediaInfoTagEncoderName, /**< OMX_U8*. Name of the person or organisation who encoded media.*/ 205 QOMX_MediaInfoTagCopyProhibitFlag, /**< OMX_U8*. Flag to indicate if copy is allowed or not.*/ 206 QOMX_MediaInfoTagLyricist, /**< OMX_U8*. Name of the lyricist or text writer in recording. Specific to ID3 tag.*/ 207 QOMX_MediaInfoTagSubtitle, /**< OMX_U8*. Subtitle/Description used for informaton directly related to title of media.*/ 208 QOMX_MediaInfoTagOriginalFileName, /**< OMX_U8*. Original file name.*/ 209 QOMX_MediaInfoTagOriginalLyricist, /**< OMX_U8*. Name of the original lyricist/text writer of original recording.*/ 210 QOMX_MediaInfoTagOriginalArtist, /**< OMX_U8*. Name of the original artist.*/ 211 QOMX_MediaInfoTagOriginalReleaseYear, /**< OMX_U8*. Original release year of recorded media.*/ 212 QOMX_MediaInfoTagFileOwner, /**< OMX_U8*. Licensee or name of the file owner.*/ 213 QOMX_MediaInfoTagOrchestra, /**< OMX_U8*. Name of the orchestra or performers during recording.*/ 214 QOMX_MediaInfoTagConductor, /**< OMX_U8*. Name of the conductor.*/ 215 QOMX_MediaInfoTagRemixedBy, /**< OMX_U8*. Person or organization name who did the remix.*/ 216 QOMX_MediaInfoTagAlbumArtist, /**< OMX_U8*. Name of the album artist.*/ 217 QOMX_MediaInfoTagPublisher, /**< OMX_U8*. Name of the publisher or label.*/ 218 QOMX_MediaInfoTagRecordingDates, /**< OMX_U8*. Recording date of media.*/ 219 QOMX_MediaInfoTagInternetRadioStationName, /**< OMX_U8*. Name of the Internet radio station from which the audio is streamed.*/ 220 QOMX_MediaInfoTagInternetRadioStationOwner, /**< OMX_U8*. Name of the owner of the Internet radio station from which the audio is streamed.*/ 221 QOMX_MediaInfoTagInternationalRecordingCode,/**< OMX_U8*. International standard recording code.*/ 222 QOMX_MediaInfoTagEncoderSwHwSettings, /**< OMX_U8*. Software,hardware settings used by encoder.*/ 223 QOMX_MediaInfoTagInvolvedPeopleList, /**< OMX_U8*. List of people involved. Specific to ID3 tag.*/ 224 QOMX_MediaInfoTagComments, /**< OMX_U8*. Comments about the media. It can be any kind of full text informaton.*/ 225 QOMX_MediaInfoTagCommissioned, /**< OMX_U8*. Commissioned information of media.*/ 226 QOMX_MediaInfoTagSubject, /**< OMX_U8*. Subject associated with media.*/ 227 QOMX_MediaInfoTagContact, /**< OMX_U8*. Conatct information. URL information of the seller.*/ 228 QOMX_MediaInfoTagValidityPeriod, /**< OMX_U8*. Length or period of validity of media.*/ 229 QOMX_MediaInfoTagValidityEffectiveDate, /**< OMX_U8*. Validity effective date of media*/ 230 QOMX_MediaInfoTagNumberOfAllowedPlaybacks, /**< OMX_U8*. Number of allowed playbacks for this media*/ 231 QOMX_MediaInfoTagPlayCounter, /**< OMX_U8*. Current play counter of the media.Its number of times a file has been played.*/ 232 QOMX_MediaInfoTagMemo, /**< OMX_U8*. Memo associatd with media.*/ 233 QOMX_MediaInfoTagDeviceName, /**< OMX_U8*. Name of the devices used in creating media.*/ 234 QOMX_MediaInfoTagURL, /**< OMX_U8*. List artist /genre /movie sites URL.*/ 235 QOMX_MediaInfoTagFileType, /**< OMX_U8*. Indicates type of audio track.*/ 236 QOMX_MediaInfoTagContentGroupDesc, /**< OMX_U8*. Content group description if the sound belongs to a larger category of of music /sound.*/ 237 QOMX_MediaInfoTagInitialKeys, /**< OMX_U8*. Contains the musical key in which media starts.*/ 238 QOMX_MediaInfoTagLanguages, /**< OMX_U8*. Languages of the text or lyrics spoken or sung in the media.*/ 239 QOMX_MediaInfoTagMediaType, /**< OMX_U8*. Describes from which media the media sound originated.*/ 240 QOMX_MediaInfoTagPlaylistDelay, /**< OMX_U8*. Denotes number of milliseconds between each song of the playlist.*/ 241 QOMX_MediaInfoTagBeatsPerMinute, /**< OMX_U8*. Number of beats per minute in main part of audio.*/ 242 QOMX_MediaInfoTagPartOfSet, /**< OMX_U8*. Describes part of the set selected or played. */ 243 QOMX_MediaInfoTagInstrumentName, /**< OMX_U8*. Name of the instrument used in creating media.*/ 244 QOMX_MediaInfoTagLyrics, /**< OMX_U8*. Lyrics of the media/audio track.*/ 245 QOMX_MediaInfoTagTrackName, /**< OMX_U8*. Name of the media/audio track.*/ 246 QOMX_MediaInfoTagMarker, /**< OMX_U8*. Text string cotnents placed at a specific location to denote information about the music at that point.*/ 247 QOMX_MediaInfoTagCuePoint, /**< OMX_U8*. Subset of the content which can be optionally played.*/ 248 QOMX_MediaInfoTagGPSPositioningName, /**< OMX_U8*. GPS positioning name. */ 249 QOMX_MediaInfoTagGPSPositioningMethod, /**< OMX_U8*. GPS positioning method.*/ 250 QOMX_MediaInfoTagGPSSurveyData, /**< OMX_U8*. GPS survey data. */ 251 QOMX_MediaInfoTagGPSByteOrder, /**< OMX_U16.GPS byte order. */ 252 QOMX_MediaInfoTagGPSLatitudeRef, /**< OMX_U32.Reference GPS latitude. */ 253 QOMX_MediaInfoTagGPSLongitudeRef, /**< OMX_U32.Reference GPS longitude */ 254 QOMX_MediaInfoTagGPSAltitudeRef, /**< OMX_U32. Reference GPS altitude.*/ 255 QOMX_MediaInfoTagGPSExtensionMapScaleInfo, /**< OMX_U64. GPS extension map scale information.*/ 256 QOMX_MediaInfoTagUUIDAtomInfo, /**< OMX_U8*. The user defined data associated with UUID.*/ 257 QOMX_MediaInfoTagUUIDAtomCount, /**< OMX_U32 UUID atom count.*/ 258 QOMX_MediaInfoTagLocationRole, /**< OMX_32. Indicates the role of the place. i.e. 0 indicate shooting location'. 1 real location.*/ 259 QOMX_MediaInfoTagAstronomicalBody, /**< OMX_U8*. Astronomical body on which the location exists.*/ 260 QOMX_MediaInfoTagUserInfoData /**< OMX_U8*. The user defined tag informaton.*/ 261 } QOMX_MEDIAINFOTAGTYPE; 262 263 typedef struct QOMX_MEDIAINFOTYPE { 264 OMX_U32 nSize; 265 OMX_VERSIONTYPE nVersion; 266 OMX_U32 nPortIndex; /**< Read-only value containing the index of the output port. */ 267 QOMX_MEDIAINFOTAGTYPE eTag; /**< The type of media info being specified. */ 268 OMX_U32 nDataSize; /**< The size of the associated cData. Set nDataSize to 0 to retrieve the size required for cData. */ 269 OMX_U8 cData[1]; /**< The media data info */ 270 } QOMX_MEDIAINFOTYPE; 271 272 273 typedef enum QOMX_RESOLUTIONUNITTYPE { 274 QOMX_ResolutionUnitInch, 275 QOMX_ResolutionCentimeter 276 } QOMX_RESOLUTIONUNITTYPE; 277 278 typedef struct QOMX_RESOLUTIONTYPE { 279 QOMX_RESOLUTIONUNITTYPE eUnit; /**< The unit of measurement. */ 280 OMX_U32 nX; /**< The number of pixels per unit in the width direction. */ 281 OMX_U32 nY; /**< The number of pixels per unit in the height direction. */ 282 } QOMX_RESOLUTIONTYPE; 283 284 typedef struct QOMX_TIMESTAMPTYPE { 285 OMX_U32 nHour; /**< The hour portion of the time stamp, based on a 24-hour format. */ 286 OMX_U32 nMinute; /**< The minute portion of the time stamp. */ 287 OMX_U32 nSecond; /**< The second portion of the time stamp. */ 288 OMX_U32 nMillisecond; /**< the millisecond portion of the time stamp. */ 289 } QOMX_TIMESTAMPTYPE; 290 291 typedef struct QOMX_DATESTAMPTYPE { 292 OMX_U32 nYear; /**< The year portion of the date stamp. */ 293 OMX_U32 nMonth; /**< The monthportion of the date stamp. Valid values are 1 to 12.*/ 294 OMX_U32 nDay; /**< The day portion of the date stamp. Valid values are 1 to 31 depending on the month specified.*/ 295 } QOMX_DATESTAMPTYPE; 296 297 typedef enum QOMX_GEODETICREFTYPE { 298 QOMX_GeodeticRefNorth, /**< North latitude. */ 299 QOMX_GeodeticRefSouth, /**< South latitude. */ 300 QOMX_GeodeticRefEast, /**< East longitude. */ 301 QOMX_GeodeticRefWest /**< West longitude. */ 302 } QOMX_GEODETICREFTYPE; 303 304 /** QOMX_GEODETICANGLETYPE is used to set geodetic angle coordinates on an ellipsoid (the Earth), 305 and is explicitly used to specify latitude and longitude. This structure is referenced by QOMX_GEODETICTYPE. */ 306 typedef struct QOMX_GEODETICANGLETYPE { 307 QOMX_GEODETICREFTYPE eReference; /**< Indicates whether the geodetic angle is a latitude or longitude. */ 308 OMX_U32 nDegree; /**< The degree of the latitude or longitude. */ 309 OMX_U32 nMinute; /**< The minute of the latitude or longitude. */ 310 OMX_U32 nSecond; /**< The second of the latitude or longitude. */ 311 } QOMX_GEODETICANGLETYPE; 312 313 typedef enum QOMX_ALTITUDEREFTYPE { 314 QOMX_AltitudeRefSeaLevel, /**< At sea level. */ 315 QOMX_AltitudeRefBelowSeaLevel /**< Below sea level. */ 316 } QOMX_ALTITUDEREFTYPE; 317 318 typedef struct QOMX_ALTITUDETYPE { 319 QOMX_ALTITUDEREFTYPE eReference; /**< The reference point for the altitude. */ 320 OMX_U32 nMeter; /**< The absolute value of the number of meters above or below sea level. */ 321 OMX_U32 nMillimeter; /**< The absolute value of the number of millimeters above or below sea level. */ 322 } QOMX_ALTITUDETYPE; 323 324 /** QOMX_GEODETICTYPE is used to set geodetic coordinates such as longitude, latitude, and altitude. 325 This structure references QOMX_GEODETICANGLETYPE and QOMX_ALTITUDETYPE. */ 326 typedef struct QOMX_GEODETICTYPE { 327 QOMX_GEODETICANGLETYPE sLatitude; /**< Indicates the latitude.*/ 328 QOMX_GEODETICANGLETYPE sLongitude; /**< Indicates the longitude.*/ 329 QOMX_ALTITUDETYPE sAltitude; /**< Indicates the altitude.*/ 330 } QOMX_GEODETICTYPE; 331 332 333 typedef struct QOMX_IMAGE_IMAGESIZECONTROLTYPE { 334 OMX_U32 nSize; 335 OMX_VERSIONTYPE nVersion; 336 OMX_U32 nPortIndex; /**< port index on which size control needs to be applied */ 337 OMX_U32 nTargetImageSize; /**< expected max target size in Bytes */ 338 } QOMX_IMAGE_IMAGESIZECONTROLTYPE; 339 340 typedef enum QOMX_URITYPE { 341 QOMX_URITYPE_RTSP, /**< RTSP URI Type. */ 342 QOMX_URITYPE_HTTP, /**< HTTP URI Type. */ 343 QOMX_URITYPE_LOCAL /**< Local URI Type.(i.e Non Network) */ 344 }QOMX_URITYPE; 345 346 347 typedef enum QOMX_STREAMTYPE { 348 QOMX_STREAMTYPE_VOD, /**< Video On demand Stream */ 349 QOMX_STREAMTYPE_LIVE,/**< Live Stream */ 350 QOMX_STREAMTYPE_FILE /**< File based Stream */ 351 }QOMX_STREAMTYPE; 352 353 354 typedef struct QOMX_MEDIASTREAMTYPE{ 355 QOMX_URITYPE eURIType; 356 QOMX_STREAMTYPE eStreamType; 357 }QOMX_MEDIASTREAMTYPE; 358 359 360 /** 361 * This structure specifies the parameters associated with each 362 * plane of the uncompressed image/video format. 363 */ 364 typedef struct QOMX_PLANEDEFINITIONTYPE { 365 OMX_U32 nSize; 366 OMX_VERSIONTYPE nVersion; 367 OMX_U32 nPortIndex; /**< Represents the port that this structure applies to */ 368 OMX_U32 nPlaneIndex; /**< Specifies the plane enumeration index that this structure applies to, starting with a base value of 1 */ 369 OMX_U32 nMinStride; /**< Read-only parameter that specifies the minimum buffer stride */ 370 OMX_U32 nMaxStride; /**< Read-only parameter that specifies the maximum buffer stride */ 371 OMX_U32 nStrideMultiples; /**< Read-only parameter that specifies the buffer stride multiple supported */ 372 OMX_S32 nActualStride; /**< Specifies the actual stride to be applied */ 373 OMX_U32 nMinPlaneBufferHeight; /**< Read-only parameter that specifies the minimum buffer height (number of stride lines) */ 374 OMX_U32 nActualPlaneBufferHeight; /**< Specifies the actual buffer height (number of stride lines) to be applied */ 375 OMX_U32 nBufferSize; /**< Read-only parameter that specifies the minimum size of the buffer, in bytes */ 376 OMX_U32 nBufferAlignment; /**< Read-only field that specifies the required alignment of the buffer, in bytes */ 377 } QOMX_PLANEDEFINITIONTYPE; 378 379 /** 380 * Pause port parameters 381 * 382 * STRUCT MEMBERS: 383 * nSize : Size of the structure in bytes 384 * nVersion : OMX specification version information 385 * nPortIndex : Index of port that this structure represent 386 * bPausePort : Boolean field which indicates if port is paused or resume. By default bPausePort = OMX_FALSE 387 * & port will be paused when bPausePort = OMX_TRUE 388 */ 389 typedef struct QOMX_CONFIG_PAUSEPORTTYPE { 390 OMX_U32 nSize; 391 OMX_VERSIONTYPE nVersion; 392 OMX_U32 nPortIndex; /**< Represents the port that this structure applies to */ 393 OMX_BOOL bPausePort; /**< Specifies if port need to PAUSE or RESUME */ 394 } QOMX_CONFIG_PAUSEPORTTYPE; 395 396 #if defined( __cplusplus ) 397 } 398 #endif /* end of macro __cplusplus */ 399 400 #endif /* end of macro __H_QOMX_IVCOMMONEXTENSIONS_H__ */ 401