OpenMAXBellagio  0.9.3
OMX_Core.h File Reference
#include <OMX_Index.h>

Go to the source code of this file.

Data Structures

struct  OMX_COMPONENTREGISTERTYPE
 
struct  OMX_PRIORITYMGMTTYPE
 
struct  OMX_PARAM_COMPONENTROLETYPE
 
struct  OMX_BUFFERHEADERTYPE
 
struct  OMX_OTHER_EXTRADATATYPE
 
struct  OMX_PORT_PARAM_TYPE
 
struct  OMX_CALLBACKTYPE
 
struct  OMX_PARAM_BUFFERSUPPLIERTYPE
 
struct  OMX_TUNNELSETUPTYPE
 

Macros

#define OMX_MAX_STRINGNAME_SIZE   128
 
#define OMX_BUFFERFLAG_EOS   0x00000001
 
#define OMX_BUFFERFLAG_STARTTIME   0x00000002
 
#define OMX_BUFFERFLAG_DECODEONLY   0x00000004
 
#define OMX_BUFFERFLAG_DATACORRUPT   0x00000008
 
#define OMX_BUFFERFLAG_ENDOFFRAME   0x00000010
 
#define OMX_BUFFERFLAG_SYNCFRAME   0x00000020
 
#define OMX_BUFFERFLAG_EXTRADATA   0x00000040
 
#define OMX_BUFFERFLAG_CODECCONFIG   0x00000080
 
#define OMX_PORTTUNNELFLAG_READONLY   0x00000001
 
#define OMX_GetComponentVersion(hComponent,pComponentName,pComponentVersion,pSpecVersion,pComponentUUID)
 
#define OMX_SendCommand(hComponent,Cmd,nParam,pCmdData)
 
#define OMX_GetParameter(hComponent,nParamIndex,pComponentParameterStructure)
 
#define OMX_SetParameter(hComponent,nParamIndex,pComponentParameterStructure)
 
#define OMX_GetConfig(hComponent,nConfigIndex,pComponentConfigStructure)
 
#define OMX_SetConfig(hComponent,nConfigIndex,pComponentConfigStructure)
 
#define OMX_GetExtensionIndex(hComponent,cParameterName,pIndexType)
 
#define OMX_GetState(hComponent,pState)
 
#define OMX_UseBuffer(hComponent,ppBufferHdr,nPortIndex,pAppPrivate,nSizeBytes,pBuffer)
 
#define OMX_AllocateBuffer(hComponent,ppBuffer,nPortIndex,pAppPrivate,nSizeBytes)
 
#define OMX_FreeBuffer(hComponent,nPortIndex,pBuffer)
 
#define OMX_EmptyThisBuffer(hComponent,pBuffer)
 
#define OMX_FillThisBuffer(hComponent,pBuffer)
 
#define OMX_UseEGLImage(hComponent,ppBufferHdr,nPortIndex,pAppPrivate,eglImage)
 

Typedefs

typedef enum OMX_COMMANDTYPE OMX_COMMANDTYPE
 
typedef enum OMX_STATETYPE OMX_STATETYPE
 
typedef enum OMX_ERRORTYPE OMX_ERRORTYPE
 
typedef OMX_ERRORTYPE(* OMX_COMPONENTINITTYPE )(OMX_IN OMX_HANDLETYPE hComponent)
 
typedef struct
OMX_COMPONENTREGISTERTYPE 
OMX_COMPONENTREGISTERTYPE
 
typedef struct OMX_PRIORITYMGMTTYPE OMX_PRIORITYMGMTTYPE
 
typedef struct
OMX_PARAM_COMPONENTROLETYPE 
OMX_PARAM_COMPONENTROLETYPE
 
typedef struct OMX_BUFFERHEADERTYPE OMX_BUFFERHEADERTYPE
 
typedef enum OMX_EXTRADATATYPE OMX_EXTRADATATYPE
 
typedef struct
OMX_OTHER_EXTRADATATYPE 
OMX_OTHER_EXTRADATATYPE
 
typedef struct OMX_PORT_PARAM_TYPE OMX_PORT_PARAM_TYPE
 
typedef enum OMX_EVENTTYPE OMX_EVENTTYPE
 
typedef struct OMX_CALLBACKTYPE OMX_CALLBACKTYPE
 
typedef enum OMX_BUFFERSUPPLIERTYPE OMX_BUFFERSUPPLIERTYPE
 
typedef struct
OMX_PARAM_BUFFERSUPPLIERTYPE 
OMX_PARAM_BUFFERSUPPLIERTYPE
 
