typedef enum OMX_VIDEO_CODINGTYPE | OMX_VIDEO_CODINGTYPE |
Enumeration used to define the possible video compression codings. NOTE: This essentially refers to file extensions. If the coding is being used to specify the ENCODE type, then additional work must be done to configure the exact flavor of the compression to be used. For decode cases where the user application can not differentiate between MPEG-4 and H.264 bit streams, it is up to the codec to handle this.
typedef struct OMX_VIDEO_PORTDEFINITIONTYPE | OMX_VIDEO_PORTDEFINITIONTYPE |
Data structure used to define a video path. The number of Video paths for input and output will vary by type of the Video component.
Input (aka Source) : zero Inputs, one Output, Splitter : one Input, 2 or more Outputs, Processing Element : one Input, one output, Mixer : 2 or more inputs, one output, Output (aka Sink) : one Input, zero outputs.
The PortDefinition structure is used to define all of the parameters necessary for the compliant component to setup an input or an output video path. If additional vendor specific data is required, it should be transmitted to the component using the CustomCommand function. Compliant components will prepopulate this structure with optimal values during the GetDefaultInitParams command.
STRUCT MEMBERS: cMIMEType : MIME type of data for the port pNativeRender : Platform specific reference for a display if a sync, otherwise this field is 0 nFrameWidth : Width of frame to be used on channel if uncompressed format is used. Use 0 for unknown, don't care or variable nFrameHeight : Height of frame to be used on channel if uncompressed format is used. Use 0 for unknown, don't care or variable nStride : Number of bytes per span of an image (i.e. indicates the number of bytes to get from span N to span N+1, where negative stride indicates the image is bottom up nSliceHeight : Height used when encoding in slices nBitrate : Bit rate of frame to be used on channel if compressed format is used. Use 0 for unknown, don't care or variable xFramerate : Frame rate to be used on channel if uncompressed format is used. Use 0 for unknown, don't care or variable. Units are Q16 frames per second. bFlagErrorConcealment : Turns on error concealment if it is supported by the OMX component eCompressionFormat : Compression format used in this instance of the component. When OMX_VIDEO_CodingUnused is specified, eColorFormat is used eColorFormat : Decompressed format used by this component pNativeWindow : Platform specific reference for a window object if a display sink , otherwise this field is 0x0.
typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE | OMX_VIDEO_PARAM_PORTFORMATTYPE |
Port format parameter. This structure is used to enumerate the various data input/output format supported by the port.
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Indicates which port to set nIndex : Indicates the enumeration index for the format from 0x0 to N-1 eCompressionFormat : Compression format used in this instance of the component. When OMX_VIDEO_CodingUnused is specified, eColorFormat is used eColorFormat : Decompressed format used by this component xFrameRate : Indicates the video frame rate in Q16 format
typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE | OMX_VIDEO_PARAM_QUANTIZATIONTYPE |
This is a structure for configuring video compression quantization parameter values. Codecs may support different QP values for different frame types.
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version info nPortIndex : Port that this structure applies to nQpI : QP value to use for index frames nQpP : QP value to use for P frames nQpB : QP values to use for bidirectional frames
typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE | OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE |
Structure for configuration of video fast update parameters.
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version info nPortIndex : Port that this structure applies to bEnableVFU : Enable/Disable video fast update nFirstGOB : Specifies the number of the first macroblock row nFirstMB : specifies the first MB relative to the specified first GOB nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB and nFirstMB
typedef enum OMX_VIDEO_CONTROLRATETYPE | OMX_VIDEO_CONTROLRATETYPE |
Enumeration of possible bitrate control types
typedef struct OMX_VIDEO_PARAM_BITRATETYPE | OMX_VIDEO_PARAM_BITRATETYPE |
Structure for configuring bitrate mode of a codec.
STRUCT MEMBERS: nSize : Size of the struct in bytes nVersion : OMX spec version info nPortIndex : Port that this struct applies to eControlRate : Control rate type enum nTargetBitrate : Target bitrate to encode with
typedef enum OMX_VIDEO_MOTIONVECTORTYPE | OMX_VIDEO_MOTIONVECTORTYPE |
Enumeration of possible motion vector (MV) types
typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE | OMX_VIDEO_PARAM_MOTIONVECTORTYPE |
Structure for configuring the number of motion vectors used as well as their accuracy.
STRUCT MEMBERS: nSize : Size of the struct in bytes nVersion : OMX spec version info nPortIndex : port that this structure applies to eAccuracy : Enumerated MV accuracy bUnrestrictedMVs : Allow unrestricted MVs bFourMV : Allow use of 4 MVs sXSearchRange : Search range in horizontal direction for MVs sYSearchRange : Search range in vertical direction for MVs
typedef enum OMX_VIDEO_INTRAREFRESHTYPE | OMX_VIDEO_INTRAREFRESHTYPE |
Enumeration of possible methods to use for Intra Refresh
typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE | OMX_VIDEO_PARAM_INTRAREFRESHTYPE |
Structure for configuring intra refresh mode
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to eRefreshMode : Cyclic, Adaptive, or Both nAirMBs : Number of intra macroblocks to refresh in a frame when AIR is enabled nAirRef : Number of times a motion marked macroblock has to be intra coded nCirMBs : Number of consecutive macroblocks to be coded as "intra" when CIR is enabled
typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE | OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE |
Structure for enabling various error correction methods for video compression.
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to bEnableHEC : Enable/disable header extension codes (HEC) bEnableResync : Enable/disable resynchronization markers nResynchMarkerSpacing : Resynch markers interval (in bits) to be applied in the stream bEnableDataPartitioning : Enable/disable data partitioning bEnableRVLC : Enable/disable reversible variable length coding
typedef struct OMX_VIDEO_PARAM_VBSMCTYPE | OMX_VIDEO_PARAM_VBSMCTYPE |
Configuration of variable block-size motion compensation (VBSMC)
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to b16x16 : Enable inter block search 16x16 b16x8 : Enable inter block search 16x8 b8x16 : Enable inter block search 8x16 b8x8 : Enable inter block search 8x8 b8x4 : Enable inter block search 8x4 b4x8 : Enable inter block search 4x8 b4x4 : Enable inter block search 4x4
typedef enum OMX_VIDEO_H263PROFILETYPE | OMX_VIDEO_H263PROFILETYPE |
H.263 profile types, each profile indicates support for various performance bounds and different annexes.
ENUMS: Baseline : Baseline Profile: H.263 (V1), no optional modes H320 Coding : H.320 Coding Efficiency Backward Compatibility Profile: H.263+ (V2), includes annexes I, J, L.4 and T BackwardCompatible : Backward Compatibility Profile: H.263 (V1), includes annex F ISWV2 : Interactive Streaming Wireless Profile: H.263+ (V2), includes annexes I, J, K and T ISWV3 : Interactive Streaming Wireless Profile: H.263++ (V3), includes profile 3 and annexes V and W.6.3.8 HighCompression : Conversational High Compression Profile: H.263++ (V3), includes profiles 1 & 2 and annexes D and U Internet : Conversational Internet Profile: H.263++ (V3), includes profile 5 and annex K Interlace : Conversational Interlace Profile: H.263++ (V3), includes profile 5 and annex W.6.3.11 HighLatency : High Latency Profile: H.263++ (V3), includes profile 6 and annexes O.1 and P.5
typedef enum OMX_VIDEO_H263LEVELTYPE | OMX_VIDEO_H263LEVELTYPE |
H.263 level types, each level indicates support for various frame sizes, bit rates, decoder frame rates.
typedef enum OMX_VIDEO_PICTURETYPE | OMX_VIDEO_PICTURETYPE |
Specifies the picture type. These values should be OR'd to signal all pictures types which are allowed.
ENUMS: Generic Picture Types: I, P and B H.263 Specific Picture Types: SI and SP H.264 Specific Picture Types: EI and EP MPEG-4 Specific Picture Types: S
typedef struct OMX_VIDEO_PARAM_H263TYPE | OMX_VIDEO_PARAM_H263TYPE |
H.263 Params
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nPFrames : Number of P frames between each I frame nBFrames : Number of B frames between each I frame eProfile : H.263 profile(s) to use eLevel : H.263 level(s) to use bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE (specified in the 1998 version of H.263) to indicate custom picture sizes or clock frequencies nAllowedPictureTypes : Specifies the picture types allowed in the bitstream bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is not constrained. It is recommended to change the value of the RTYPE bit for each reference picture in error-free communication nPictureHeaderRepetition : Specifies the frequency of picture header repetition nGOBHeaderInterval : Specifies the interval of non-empty GOB headers in units of GOBs
typedef enum OMX_VIDEO_MPEG2PROFILETYPE | OMX_VIDEO_MPEG2PROFILETYPE |
MPEG-2 profile types, each profile indicates support for various performance bounds and different annexes.
typedef enum OMX_VIDEO_MPEG2LEVELTYPE | OMX_VIDEO_MPEG2LEVELTYPE |
MPEG-2 level types, each level indicates support for various frame sizes, bit rates, decoder frame rates. No need
typedef struct OMX_VIDEO_PARAM_MPEG2TYPE | OMX_VIDEO_PARAM_MPEG2TYPE |
MPEG-2 params
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nPFrames : Number of P frames between each I frame nBFrames : Number of B frames between each I frame eProfile : MPEG-2 profile(s) to use eLevel : MPEG-2 levels(s) to use
typedef enum OMX_VIDEO_MPEG4PROFILETYPE | OMX_VIDEO_MPEG4PROFILETYPE |
MPEG-4 profile types, each profile indicates support for various performance bounds and different annexes.
Simple Profile, Levels 1-3
Simple Scalable Profile, Levels 1-2
Core Profile, Levels 1-2
Main Profile, Levels 2-4
N-bit Profile, Level 2
Scalable Texture Profile, Level 1
Simple Face Animation Profile, Levels 1-2
Simple Face and Body Animation (FBA) Profile, Levels 1-2
Basic Animated Texture Profile, Levels 1-2
Hybrid Profile, Levels 1-2
Advanced Real Time Simple Profiles, Levels 1-4
Core Scalable Profile, Levels 1-3
Advanced Coding Efficiency Profile, Levels 1-4
Advanced Core Profile, Levels 1-2
Advanced Scalable Texture, Levels 2-3
typedef enum OMX_VIDEO_MPEG4LEVELTYPE | OMX_VIDEO_MPEG4LEVELTYPE |
MPEG-4 level types, each level indicates support for various frame sizes, bit rates, decoder frame rates. No need
typedef struct OMX_VIDEO_PARAM_MPEG4TYPE | OMX_VIDEO_PARAM_MPEG4TYPE |
MPEG-4 configuration. This structure handles configuration options which are specific to MPEG4 algorithms
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nSliceHeaderSpacing : Number of macroblocks between slice header (H263+ Annex K). Put zero if not used bSVH : Enable Short Video Header mode bGov : Flag to enable GOV nPFrames : Number of P frames between each I frame (also called GOV period) nBFrames : Number of B frames between each I frame nIDCVLCThreshold : Value of intra DC VLC threshold bACPred : Flag to use ac prediction nMaxPacketSize : Maximum size of packet in bytes. nTimeIncRes : Used to pass VOP time increment resolution for MPEG4. Interpreted as described in MPEG4 standard. eProfile : MPEG-4 profile(s) to use. eLevel : MPEG-4 level(s) to use. nAllowedPictureTypes : Specifies the picture types allowed in the bitstream nHeaderExtension : Specifies the number of consecutive video packet headers within a VOP bReversibleVLC : Specifies whether reversible variable length coding is in use
typedef enum OMX_VIDEO_WMVFORMATTYPE | OMX_VIDEO_WMVFORMATTYPE |
WMV Versions
typedef struct OMX_VIDEO_PARAM_WMVTYPE | OMX_VIDEO_PARAM_WMVTYPE |
WMV Params
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to eFormat : Version of WMV stream / data
typedef enum OMX_VIDEO_RVFORMATTYPE | OMX_VIDEO_RVFORMATTYPE |
Real Video Version
typedef struct OMX_VIDEO_PARAM_RVTYPE | OMX_VIDEO_PARAM_RVTYPE |
Real Video Params
STUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to eFormat : Version of RV stream / data nBitsPerPixel : Bits per pixel coded in the frame nPaddedWidth : Padded width in pixel of a video frame nPaddedHeight : Padded Height in pixels of a video frame nFrameRate : Rate of video in frames per second nBitstreamFlags : Flags which internal information about the bitstream nBitstreamVersion : Bitstream version nMaxEncodeFrameSize: Max encoded frame size bEnablePostFilter : Turn on/off post filter bEnableTemporalInterpolation : Turn on/off temporal interpolation bEnableLatencyMode : When enabled, the decoder does not display a decoded frame until it has detected that no enhancement layer frames or dependent B frames will be coming. This detection usually occurs when a subsequent non-B frame is encountered
typedef enum OMX_VIDEO_AVCPROFILETYPE | OMX_VIDEO_AVCPROFILETYPE |
AVC profile types, each profile indicates support for various performance bounds and different annexes.
typedef enum OMX_VIDEO_AVCLEVELTYPE | OMX_VIDEO_AVCLEVELTYPE |
AVC level types, each level indicates support for various frame sizes, bit rates, decoder frame rates. No need
typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE | OMX_VIDEO_AVCLOOPFILTERTYPE |
AVC loop filter modes
OMX_VIDEO_AVCLoopFilterEnable : Enable OMX_VIDEO_AVCLoopFilterDisable : Disable OMX_VIDEO_AVCLoopFilterDisableSliceBoundary : Disabled on slice boundaries
typedef struct OMX_VIDEO_PARAM_AVCTYPE | OMX_VIDEO_PARAM_AVCTYPE |
AVC params
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nSliceHeaderSpacing : Number of macroblocks between slice header, put zero if not used nPFrames : Number of P frames between each I frame nBFrames : Number of B frames between each I frame bUseHadamard : Enable/disable Hadamard transform nRefFrames : Max number of reference frames to use for inter motion search (1-16) nRefIdxTrailing : Pic param set ref frame index (index into ref frame buffer of trailing frames list), B frame support nRefIdxForward : Pic param set ref frame index (index into ref frame buffer of forward frames list), B frame support bEnableUEP : Enable/disable unequal error protection. This is only valid of data partitioning is enabled. bEnableFMO : Enable/disable flexible macroblock ordering bEnableASO : Enable/disable arbitrary slice ordering bEnableRS : Enable/disable sending of redundant slices eProfile : AVC profile(s) to use eLevel : AVC level(s) to use nAllowedPictureTypes : Specifies the picture types allowed in the bitstream bFrameMBsOnly : specifies that every coded picture of the coded video sequence is a coded frame containing only frame macroblocks bMBAFF : Enable/disable switching between frame and field macroblocks within a picture bEntropyCodingCABAC : Entropy decoding method to be applied for the syntax elements for which two descriptors appear in the syntax tables bWeightedPPrediction : Enable/disable weighted prediction shall not be applied to P and SP slices nWeightedBipredicitonMode : Default weighted prediction is applied to B slices bconstIpred : Enable/disable intra prediction bDirect8x8Inference : Specifies the method used in the derivation process for luma motion vectors for B_Skip, B_Direct_16x16 and B_Direct_8x8 as specified in subclause 8.4.1.2 of the AVC spec bDirectSpatialTemporal : Flag indicating spatial or temporal direct mode used in B slice coding (related to bDirect8x8Inference) . Spatial direct mode is more common and should be the default. nCabacInitIdx : Index used to init CABAC contexts eLoopFilterMode : Enable/disable loop filter
typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE | OMX_VIDEO_PARAM_PROFILELEVELTYPE |
typedef struct OMX_VIDEO_CONFIG_BITRATETYPE | OMX_VIDEO_CONFIG_BITRATETYPE |
Structure for dynamically configuring bitrate mode of a codec.
STRUCT MEMBERS: nSize : Size of the struct in bytes nVersion : OMX spec version info nPortIndex : Port that this struct applies to nEncodeBitrate : Target average bitrate to be generated in bps
typedef struct OMX_CONFIG_FRAMERATETYPE | OMX_CONFIG_FRAMERATETYPE |
Defines Encoder Frame Rate setting
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to xEncodeFramerate : Encoding framerate represented in Q16 format
typedef struct OMX_CONFIG_INTRAREFRESHVOPTYPE | OMX_CONFIG_INTRAREFRESHVOPTYPE |
typedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPE | OMX_CONFIG_MACROBLOCKERRORMAPTYPE |
typedef struct OMX_CONFIG_MBERRORREPORTINGTYPE | OMX_CONFIG_MBERRORREPORTINGTYPE |
typedef struct OMX_PARAM_MACROBLOCKSTYPE | OMX_PARAM_MACROBLOCKSTYPE |
typedef enum OMX_VIDEO_AVCSLICEMODETYPE | OMX_VIDEO_AVCSLICEMODETYPE |
AVC Slice Mode modes
OMX_VIDEO_SLICEMODE_AVCDefault : Normal frame encoding, one slice per frame OMX_VIDEO_SLICEMODE_AVCMBSlice : NAL mode, number of MBs per frame OMX_VIDEO_SLICEMODE_AVCByteSlice : NAL mode, number of bytes per frame
typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO | OMX_VIDEO_PARAM_AVCSLICEFMO |
AVC FMO Slice Mode Params
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nNumSliceGroups : Specifies the number of slice groups nSliceGroupMapType : Specifies the type of slice groups eSliceMode : Specifies the type of slice
typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD | OMX_VIDEO_CONFIG_AVCINTRAPERIOD |
AVC IDR Period Configs
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nIDRPeriod : Specifies periodicity of IDR frames nPFrames : Specifies internal of coding Intra frames
typedef struct OMX_VIDEO_CONFIG_NALSIZE | OMX_VIDEO_CONFIG_NALSIZE |
AVC NAL Size Configs
STRUCT MEMBERS: nSize : Size of the structure in bytes nVersion : OMX specification version information nPortIndex : Port that this structure applies to nNaluBytes : Specifies the NAL unit size
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.