OMX_Other.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2007 The Khronos Group Inc. 
00003  * 
00004  * Permission is hereby granted, free of charge, to any person obtaining
00005  * a copy of this software and associated documentation files (the
00006  * "Software"), to deal in the Software without restriction, including
00007  * without limitation the rights to use, copy, modify, merge, publish,
00008  * distribute, sublicense, and/or sell copies of the Software, and to
00009  * permit persons to whom the Software is furnished to do so, subject
00010  * to the following conditions: 
00011  * The above copyright notice and this permission notice shall be included
00012  * in all copies or substantial portions of the Software. 
00013  * 
00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00015  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00016  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00017  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
00018  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
00019  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
00020  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
00021  *
00022  */
00023 
00029 #ifndef OMX_Other_h
00030 #define OMX_Other_h
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif /* __cplusplus */
00035 
00036 
00037 /* Each OMX header must include all required header files to allow the
00038  *  header to compile without errors.  The includes below are required
00039  *  for this header file to compile successfully 
00040  */
00041 
00042 #include <OMX_Core.h>
00043 
00044 
00050 typedef enum OMX_OTHER_FORMATTYPE {
00051     OMX_OTHER_FormatTime = 0, 
00053     OMX_OTHER_FormatPower,    
00055     OMX_OTHER_FormatStats,    
00057     OMX_OTHER_FormatBinary,   
00058     OMX_OTHER_FormatVendorReserved = 1000, 
00061     OMX_OTHER_FormatMax = 0x7FFFFFFF
00062 } OMX_OTHER_FORMATTYPE;
00063 
00067 typedef enum OMX_TIME_SEEKMODETYPE {
00068     OMX_TIME_SeekModeFast = 0, 
00072     OMX_TIME_SeekModeAccurate, 
00076     OMX_TIME_SeekModeMax = 0x7FFFFFFF
00077 } OMX_TIME_SEEKMODETYPE;
00078 
00079 /* Structure representing the seekmode of the component */
00080 typedef struct OMX_TIME_CONFIG_SEEKMODETYPE {
00081     OMX_U32 nSize;                  
00082     OMX_VERSIONTYPE nVersion;       
00083     OMX_TIME_SEEKMODETYPE eType;    
00084 } OMX_TIME_CONFIG_SEEKMODETYPE;
00085 
00108 typedef struct OMX_TIME_CONFIG_TIMESTAMPTYPE {
00109     OMX_U32 nSize;               
00110     OMX_VERSIONTYPE nVersion;    
00112     OMX_U32 nPortIndex;     
00113     OMX_TICKS nTimestamp;        
00114 } OMX_TIME_CONFIG_TIMESTAMPTYPE;  
00115 
00117 typedef enum OMX_TIME_UPDATETYPE {
00118       OMX_TIME_UpdateRequestFulfillment,    
00119       OMX_TIME_UpdateScaleChanged,          
00120       OMX_TIME_UpdateClockStateChanged,     
00121       OMX_TIME_UpdateMax = 0x7FFFFFFF
00122 } OMX_TIME_UPDATETYPE;
00123 
00125 typedef enum OMX_TIME_REFCLOCKTYPE {
00126       OMX_TIME_RefClockNone,    
00127       OMX_TIME_RefClockAudio,   
00128       OMX_TIME_RefClockVideo,   
00129       OMX_TIME_RefClockMax = 0x7FFFFFFF
00130 } OMX_TIME_REFCLOCKTYPE;
00131 
00133 typedef enum OMX_TIME_CLOCKSTATE {
00134       OMX_TIME_ClockStateRunning,             
00135       OMX_TIME_ClockStateWaitingForStartTime, 
00138       OMX_TIME_ClockStateStopped,             
00139       OMX_TIME_ClockStateMax = 0x7FFFFFFF
00140 } OMX_TIME_CLOCKSTATE;
00141 
00165 typedef struct OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE {
00166     OMX_U32 nSize;              
00167     OMX_VERSIONTYPE nVersion;   
00168     OMX_U32 nPortIndex;         
00169     OMX_PTR pClientPrivate;     
00174     OMX_TICKS nMediaTimestamp;  
00175     OMX_TICKS nOffset;          
00177 } OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE;
00178 
00206 typedef struct OMX_TIME_MEDIATIMETYPE {
00207     OMX_U32 nSize;                  
00208     OMX_VERSIONTYPE nVersion;       
00209     OMX_U32 nClientPrivate;         
00212     OMX_TIME_UPDATETYPE eUpdateType; 
00213     OMX_TICKS nMediaTimestamp;      
00215     OMX_TICKS nOffset;              
00218     OMX_TICKS nWallTimeAtMediaTime; 
00223     OMX_S32 xScale;                 
00224     OMX_TIME_CLOCKSTATE eState;     /* Seeking Change. Added 7/12.*/
00226 } OMX_TIME_MEDIATIMETYPE;  
00227 
00233 typedef struct OMX_TIME_CONFIG_SCALETYPE {
00234     OMX_U32 nSize;                  
00235     OMX_VERSIONTYPE nVersion;       
00236     OMX_S32 xScale;                 
00238 } OMX_TIME_CONFIG_SCALETYPE;
00239  
00241 #define OMX_CLOCKPORT0 0x00000001
00242 #define OMX_CLOCKPORT1 0x00000002
00243 #define OMX_CLOCKPORT2 0x00000004
00244 #define OMX_CLOCKPORT3 0x00000008
00245 #define OMX_CLOCKPORT4 0x00000010
00246 #define OMX_CLOCKPORT5 0x00000020
00247 #define OMX_CLOCKPORT6 0x00000040
00248 #define OMX_CLOCKPORT7 0x00000080
00249 
00262 typedef struct OMX_TIME_CONFIG_CLOCKSTATETYPE {
00263     OMX_U32 nSize;              
00264     OMX_VERSIONTYPE nVersion;   
00266     OMX_TIME_CLOCKSTATE eState; 
00267     OMX_TICKS nStartTime;       
00268     OMX_TICKS nOffset;          
00272     OMX_U32 nWaitMask;          
00273 } OMX_TIME_CONFIG_CLOCKSTATETYPE;
00274 
00278 typedef struct OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE {
00279     OMX_U32 nSize;                  
00280     OMX_VERSIONTYPE nVersion;       
00281     OMX_TIME_REFCLOCKTYPE eClock;   
00282 } OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE;
00283 
00285 typedef struct OMX_OTHER_CONFIG_POWERTYPE {
00286     OMX_U32 nSize;            
00287     OMX_VERSIONTYPE nVersion; 
00288     OMX_BOOL bEnablePM;       
00289 } OMX_OTHER_CONFIG_POWERTYPE;
00290 
00291 
00293 typedef struct OMX_OTHER_CONFIG_STATSTYPE {
00294     OMX_U32 nSize;            
00295     OMX_VERSIONTYPE nVersion; 
00296     /* what goes here */
00297 } OMX_OTHER_CONFIG_STATSTYPE;
00298 
00299 
00305 typedef struct OMX_OTHER_PORTDEFINITIONTYPE {
00306     OMX_OTHER_FORMATTYPE eFormat;  
00307 } OMX_OTHER_PORTDEFINITIONTYPE;
00308 
00312 typedef struct OMX_OTHER_PARAM_PORTFORMATTYPE {
00313     OMX_U32 nSize; 
00314     OMX_VERSIONTYPE nVersion; 
00315     OMX_U32 nPortIndex; 
00316     OMX_U32 nIndex; 
00317     OMX_OTHER_FORMATTYPE eFormat; 
00318 } OMX_OTHER_PARAM_PORTFORMATTYPE; 
00319 
00320 #ifdef __cplusplus
00321 }
00322 #endif /* __cplusplus */
00323 
00324 #endif
00325 /* File EOF */

Generated for OpenMAX Bellagio rel. 0.3.5-svn by  doxygen 1.5.1
SourceForge.net Logo