typedef struct OMX_TUNNELSETUPTYPE OMX_TUNNELSETUPTYPE
 

Enumerations

enum  OMX_COMMANDTYPE {
  OMX_CommandStateSet, OMX_CommandFlush, OMX_CommandPortDisable, OMX_CommandPortEnable,
  OMX_CommandMarkBuffer, OMX_CommandKhronosExtensions = 0x6F000000, OMX_CommandVendorStartUnused = 0x7F000000, OMX_CommandMax = 0X7FFFFFFF
}
 
enum  OMX_STATETYPE {
  OMX_StateInvalid, OMX_StateLoaded, OMX_StateIdle, OMX_StateExecuting,
  OMX_StatePause, OMX_StateWaitForResources, OMX_StateKhronosExtensions = 0x6F000000, OMX_StateVendorStartUnused = 0x7F000000,
  OMX_StateMax = 0X7FFFFFFF
}
 
enum  OMX_ERRORTYPE {
  OMX_ErrorNone = 0, OMX_ErrorInsufficientResources = (OMX_S32) 0x80001000, OMX_ErrorUndefined = (OMX_S32) 0x80001001, OMX_ErrorInvalidComponentName = (OMX_S32) 0x80001002,
  OMX_ErrorComponentNotFound = (OMX_S32) 0x80001003, OMX_ErrorInvalidComponent = (OMX_S32) 0x80001004, OMX_ErrorBadParameter = (OMX_S32) 0x80001005, OMX_ErrorNotImplemented = (OMX_S32) 0x80001006,
  OMX_ErrorUnderflow = (OMX_S32) 0x80001007, OMX_ErrorOverflow = (OMX_S32) 0x80001008, OMX_ErrorHardware = (OMX_S32) 0x80001009, OMX_ErrorInvalidState = (OMX_S32) 0x8000100A,
  OMX_ErrorStreamCorrupt = (OMX_S32) 0x8000100B, OMX_ErrorPortsNotCompatible = (OMX_S32) 0x8000100C, OMX_ErrorResourcesLost = (OMX_S32) 0x8000100D, OMX_ErrorNoMore = (OMX_S32) 0x8000100E,
  OMX_ErrorVersionMismatch = (OMX_S32) 0x8000100F, OMX_ErrorNotReady = (OMX_S32) 0x80001010, OMX_ErrorTimeout = (OMX_S32) 0x80001011, OMX_ErrorSameState = (OMX_S32) 0x80001012,
  OMX_ErrorResourcesPreempted = (OMX_S32) 0x80001013, OMX_ErrorPortUnresponsiveDuringAllocation = (OMX_S32) 0x80001014, OMX_ErrorPortUnresponsiveDuringDeallocation = (OMX_S32) 0x80001015, OMX_ErrorPortUnresponsiveDuringStop = (OMX_S32) 0x80001016,
  OMX_ErrorIncorrectStateTransition = (OMX_S32) 0x80001017, OMX_ErrorIncorrectStateOperation = (OMX_S32) 0x80001018, OMX_ErrorUnsupportedSetting = (OMX_S32) 0x80001019, OMX_ErrorUnsupportedIndex = (OMX_S32) 0x8000101A,
  OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B, OMX_ErrorPortUnpopulated = (OMX_S32) 0x8000101C, OMX_ErrorComponentSuspended = (OMX_S32) 0x8000101D, OMX_ErrorDynamicResourcesUnavailable = (OMX_S32) 0x8000101E,
  OMX_ErrorMbErrorsInFrame = (OMX_S32) 0x8000101F, OMX_ErrorFormatNotDetected = (OMX_S32) 0x80001020, OMX_ErrorContentPipeOpenFailed = (OMX_S32) 0x80001021, OMX_ErrorContentPipeCreationFailed = (OMX_S32) 0x80001022,
  OMX_ErrorSeperateTablesUsed = (OMX_S32) 0x80001023, OMX_ErrorTunnelingUnsupported = (OMX_S32) 0x80001024, OMX_ErrorKhronosExtensions = (OMX_S32)0x8F000000, OMX_ErrorVendorStartUnused = (OMX_S32)0x90000000,
  OMX_ErrorMax = 0x7FFFFFFF
}
 
enum  OMX_EXTRADATATYPE {
  OMX_ExtraDataNone = 0, OMX_ExtraDataQuantization, OMX_ExtraDataKhronosExtensions = 0x6F000000, OMX_ExtraDataVendorStartUnused = 0x7F000000,
  OMX_ExtraDataMax = 0x7FFFFFFF
}
 
