OMX_Video.h File Reference

Typedef OMX_VIDEO_CODINGTYPE

typedef enum OMX_VIDEO_CODINGTYPEOMX_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 OMX_VIDEO_PORTDEFINITIONTYPE

typedef struct OMX_VIDEO_PORTDEFINITIONTYPEOMX_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 OMX_VIDEO_PARAM_PORTFORMATTYPE

typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPEOMX_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 OMX_VIDEO_PARAM_QUANTIZATIONTYPE

typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPEOMX_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 OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE

typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPEOMX_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 OMX_VIDEO_CONTROLRATETYPE

typedef enum OMX_VIDEO_CONTROLRATETYPEOMX_VIDEO_CONTROLRATETYPE

Enumeration of possible bitrate control types

Typedef OMX_VIDEO_PARAM_BITRATETYPE

typedef struct OMX_VIDEO_PARAM_BITRATETYPEOMX_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 OMX_VIDEO_MOTIONVECTORTYPE

typedef enum OMX_VIDEO_MOTIONVECTORTYPEOMX_VIDEO_MOTIONVECTORTYPE

Enumeration of possible motion vector (MV) types

Typedef OMX_VIDEO_PARAM_MOTIONVECTORTYPE

typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPEOMX_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 OMX_VIDEO_INTRAREFRESHTYPE

typedef enum OMX_VIDEO_INTRAREFRESHTYPEOMX_VIDEO_INTRAREFRESHTYPE

Enumeration of possible methods to use for Intra Refresh

Typedef OMX_VIDEO_PARAM_INTRAREFRESHTYPE

typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPEOMX_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 OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE

typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPEOMX_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 OMX_VIDEO_PARAM_VBSMCTYPE

typedef struct OMX_VIDEO_PARAM_VBSMCTYPEOMX_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 OMX_VIDEO_H263PROFILETYPE

typedef enum OMX_VIDEO_H263PROFILETYPEOMX_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 OMX_VIDEO_H263LEVELTYPE

typedef enum OMX_VIDEO_H263LEVELTYPEOMX_VIDEO_H263LEVELTYPE

H.263 level types, each level indicates support for various frame sizes, bit rates, decoder frame rates.

Typedef OMX_VIDEO_PICTURETYPE

typedef enum OMX_VIDEO_PICTURETYPEOMX_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 OMX_VIDEO_PARAM_H263TYPE

typedef struct OMX_VIDEO_PARAM_H263TYPEOMX_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 OMX_VIDEO_MPEG2PROFILETYPE

typedef enum OMX_VIDEO_MPEG2PROFILETYPEOMX_VIDEO_MPEG2PROFILETYPE

MPEG-2 profile types, each profile indicates support for various performance bounds and different annexes.

Typedef OMX_VIDEO_MPEG2LEVELTYPE

typedef enum OMX_VIDEO_MPEG2LEVELTYPEOMX_VIDEO_MPEG2LEVELTYPE

MPEG-2 level types, each level indicates support for various frame sizes, bit rates, decoder frame rates. No need

Typedef OMX_VIDEO_PARAM_MPEG2TYPE

typedef struct OMX_VIDEO_PARAM_MPEG2TYPEOMX_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 OMX_VIDEO_MPEG4PROFILETYPE

typedef enum OMX_VIDEO_MPEG4PROFILETYPEOMX_VIDEO_MPEG4PROFILETYPE

MPEG-4 profile types, each profile indicates support for various performance bounds and different annexes.

ENUMS:
  • 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 OMX_VIDEO_MPEG4LEVELTYPE

typedef enum OMX_VIDEO_MPEG4LEVELTYPEOMX_VIDEO_MPEG4LEVELTYPE

MPEG-4 level types, each level indicates support for various frame sizes, bit rates, decoder frame rates. No need

Typedef OMX_VIDEO_PARAM_MPEG4TYPE

typedef struct OMX_VIDEO_PARAM_MPEG4TYPEOMX_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 OMX_VIDEO_WMVFORMATTYPE

typedef enum OMX_VIDEO_WMVFORMATTYPEOMX_VIDEO_WMVFORMATTYPE

WMV Versions

Typedef OMX_VIDEO_PARAM_WMVTYPE

typedef struct OMX_VIDEO_PARAM_WMVTYPEOMX_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 OMX_VIDEO_RVFORMATTYPE

typedef enum OMX_VIDEO_RVFORMATTYPEOMX_VIDEO_RVFORMATTYPE

Real Video Version

Typedef OMX_VIDEO_PARAM_RVTYPE

typedef struct OMX_VIDEO_PARAM_RVTYPEOMX_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 OMX_VIDEO_AVCPROFILETYPE

typedef enum OMX_VIDEO_AVCPROFILETYPEOMX_VIDEO_AVCPROFILETYPE

AVC profile types, each profile indicates support for various performance bounds and different annexes.

Typedef OMX_VIDEO_AVCLEVELTYPE

typedef enum OMX_VIDEO_AVCLEVELTYPEOMX_VIDEO_AVCLEVELTYPE

AVC level types, each level indicates support for various frame sizes, bit rates, decoder frame rates. No need

Typedef OMX_VIDEO_AVCLOOPFILTERTYPE

typedef enum OMX_VIDEO_AVCLOOPFILTERTYPEOMX_VIDEO_AVCLOOPFILTERTYPE

AVC loop filter modes

OMX_VIDEO_AVCLoopFilterEnable : Enable OMX_VIDEO_AVCLoopFilterDisable : Disable OMX_VIDEO_AVCLoopFilterDisableSliceBoundary : Disabled on slice boundaries

Typedef OMX_VIDEO_PARAM_AVCTYPE

typedef struct OMX_VIDEO_PARAM_AVCTYPEOMX_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 OMX_VIDEO_PARAM_PROFILELEVELTYPE

typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPEOMX_VIDEO_PARAM_PROFILELEVELTYPE

Typedef OMX_VIDEO_CONFIG_BITRATETYPE

typedef struct OMX_VIDEO_CONFIG_BITRATETYPEOMX_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 OMX_CONFIG_FRAMERATETYPE

typedef struct OMX_CONFIG_FRAMERATETYPEOMX_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 OMX_CONFIG_INTRAREFRESHVOPTYPE

typedef struct OMX_CONFIG_INTRAREFRESHVOPTYPEOMX_CONFIG_INTRAREFRESHVOPTYPE

Typedef OMX_CONFIG_MACROBLOCKERRORMAPTYPE

typedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPEOMX_CONFIG_MACROBLOCKERRORMAPTYPE

Typedef OMX_CONFIG_MBERRORREPORTINGTYPE

typedef struct OMX_CONFIG_MBERRORREPORTINGTYPEOMX_CONFIG_MBERRORREPORTINGTYPE

Typedef OMX_PARAM_MACROBLOCKSTYPE

typedef struct OMX_PARAM_MACROBLOCKSTYPEOMX_PARAM_MACROBLOCKSTYPE

Typedef OMX_VIDEO_AVCSLICEMODETYPE

typedef enum OMX_VIDEO_AVCSLICEMODETYPEOMX_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 OMX_VIDEO_PARAM_AVCSLICEFMO

typedef struct OMX_VIDEO_PARAM_AVCSLICEFMOOMX_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 OMX_VIDEO_CONFIG_AVCINTRAPERIOD

typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIODOMX_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 OMX_VIDEO_CONFIG_NALSIZE

typedef struct OMX_VIDEO_CONFIG_NALSIZEOMX_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