enum  OMX_EVENTTYPE {
  OMX_EventCmdComplete, OMX_EventError, OMX_EventMark, OMX_EventPortSettingsChanged,
  OMX_EventBufferFlag, OMX_EventResourcesAcquired, OMX_EventComponentResumed, OMX_EventDynamicResourcesAvailable,
  OMX_EventPortFormatDetected, OMX_EventKhronosExtensions = 0x6F000000, OMX_EventVendorStartUnused = 0x7F000000, OMX_EventMax = 0x7FFFFFFF
}
 
enum  OMX_BUFFERSUPPLIERTYPE {
  OMX_BufferSupplyUnspecified = 0x0, OMX_BufferSupplyInput, OMX_BufferSupplyOutput, OMX_BufferSupplyKhronosExtensions = 0x6F000000,
  OMX_BufferSupplyVendorStartUnused = 0x7F000000, OMX_BufferSupplyMax = 0x7FFFFFFF
}
 

Functions

OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init (void)
 The OMX_Init standard function.
 
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Deinit (void)
 The OMX_Deinit standard function.
 
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum (OMX_OUT OMX_STRING cComponentName, OMX_IN OMX_U32 nNameLength, OMX_IN OMX_U32 nIndex)
 
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_GetHandle (OMX_OUT OMX_HANDLETYPE *pHandle, OMX_IN OMX_STRING cComponentName, OMX_IN OMX_PTR pAppData, OMX_IN OMX_CALLBACKTYPE *pCallBacks)
 
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_FreeHandle (OMX_IN OMX_HANDLETYPE hComponent)
 
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel (OMX_IN OMX_HANDLETYPE hOutput, OMX_IN OMX_U32 nPortOutput, OMX_IN OMX_HANDLETYPE hInput, OMX_IN OMX_U32 nPortInput)
 
OMX_API OMX_ERRORTYPE OMX_GetContentPipe (OMX_OUT OMX_HANDLETYPE *hPipe, OMX_IN OMX_STRING szURI)
 
OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole (OMX_IN OMX_STRING role, OMX_INOUT OMX_U32 *pNumComps, OMX_INOUT OMX_U8 **compNames)
 
OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent (OMX_IN OMX_STRING compName, OMX_INOUT OMX_U32 *pNumRoles, OMX_OUT OMX_U8 **roles)
 

Variables

OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered []
 

Macro Definition Documentation

#define OMX_BUFFERFLAG_DATACORRUPT   0x00000008

Definition at line 356 of file OMX_Core.h.

#define OMX_BUFFERFLAG_ENDOFFRAME   0x00000010

Definition at line 363 of file OMX_Core.h.

#define OMX_BUFFERFLAG_EXTRADATA   0x00000040

Definition at line 375 of file OMX_Core.h.

#define OMX_BUFFERFLAG_SYNCFRAME   0x00000020

Definition at line 369 of file OMX_Core.h.

#define OMX_PORTTUNNELFLAG_READONLY   0x00000001

Definition at line 627 of file OMX_Core.h.

Referenced by base_port_ComponentTunnelRequest().

Typedef Documentation

The OMX_ERRORTYPE enumeration defines the standard OMX Errors. These errors should cover most of the common failure cases. However, vendors are free to add additional error messages of their own as long as they follow these rules:

  1. Vendor error messages shall be in the range of 0x90000000 to 0x9000FFFF.
  2. Vendor error messages shall be defined in a header file provided with the component. No error messages are allowed that are not defined.

The OMX_EXTRADATATYPE enumeration is used to define the possible extra data payload types. NB: this enum is binary backwards compatible with the previous OMX_EXTRADATA_QUANT define. This should be replaced with OMX_ExtraDataQuantization.

Enumeration Type Documentation

The OMX_ERRORTYPE enumeration defines the standard OMX Errors. These errors should cover most of the common failure cases. However, vendors are free to add additional error messages of their own as long as they follow these rules:

  1. Vendor error messages shall be in the range of 0x90000000 to 0x9000FFFF.
  2. Vendor error messages shall be defined in a header file provided with the component. No error messages are allowed that are not defined.
Enumerator:
OMX_ErrorNone 
OMX_ErrorInsufficientResources 

There were insufficient resources to perform the requested operation

OMX_ErrorUndefined 

There was an error, but the cause of the error could not be determined

OMX_ErrorInvalidComponentName 

The component name string was not valid

OMX_ErrorComponentNotFound 

No component with the specified name string was found

OMX_ErrorInvalidComponent 

The component specified did not have a "OMX_ComponentInit" or "OMX_ComponentDeInit entry point

OMX_ErrorBadParameter 

One or more parameters were not valid

OMX_ErrorNotImplemented 

The requested function is not implemented

OMX_ErrorUnderflow 

The buffer was emptied before the next buffer was ready

OMX_ErrorOverflow 

The buffer was not available when it was needed

OMX_ErrorHardware 

The hardware failed to respond as expected

OMX_ErrorInvalidState 

The component is in the state OMX_StateInvalid

OMX_ErrorStreamCorrupt 

Stream is found to be corrupt

OMX_ErrorPortsNotCompatible 

Ports being connected are not compatible

OMX_ErrorResourcesLost 

Resources allocated to an idle component have been lost resulting in the component returning to the loaded state

OMX_ErrorNoMore 

No more indicies can be enumerated

OMX_ErrorVersionMismatch 

The component detected a version mismatch

OMX_ErrorNotReady 

The component is not ready to return data at this time

OMX_ErrorTimeout 

There was a timeout that occurred

OMX_ErrorSameState 

This error occurs when trying to transition into the state you are already in

OMX_ErrorResourcesPreempted 

Resources allocated to an executing or paused component have been preempted, causing the component to return to the idle state

OMX_ErrorPortUnresponsiveDuringAllocation 

A non-supplier port sends this error to the IL client (via the EventHandler callback) during the allocation of buffers (on a transition from the LOADED to the IDLE state or on a port restart) when it deems that it has waited an unusually long time for the supplier to send it an allocated buffer via a UseBuffer call.

OMX_ErrorPortUnresponsiveDuringDeallocation 

A non-supplier port sends this error to the IL client (via the EventHandler callback) during the deallocation of buffers (on a transition from the IDLE to LOADED state or on a port stop) when it deems that it has waited an unusually long time for the supplier to request the deallocation of a buffer header via a FreeBuffer call.

OMX_ErrorPortUnresponsiveDuringStop 

A supplier port sends this error to the IL client (via the EventHandler callback) during the stopping of a port (either on a transition from the IDLE to LOADED state or a port stop) when it deems that it has waited an unusually long time for the non-supplier to return a buffer via an EmptyThisBuffer or FillThisBuffer call.

OMX_ErrorIncorrectStateTransition 

Attempting a state transtion that is not allowed

OMX_ErrorIncorrectStateOperation 
OMX_ErrorUnsupportedSetting 

The values encapsulated in the parameter or config structure are not supported.

OMX_ErrorUnsupportedIndex 

The parameter or config indicated by the given index is not supported.

OMX_ErrorBadPortIndex 

The port index supplied is incorrect.

OMX_ErrorPortUnpopulated 

The port has lost one or more of its buffers and it thus unpopulated.

OMX_ErrorComponentSuspended 

Component suspended due to temporary loss of resources

OMX_ErrorDynamicResourcesUnavailable 

Component suspended due to an inability to acquire dynamic resources

OMX_ErrorMbErrorsInFrame 

When the macroblock error reporting is enabled the component returns new error for every frame that has errors

OMX_ErrorFormatNotDetected 

A component reports this error when it cannot parse or determine the format of an input stream.

OMX_ErrorContentPipeOpenFailed 

The content open operation failed.

OMX_ErrorContentPipeCreationFailed 

The content creation operation failed.

OMX_ErrorSeperateTablesUsed 

Separate table information is being used

OMX_ErrorTunnelingUnsupported 

Tunneling is unsupported by the component

OMX_ErrorKhronosExtensions 

Reserved region for introducing Khronos Standard Extensions

OMX_ErrorVendorStartUnused 

Reserved region for introducing Vendor Extensions

OMX_ErrorMax 

Definition at line 126 of file OMX_Core.h.

The OMX_EXTRADATATYPE enumeration is used to define the possible extra data payload types. NB: this enum is binary backwards compatible with the previous OMX_EXTRADATA_QUANT define. This should be replaced with OMX_ExtraDataQuantization.

Enumerator:
OMX_ExtraDataNone 

Indicates that no more extra data sections follow

OMX_ExtraDataQuantization 

The data payload contains quantization data

OMX_ExtraDataKhronosExtensions 

Reserved region for introducing Khronos Standard Extensions

OMX_ExtraDataVendorStartUnused 

Reserved region for introducing Vendor Extensions

OMX_ExtraDataMax 

Definition at line 451 of file OMX_Core.h.


Generated for OpenMAX Bellagio rel. 0.9.3 by  doxygen 1.5.1
SourceForge.net Logo