Top
audio_capture
audio_decode
audio_encode
audio_lowpower
audio_mixer
audio_processor
audio_render
audio_splitter
image_decode
image_encode
image_fx
image_read
image_write
resize
source
transition
write_still
clock
null_sink
text_scheduler
visualisation
read_media
write_media
camera
egl_render
video_decode
video_encode
video_render
video_scheduler
video_splitter
Custom Index
Metadata

Broadcom Custom Index List

Autofocus assist light mode selection

OMX_IndexConfigAFAssistLight
Used by: camera

typedef enum OMX_AFASSISTTYPE {
   OMX_AFAssistAuto,
   OMX_AFAssistOn,
   OMX_AFAssistOff,
   OMX_AFAssistTorch,
   OMX_AFAssistKhronosExtensions = 0x6F000000,
   OMX_AFAssistVendorStartUnused = 0x7F000000,
   OMX_AFAssistMax = 0x7FFFFFFF
} OMX_AFASSISTTYPE;

typedef struct OMX_CONFIG_AFASSISTTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_AFASSISTTYPE eMode;
} OMX_CONFIG_AFASSISTTYPE;

Set the mode to adopt for the autofocus assist light. OMX_AFAssistTorch will turn the AF assist light on permanently, allowing it to be used as a torch.

Asynchronous Failure Filename

OMX_IndexConfigAsynchronousFailureURI
Used by: write_still

This index uses the standard IL structure OMX_PARAM_CONTENTURITYPE

This allows the client to query for the filename that cause an asynchronous output error.

Dual Mono Control

OMX_IndexConfigAudioMonoTrackControl
Used by: audio_decode

typedef enum OMX_AUDIOMONOTRACKOPERATIONSTYPE {
   OMX_AUDIOMONOTRACKOPERATIONS_NOP,
   OMX_AUDIOMONOTRACKOPERATIONS_L_TO_R,
   OMX_AUDIOMONOTRACKOPERATIONS_R_TO_L,
   OMX_AUDIOMONOTRACKOPERATIONS_DUMMY = 0x7FFFFFFF
} OMX_AUDIOMONOTRACKOPERATIONSTYPE ;

typedef struct OMX_CONFIG_AUDIOMONOTRACKCONTROLTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_AUDIOMONOTRACKOPERATIONSTYPE eMode;
} OMX_CONFIG_AUDIOMONOTRACKCONTROLTYPE;

This config controls the options to support dual mono audio streams. The output can be unchanged, or the left channel copied over the right channel, or the right channel copied over the left channel. This config can be applied at any time with stereo 16-bit-per-sample data. Since audio output is typically buffered, any change will not be audible until that buffering has been played out.

Audio Rendering Latency

OMX_IndexConfigAudioRenderingLatency
Used by: audio_render

This index uses the standard IL structure OMX_PARAM_U32TYPE

This config allows the client to query the current latency of audio rendering. The latency is returned as the number of samples that an audio rendering component has received but have not been played.

Audio Destination

OMX_IndexConfigBrcmAudioDestination
Used by: audio_render

typedef struct OMX_CONFIG_BRCMAUDIODESTINATIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U8 sName[16];
} OMX_CONFIG_BRCMAUDIODESTINATIONTYPE;

This config sets the platform-specific audio destination or output device for audio sink components (e.g. audio_render). sName describes the audio destination, with "local" typically being directly connected to headphones.

Audio Effect Control

OMX_IndexConfigBrcmAudioEffectControl
Used by: audio_processor

typedef struct OMX_CONFIG_BRCMAUDIOEFFECTCONTROLTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bEnable;
   OMX_U8 name[16];
   OMX_U8 property[256];
} OMX_CONFIG_BRCMAUDIOEFFECTCONTROLTYPE;

This structure represents the internal configuration of an audio effect. The audio effect is provided by a loadable plug-in described in the name field and is configured in a plug-in-dependent manner with the property field. The bEnable field is used to turn the effect on/off.

Audio Source

OMX_IndexConfigBrcmAudioSource
Used by: audio_capture

typedef struct OMX_CONFIG_BRCMAUDIOSOURCETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U8 sName[16];
} OMX_CONFIG_BRCMAUDIOSOURCETYPE;

This config sets the platform-specific audio source or input device for audio source components (e.g. audio_capture). sName describes the audio source, with "local" typically being directly connected to microphone.

Configure gapless/crossfaded audio track change.

OMX_IndexConfigBrcmAudioTrackChangeControl
Used by: audio_mixer

typedef struct OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nSrcPortIndex;
   OMX_U32 nDstPortIndex;
   OMX_U32 nXFade;
} OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE;

This config allows the client to specify the gapless or crossfade parameters to be used on a track change. If nXFade is 0, then a normal or gapless track change will result, otherwise a crossfade of nXFade ms is used.

Query the number of times the port has completed a track change

OMX_IndexConfigBrcmAudioTrackChangeCount
Used by: audio_mixer

This index uses the standard IL structure OMX_PARAM_U32TYPE

A track change is complete for an input port when a buffer flagged with OMX_BUFFERFLAG_EOS has been fully mixed into output port buffers as is ready to be returned or flushed from the input port. This configuration value can be monitored via OMX_IndexConfigRequestCallback.

Encoder/decoder delay and padding information for gapless playback.

OMX_IndexConfigBrcmAudioTrackGaplessPlayback
Used by: audio_decode, read_media

typedef struct OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nDelay;
   OMX_U32 nPadding;
} OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE;

This config allows communication between components to facilitate gapless playback.

nDelay
number of samples delay added by the codec
nPadding
number of silent samples added to the end

Filters buffers based on flags

OMX_IndexConfigBrcmBufferFlagFilter
Used by: video_splitter

This index uses the standard IL structure OMX_PARAM_U32TYPE

This control can be set to request that buffers are conditionally forwarded on output ports based on matching flags set on that buffer.

Enable use of development ISP software stage

OMX_IndexConfigBrcmCameraRnDPostprocess
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This control can be used to enable a developmental software stage to be inserted into the postprocessor stage of the ISP.

Enable use of development ISP software stage

OMX_IndexConfigBrcmCameraRnDPreprocess
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This control can be used to enable a developmental software stage to be inserted into the preprocessor stage of the ISP.

Camera frame statistics

OMX_IndexConfigBrcmCameraStats
Used by: camera

typedef struct OMX_CONFIG_BRCMCAMERASTATSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nOutFrameCount;
   OMX_U32 nDroppedFrameCount;
} OMX_CONFIG_BRCMCAMERASTATSTYPE;

Allows the Camplus frame counts for number of frames produced and dropped to be read by the client. These counts get reset whenever a new mode is requested from Camplus. Additional knowledge of when this occurs is required to obtain meaningful results from this config.

Missed clock request accounting

OMX_IndexConfigBrcmClockMissCount
Used by: clock

This index uses the standard IL structure OMX_PARAM_U32TYPE

For each port on the clock component, requests for media times may be made. These are typically done one per video frame to allow for scheduling the display of that frame at the correct time. If a request is made after the time has occured, then that frame will be displayed late, and the clock component keeps a per-port record of the number of times this occurs. This record can be read using this index.

Select Clock Reference Source

OMX_IndexConfigBrcmClockReferenceSource
Used by: audio_render

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This control allows communicating directly to an audio renderer component whether it should act as a clock reference source or act as a slave.

Enabling Audio Passthrough

OMX_IndexConfigBrcmDecoderPassThrough
Used by: audio_decode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This allows an audio decoder to disable decoding the stream and pass through correctly framed data to enable playback of compressed audio to supported output devices.

Define a static box to be drawn on the viewfinder images

OMX_IndexConfigBrcmDrawStaticBox
Used by: camera

typedef struct OMX_CONFIG_STATICBOXTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nIndex;
   OMX_U32 nTotalBoxes;
   OMX_S32 nValidBoxes;
   OMX_BOOL bDrawOtherBoxes;
   OMX_STATICBOX sBoxes[1];
} OMX_CONFIG_STATICBOXTYPE;

Allows a client to set a static box to be drawn on the viewfinder images using the parameters specified for other types of boxes (face tracking, or focus results). This box will always be drawn when it is defined, overriding any face tracking or focus cycle results.

Query / set the audio platform-specific mute status of the audio output

OMX_IndexConfigBrcmGlobalAudioMute
Used by: audio_render

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Enable / disable the High Dynamic Range (HDR) software stage

OMX_IndexConfigBrcmHighDynamicRange
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query I/O performance statistics

OMX_IndexConfigBrcmIOPerfStats
Used by: write_still, write_media

typedef struct OMX_CONFIG_BRCMIOPERFSTATSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_BOOL bEnabled;
   OMX_BRCM_PERFSTATS write;
   OMX_BRCM_PERFSTATS flush;
   OMX_BRCM_PERFSTATS wait;
} OMX_CONFIG_BRCMIOPERFSTATSTYPE;

A sink component can gather various statistics about I/O (eg. file media) performance that can be used by clients for debugging purposes. The bEnabled field is used to turn the gathering of statistics on/off.

bEnabled
Enable/disable I/O performance statistics
write
count:bytes num:microseconds
flush
count:frequency num:microseconds waiting to flush data
wait
count:frequency num:microseconds waiting in calling function

Processing Latency Bound

OMX_IndexConfigBrcmMinimumProcessingLatency
Used by: audio_mixer

typedef struct OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_TICKS nOffset;
} OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY;

Query/set the difference between the actual media time and when the component receives request fulfillments for media time requests. This can be used with e.g. splitter/mixer components to control when the component stops waiting for input or output packets from active streams and continues with processing (to maintain a constant processing rate).

Query the number of times the output buffer has filled up

OMX_IndexConfigBrcmOutputBufferFullCount
Used by: write_media

This index uses the standard IL structure OMX_PARAM_U32TYPE

This is a rough guide to whether or not the output destination (SD card typically) is keeping up. This configuration value can be monitored via OMX_IndexConfigRequestCallback.

Pool memory usage values

OMX_IndexConfigBrcmPoolMemAllocSize
Used by: camera, video_decode, video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This config allows the client to query how much memory is being used by the component for any image pools.

Query port buffer stats history

OMX_IndexConfigBrcmPortBufferStats
Used by: null_sink

typedef struct OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nCount;
   OMX_BRCMBUFFERSTATSTYPE sData[1];
} OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE;

Ports that gather statistics for debugging and diagnostics might also collect information about buffer header fields and data. The sStatsData field is a variable length array and the number of items is denoted by nStatsCount.

Query port statistics

OMX_IndexConfigBrcmPortStats
Used by: source, null_sink, write_media, video_encode, video_render

typedef struct OMX_CONFIG_BRCMPORTSTATSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nImageCount;
   OMX_U32 nBufferCount;
   OMX_U32 nFrameCount;
   OMX_U32 nFrameSkips;
   OMX_U32 nDiscards;
   OMX_U32 nEOS;
   OMX_U32 nMaxFrameSize;

   OMX_TICKS nByteCount;
   OMX_TICKS nMaxTimeDelta;
   OMX_U32 nCorruptMBs;
} OMX_CONFIG_BRCMPORTSTATSTYPE;

Some ports gather various statistics that can be used by clients for debugging purposes. This structure is the set of all statistics that are gathered. The nFrameSkips field indicates the number of frames that did not have an expected PTS value based on the port frame rate. The nByteCount field is a 64 bit value, that will either use a 64 bit type or two 32 bit types, similarly to OMX_TICKS.

nCorruptMBs
Number of corrupt macroblocks in the stream

Forcing a write sync

OMX_IndexConfigBrcmSyncOutput
Used by: write_still

typedef struct OMX_CONFIG_BRCMSYNCOUTPUTTYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
}  OMX_CONFIG_BRCMSYNCOUTPUTTYPE;

Setting this config forces a sync of data to the filesystem.

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information

Force use of proprietary callback

OMX_IndexConfigBrcmUseProprietaryCallback
Used by: image_encode, video_encode, video_render, video_splitter

This index uses the standard IL structure OMX_CONFIG_BRCMUSEPROPRIETARYTUNNELTYPE

Disable/enable the use of proprietary callbacks rather than OpenMAX IL buffer handling.

Video encoding output slice size

OMX_IndexConfigBrcmVideoEncodedSliceSize
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This config allows the client to set the slice size used in bytes, as opposed to the standard OMX parameters which are in macroblocks.

Configures the number of macro-block rows per slice

OMX_IndexConfigBrcmVideoEncoderMBRowsPerSlice
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

Setting the value to zero resets to the default (one slice per frame).

Configure the number of frames between intra frames

OMX_IndexConfigBrcmVideoIntraPeriod
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This overrides the setting in OMX_IndexConfigBrcmVideoIntraPeriodTime.

Configure the time between intra frames, in microseconds

OMX_IndexConfigBrcmVideoIntraPeriodTime
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

Only valid if the framerate is zero (and hence the framerate is inferred from timestamps). This overrides the setting in OMX_IndexConfigBrcmVideoIntraPeriod.

Configures the intra refresh mode, if supported by the codec

OMX_IndexConfigBrcmVideoIntraRefresh
Used by: video_encode

This index uses the standard IL structure OMX_VIDEO_PARAM_INTRAREFRESHTYPE

Can be used when the component is executing.

Request an I frame

OMX_IndexConfigBrcmVideoRequestIFrame
Used by: video_encode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

If set to OMX_TRUE, the next job submitted will be flagged to be converted as an I-frame. This automatically resets itself. This works with proprietary tunnelling and OMX buffers.

Advertise buffer stall state

OMX_IndexConfigBufferStall
Used by: video_decode

typedef struct OMX_CONFIG_BUFFERSTALLTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bStalled;
   OMX_U32 nDelay;
} OMX_CONFIG_BUFFERSTALLTYPE;

Query/set the buffer stall threashold. When set the nDelay parameter specifies a time to class whether buffer output is stalled. When get, the nDelay parameter indicates the current buffer delay, and the {bStalled} parameter indicates whether this time is over a previously set threashold. When OMX_IndexConfigRequestCallback is used with this index, a notification is given when bStalled changes.

bStalled
Whether we are stalled
nDelay
Delay in real time (us) from last buffer to current time

Set the camera into a mode where it is only doing captures

OMX_IndexConfigBurstCapture
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

The viewfinder port can be executing, but will only emit the snapshot images associated to any captures requested, and not viewfinder frames. This is an optimisation, and not essential.

Starting a capture aborts AF

OMX_IndexConfigCameraCaptureAbortsAutoFocus
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set whether setting the capture bit will abort any AF cycle that is in progress, or if the AF cycle should continue and the capture happen automatically on completion.

Query / set whether a separate stats pass should be done before each capture

OMX_IndexConfigCameraEnableStatsPass
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This will be done automatically if flash is requested.

Camera features

OMX_IndexConfigCameraFeatures
Used by: camera

typedef struct OMX_CONFIG_CAMERAFEATURESTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_CONFIG_CAMERAFEATURESSHUTTER eHasMechanicalShutter;
   OMX_BOOL bHasLens;
} OMX_CONFIG_CAMERAFEATURESTYPE;

Query the capabilities of the current camera (lens and shutter). Some information is only valid when the component is Idle or Executing.

Flash cycle configuration

OMX_IndexConfigCameraFlashConfig
Used by: camera

typedef enum OMX_CAMERAFLASHCONFIGSYNCTYPE {
   OMX_CameraFlashConfigSyncFrontSlow,
   OMX_CameraFlashConfigSyncRearSlow,
   OMX_CameraFlashConfigSyncFrontFast,
   OMX_CameraFlashConfigSyncKhronosExtensions = 0x6F000000,
   OMX_CameraFlashConfigSyncVendorStartUnused = 0x7F000000,
   OMX_CameraFlashConfigSyncMax = 0x7FFFFFFF
} OMX_CAMERAFLASHCONFIGSYNCTYPE;

typedef struct OMX_CONFIG_CAMERAFLASHCONFIGTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bUsePreFlash;
   OMX_BOOL bUseFocusDistanceInfo;
   OMX_CAMERAFLASHCONFIGSYNCTYPE eFlashSync;
   OMX_BOOL bIgnoreChargeState;
} OMX_CONFIG_CAMERAFLASHCONFIGTYPE;

This parameter allows the configuration of various parameters relating to the flash cycle. Some of the options are only applicable to xenon flash. bUsePreFlash uses a low intensity pre-flash to determine flash intensity. This setting is recommended for almost all flash situations. bUseFocusDistanceInfo uses the distance of the subject, as measured by the AF algorithm to set the intensity of the flash. eFlashSync configures which edge of the shutter is used to synchronise the flash, and the duration of the exposure. eIgnoreChargeState will make the flash fire, even if it is not fully charged.

Set the height of the high-resolution output image in stills capture only

OMX_IndexConfigCameraISPOutputPoolHeight
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

The component will copy out of this image into OMX buffers as required, or pass pointers to stripes within the buffer. If the height of this buffer is less than nFrameHeight for a port, then attempts to use OMX_IndexParamImagePoolDisplayFunction, or OMX_IndexParamCameraPoolToEncoderFunction will be rejected as the complete frame isn't available. A value of 0 is interpreted as allocate full frames. The value must be a multiple of 16.

Camera device driver information

OMX_IndexConfigCameraInfo
Used by: camera

#define OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN 16
typedef struct OMX_CONFIG_LENSCALIBRATIONVALUETYPE
{
   OMX_U16  nShutterDelayTime;
   OMX_U16  nNdTransparency;
   OMX_U16  nPwmPulseNearEnd;
   OMX_U16  nPwmPulseFarEnd;
   OMX_U16  nVoltagePIOutNearEnd[3];
   OMX_U16  nVoltagePIOut10cm[3];
   OMX_U16  nVoltagePIOutInfinity[3];
   OMX_U16  nVoltagePIOutFarEnd[3];
   OMX_U32  nAdcConversionNearEnd;
   OMX_U32  nAdcConversionFarEnd;
} OMX_CONFIG_LENSCALIBRATIONVALUETYPE;

Ask the camera component for the driver info on the current camera device

Pointer to the raw input image

OMX_IndexConfigCameraInputFrame
Used by: camera

typedef struct OMX_CONFIG_IMAGEPTRTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_PTR pImage;
} OMX_CONFIG_IMAGEPTRTYPE;

This parameter parameter allows the return of a pointer to a VideoCore image resource.

Allows the client to obtain the ISO reference for unity analogue gain

OMX_IndexConfigCameraIsoReferenceValue
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

Camera Sensor Mode

OMX_IndexConfigCameraSensorModes
Used by: camera, camera, camera

typedef struct OMX_CONFIG_CAMERASENSORMODETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nModeIndex;
   OMX_U32 nNumModes;
   OMX_U32 nWidth;
   OMX_U32 nHeight;
   OMX_U32 nPaddingRight;
   OMX_U32 nPaddingDown;
   OMX_COLOR_FORMATTYPE eColorFormat;
   OMX_U32 nFrameRateMax;
   OMX_U32 nFrameRateMin;
} OMX_CONFIG_CAMERASENSORMODETYPE;

This parameter is used by clients to determine the sensor mode, and hence the memory usage, of the camera module. This is primarily used for determining the size of the input image pool. It can be used in two ways dependent on nPortIndex. If nPortIndex is OMX_ALL, it returns the sensor mode corresponding to nModeIndex, and the number of modes in nNumModes. If nModeIndex is greater than or equal to nNumModes only nNumModes is returned. If nPortIndex is equal to a camera video output port index, it returns the sensor mode that would be selected for the values currently in OMX_IndexParamPortDefinition for that port. The nPaddingRight and nPaddingDown values determine the extra padding the sensor adds to the image. These values must be added to nWidth and nHeight respectively if the client is specifying the input image pool size.

Get the parameters applied to the last frame from the camera

OMX_IndexConfigCameraSettings
Used by: camera

typedef struct OMX_CONFIG_CAMERASETTINGSTYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nExposure;
    OMX_U32 nAnalogGain;
    OMX_U32 nDigitalGain;
    OMX_U32 nLux;
    OMX_U32 nRedGain;
    OMX_U32 nBlueGain;
    OMX_U32 nFocusPosition;
} OMX_CONFIG_CAMERASETTINGSTYPE;

The client can also set OMX_IndexConfigRequestCallback for this config.

Used to set the minimum number of lines to be passed using the stripe function

OMX_IndexConfigCameraStripeFuncMinLines
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

The stripe function itself is set with OMX_IndexParamCameraStripeFunction.

Configure filename for raw Bayer image

OMX_IndexConfigCaptureRawImageURI
Used by: camera

This index uses the standard IL structure OMX_PARAM_CONTENTURITYPE

Query / set whether the filename to which the raw Bayer format image should be written out to file. Follows the standard URI structure. Can NOT be set when the capture bit is set and the capture port is executing. Will return OMX_ErrorUnsupportedIndex if the algorithm is not loaded.

Clock Adjustment

OMX_IndexConfigClockAdjustment
Used by: clock

This index uses the standard IL structure OMX_TIME_CONFIG_TIMESTAMPTYPE

This allows the client to read from the clock the total time adjustment made to the clock whilst running by the reference clock. If the reference clock sends a time that causes the media time to jump this difference is added to the total, which can be reported via this index. When the stream restarts by setting the clock state to OMX_TIME_ClockStateRunning or OMX_TIME_ClockStateWaitingForStartTime this adjustment total is set to zero.

Face Beautification

OMX_IndexConfigCommonFaceBeautification
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Enables/disables the face beautification algorithm, if it is present.

Face detection

OMX_IndexConfigCommonFaceDetectionControl
Used by: camera

typedef struct OMX_CONFIG_FACEDETECTIONCONTROLTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_FACEDETECTIONCONTROLTYPE eMode;
   OMX_U32 nFrames;
   OMX_U32 nMaxRegions;
   OMX_U32 nQuality;
} OMX_CONFIG_FACEDETECTIONCONTROLTYPE;

Query / set the state of the face detection algorithm. Will return OMX_ErrorUnsupportedIndex if the algorithm is not loaded.

nFrames
number of frames to apply this setting for,
nMaxRegions
maximum number of regions to detect, 0 for unlimited
nQuality
hint for algorithmic complexity, range is 0-100.

Face detection output

OMX_IndexConfigCommonFaceDetectionRegion
Used by: camera

typedef struct OMX_CONFIG_FACEDETECTIONREGIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nIndex;
   OMX_U32 nDetectedRegions;
   OMX_S32 nValidRegions;
   OMX_U32 nImageWidth;
   OMX_U32 nImageHeight;
   OMX_FACEREGIONTYPE sRegion[1];
} OMX_CONFIG_FACEDETECTIONREGIONTYPE;

Query the currently detected face regions within the viewfinder image. Will return OMX_ErrorUnsupportedIndex if the algorithm is not loaded.

nPortIndex
index of port with face detection enabled
nIndex
first requested region number, allowing retrieval of many regions
nDetectedRegions
total number of detected regions
nValidRegions
number of valid regions in sRegion array
nImageWidth
Width of the image, hence reference for the face coordinates
nImageHeight
Height of the image, hence reference for the face coordinates
sRegion
variable length array of face regions

Flicker cancellation

OMX_IndexConfigCommonFlickerCancellation
Used by: camera

typedef enum OMX_COMMONFLICKERCANCELTYPE {
   OMX_COMMONFLICKERCANCEL_OFF,
   OMX_COMMONFLICKERCANCEL_AUTO,
   OMX_COMMONFLICKERCANCEL_50,
   OMX_COMMONFLICKERCANCEL_60,
   OMX_COMMONFLICKERCANCEL_DUMMY = 0x7FFFFFFF
} OMX_COMMONFLICKERCANCELTYPE;

typedef struct OMX_CONFIG_FLICKERCANCELTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_COMMONFLICKERCANCELTYPE eFlickerCancel;
} OMX_CONFIG_FLICKERCANCELTYPE;

Query / set the flicker cancellation frequency. Values are defined for Off, 50Hz, 60Hz, or auto. The method for auto detecting the flicker frequency is not defined, and currently results in the feature being turned off.

Define focus regions

OMX_IndexConfigCommonFocusRegionXY
Used by: camera

typedef enum OMX_FOCUSREGIONTYPE {
   OMX_FocusRegionNormal,
   OMX_FocusRegionFace,
   OMX_FocusRegionMax
} OMX_FOCUSREGIONTYPE;

typedef struct OMX_FOCUSREGIONXY {
   OMX_U32 xLeft;
   OMX_U32 xTop;
   OMX_U32 xWidth;
   OMX_U32 xHeight;
   OMX_U32 nWeight;
   OMX_U32 nMask;
   OMX_FOCUSREGIONTYPE eType;
} OMX_FOCUSREGIONXY;

typedef struct OMX_CONFIG_FOCUSREGIONXYTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nIndex;
   OMX_U32 nTotalRegions;
   OMX_S32 nValidRegions;
   OMX_BOOL bLockToFaces;
   OMX_U32 xFaceTolerance;
   OMX_FOCUSREGIONXY sRegion[1];
} OMX_CONFIG_FOCUSREGIONXYTYPE;

Query / set the focus regions to use as a set of x/y/width/height boxes relative to the overall image. nIndex - first region number being set/read, allowing retrieval/setting of many regions over several requests. nTotalRegions - total number of regions currently defined. nValidRegions - number of valid regions in the sRegion array. When getting, the client sets this to the number of regions available. The component writes region data and updates this field with how many regions have been written to. When setting, this is the number of regions defined with this structure bLockToFaces - compare the region(s) given to the latest face tracking results. If a face is found within xFaceTolerance of the defined region, then amend the region to correspond to the face. xFaceTolerance - 0p16 value to define the max difference between the region centre and face tracking result centre to take the FT results sRegions - variable length array of focus regions.

Parameterized Image Filter

OMX_IndexConfigCommonImageFilterParameters
Used by: image_fx, camera

typedef struct OMX_CONFIG_IMAGEFILTERPARAMSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_IMAGEFILTERTYPE eImageFilter;
   OMX_U32 nNumParams;
   OMX_U32 nParams[4];
} OMX_CONFIG_IMAGEFILTERPARAMSTYPE;

This structure contains optional parameters for some image filters. The following table lists all image filters that support parameters.
FilterParametersNotes
OMX_ImageFilterSolarize [x0 y0 y1 y2] Linear mapping of [0,x0] to [0,y0>] and [x0,255] to [y1,y2]. Default is "128 128 128 0".
OMX_ImageFilterSharpen [sz [str [th]] sz size of filter, either 1 or 2. str strength of filter. th threshold of filter. Default is "1 40 20".
OMX_ImageFilterFilm [[str] [u v]] str strength of effect. u sets u to constant value. v sets v to constant value. Default is "24".
OMX_ImageFilterBlur [sz] sz size of filter, either 1 or 2. Default is "2".
OMX_ImageFilterSaturation [str] str strength of effect, in 8.8 fixed point format. u/v value differences from 128 are multiplied by str. Default is "272".

Query the type of interlacing in use in the decoded video

OMX_IndexConfigCommonInterlace
Used by: video_decode

typedef struct OMX_CONFIG_INTERLACETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_INTERLACETYPE eMode;
   OMX_BOOL bRepeatFirstField;
} OMX_CONFIG_INTERLACETYPE;

nPortIndex
index of port emitting or accepting the content
eMode
The interlace type of the content
bRepeatFirstField
Whether to repeat the first field

Red eye removal/reduction

OMX_IndexConfigCommonRedEyeRemoval
Used by: camera

typedef enum OMX_REDEYEREMOVALTYPE {
   OMX_RedEyeRemovalNone,
   OMX_RedEyeRemovalOn,
   OMX_RedEyeRemovalAuto,
   OMX_RedEyeRemovalKhronosExtensions = 0x6F000000,
   OMX_RedEyeRemovalVendorStartUnused = 0x7F000000,
   OMX_RedEyeRemovalSimple,
   OMX_RedEyeRemovalMax = 0x7FFFFFFF
} OMX_REDEYEREMOVALTYPE;

typedef struct OMX_CONFIG_REDEYEREMOVALTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_REDEYEREMOVALTYPE eMode;
} OMX_CONFIG_REDEYEREMOVALTYPE;

Configures the red eye reduction algorithm in the camera processing pipeline. The stage is only enabled if the flash mode is not FlashOff. The OMX_RedEyeRemovalSimple mode requests that the algorithm uses a reduced complexity algorithm to reduce the processing time.

Reports the scene type detected by a scene detection algorithm.

OMX_IndexConfigCommonSceneDetected
Used by: camera

typedef struct OMX_CONFIG_SCENEDETECTTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_SCENEDETECTTYPE eScene;
} OMX_CONFIG_SCENEDETECTTYPE;

This config is used to report to clients the scene type that has been detected.

eScene
Scene type detected

Automatic Scene Detection Control

OMX_IndexConfigCommonSceneDetectionControl
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Enables/disables the scene detection algorithm, if it is present.

Image sharpening

OMX_IndexConfigCommonSharpness
Used by: camera

typedef struct OMX_CONFIG_SHARPNESSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_S32 nSharpness;
} OMX_CONFIG_SHARPNESSTYPE;

Query / set the sharpening/softening of the output image. -100 = max softening. 0 = no change. +100 = max sharpening.

It is only applicable to DivX DRM rental files

OMX_IndexConfigConfirmView
Used by: read_media

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This is a boolean config parameter. Setting this to TRUE will continue the playback of a rental file, while setting to FALSE has no effect, and the host application is expected to stop the playback afterwards.

Display Region

OMX_IndexConfigDisplayRegion
Used by: video_render

typedef enum OMX_DISPLAYTRANSFORMTYPE{
   OMX_DISPLAY_ROT0 = 0,
   OMX_DISPLAY_MIRROR_ROT0 = 1,
   OMX_DISPLAY_MIRROR_ROT180 = 2,
   OMX_DISPLAY_ROT180 = 3,
   OMX_DISPLAY_MIRROR_ROT90 = 4,
   OMX_DISPLAY_ROT270 = 5,
   OMX_DISPLAY_ROT90 = 6,
   OMX_DISPLAY_MIRROR_ROT270 = 7,
   OMX_DISPLAY_DUMMY = 0x7FFFFFFF
} OMX_DISPLAYTRANSFORMTYPE;

typedef struct OMX_DISPLAYRECTTYPE {
   OMX_S16 x_offset;
   OMX_S16 y_offset;
   OMX_S16 width;
   OMX_S16 height;
} OMX_DISPLAYRECTTYPE;

typedef enum OMX_DISPLAYMODETYPE {
   OMX_DISPLAY_MODE_FILL = 0,
   OMX_DISPLAY_MODE_LETTERBOX = 1,
   OMX_DISPLAY_MODE_DUMMY = 0x7FFFFFFF
} OMX_DISPLAYMODETYPE;

typedef enum OMX_DISPLAYSETTYPE {
   OMX_DISPLAY_SET_NONE = 0,
   OMX_DISPLAY_SET_NUM = 1,
   OMX_DISPLAY_SET_FULLSCREEN = 2,
   OMX_DISPLAY_SET_TRANSFORM = 4,
   OMX_DISPLAY_SET_DEST_RECT = 8,
   OMX_DISPLAY_SET_SRC_RECT = 0x10,
   OMX_DISPLAY_SET_MODE = 0x20,
   OMX_DISPLAY_SET_PIXEL = 0x40,
   OMX_DISPLAY_SET_NOASPECT = 0x80,
   OMX_DISPLAY_SET_LAYER = 0x100,
   OMX_DISPLAY_SET_COPYPROTECT = 0x200,
   OMX_DISPLAY_SET_ALPHA = 0x400,
   OMX_DISPLAY_SET_DUMMY = 0x7FFFFFFF
} OMX_DISPLAYSETTYPE;

typedef struct OMX_CONFIG_DISPLAYREGIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_DISPLAYSETTYPE set;
   OMX_U32 num;
   OMX_BOOL fullscreen;
   OMX_DISPLAYTRANSFORMTYPE transform;
   OMX_DISPLAYRECTTYPE dest_rect;
   OMX_DISPLAYRECTTYPE src_rect;
   OMX_BOOL noaspect;
   OMX_DISPLAYMODETYPE mode;
   OMX_U32 pixel_x;
   OMX_U32 pixel_y;
   OMX_S32 layer;
   OMX_BOOL copyprotect_required;
   OMX_U32 alpha;
   OMX_U32 wfc_context_width;
   OMX_U32 wfc_context_height;
} OMX_CONFIG_DISPLAYREGIONTYPE;

This config sets the output display device, as well as the region used on the output display, any display transformation, and some flags to indicate how to scale the image. The structure uses a bitfield, set, to indicate which fields are set and should be used. All other fields will maintain their current value. num describes the display output device, with 0 typically being a directly connected LCD display. fullscreen indicates that we are using the full device screen area, rather than a window of the display. If fullscreen is false, then dest_rect is used to specify a region of the display to use. transform indicates any rotation or flipping used to map frames onto the natural display orientation. The src_rect indicates which area of the frame to display. If all values are zero, the whole frame will be used. The noaspect flag, if set, indicates that any display scaling should disregard the aspect ratio of the frame region being displayed. mode indicates how the image should be scaled to fit the display. OMX_DISPLAY_MODE_FILL indicates that the image should fill the screen by potentially cropping the frames. Setting mode to OMX_DISPLAY_MODE_LETTERBOX indicates that all the source region should be displayed and black bars added if necessary. The pixel_x and pixel_y values, if non-zero, are used to describe the size of a source pixel. If values are zero, then pixels default to being square. Set the layer that the image will appear on with the layer field.

Draw boxes around faces

OMX_IndexConfigDrawBoxAroundFaces
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set the state of adding boxes around the faces detected in the viewfinder frames.

Face box style parameters.

OMX_IndexConfigDrawBoxLineParams
Used by: camera

typedef struct OMX_YUVCOLOUR {
   OMX_U8 nY;
   OMX_U8 nU;
   OMX_U8 nV;
} OMX_YUVCOLOUR;

typedef struct OMX_CONFIG_DRAWBOXLINEPARAMS {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_U32 xCornerSize;
    OMX_U32 nPrimaryFaceLineWidth;
    OMX_U32 nOtherFaceLineWidth;
    OMX_U32 nFocusRegionLineWidth;
    OMX_YUVCOLOUR sPrimaryFaceColour;
    OMX_YUVCOLOUR sPrimaryFaceSmileColour;
    OMX_YUVCOLOUR sPrimaryFaceBlinkColour;
    OMX_YUVCOLOUR sOtherFaceColour;
    OMX_YUVCOLOUR sOtherFaceSmileColour;
    OMX_YUVCOLOUR sOtherFaceBlinkColour;
    OMX_BOOL bShowFocusRegionsWhenIdle;
    OMX_YUVCOLOUR sFocusRegionColour;
    OMX_BOOL bShowAfState;
    OMX_BOOL bShowOnlyPrimaryAfState;
    OMX_BOOL bCombineNonFaceRegions;
    OMX_YUVCOLOUR sAfLockPrimaryFaceColour;
    OMX_YUVCOLOUR sAfLockOtherFaceColour;
    OMX_YUVCOLOUR sAfLockFocusRegionColour;
    OMX_YUVCOLOUR sAfFailPrimaryFaceColour;
    OMX_YUVCOLOUR sAfFailOtherFaceColour;
    OMX_YUVCOLOUR sAfFailFocusRegionColour;
 } OMX_CONFIG_DRAWBOXLINEPARAMS;

Query / set the parameters for the box to be drawn around faces/focus regions.

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information
nPortIndex
Port to which this config applies
xCornerSize
Size of the corners as a fraction of the complete side
nPrimaryFaceLineWidth
Width of the box line for the primary face in pixels
nOtherFaceLineWidth
Width of the box line for other faces in pixels
nFocusRegionLineWidth
Width of the box line for focus regions in pixels
sPrimaryFaceColour
YUV colour for the primary face
sPrimaryFaceSmileColour
YUV colour for the primary face if smiling
sPrimaryFaceBlinkColour
YUV colour for the primary face if blinking
sOtherFaceColour
YUV colour for the all other faces
sOtherFaceSmileColour
YUV colour for the all other faces if smiling
sOtherFaceBlinkColour
YUV colour for the all other faces if blinking
bShowFocusRegionsWhenIdle
Are focus regions displayed when just in viewfinder/AF idle
sFocusRegionColour
YUV colour for focus regions
bShowAfState
Change to the colours specified below if AF cycle has run
bShowOnlyPrimaryAfState
Only show the primary face when displaying the AF status
bCombineNonFaceRegions
Combine all regions not defined as faces into one single box covering them all
sAfLockPrimaryFaceColour
YUV colour for the primary face
sAfLockOtherFaceColour
YUV colour for the all other faces
sAfLockFocusRegionColour
YUV colour for focus regions
sAfFailPrimaryFaceColour
YUV colour for the primary face
sAfFailOtherFaceColour
YUV colour for the all other faces
sAfFailFocusRegionColour
YUV colour for focus regions

View information for DRM rental files

OMX_IndexConfigDrmView
Used by: read_media, read_media

typedef struct OMX_CONFIG_DRMVIEWTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nCurrentView;
   OMX_U32 nMaxView;
} OMX_CONFIG_DRMVIEWTYPE;

This structure contains information about the number of available views in the selected DRM rental file, which typically have a given maximum view count. It allows the user to explicitly agree to playing the file, which will increment the number of current views the file has had.

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information
nCurrentView
Current view count
nMaxView
Max. no. of view allowed

Configure image dynamic range expansion processing

OMX_IndexConfigDynamicRangeExpansion
Used by: camera

typedef enum OMX_DYNAMICRANGEEXPANSIONMODETYPE {
   OMX_DynRangeExpOff,
   OMX_DynRangeExpLow,
   OMX_DynRangeExpMedium,
   OMX_DynRangeExpHigh,
   OMX_DynRangeExpKhronosExtensions = 0x6F000000,
   OMX_DynRangeExpVendorStartUnused = 0x7F000000,
   OMX_DynRangeExpMax = 0x7FFFFFFF
} OMX_DYNAMICRANGEEXPANSIONMODETYPE;

typedef struct OMX_CONFIG_DYNAMICRANGEEXPANSIONTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_DYNAMICRANGEEXPANSIONMODETYPE eMode;
} OMX_CONFIG_DYNAMICRANGEEXPANSIONTYPE;

Configures the intensity of an image dynamic range expansion processing stage

AVC Override encode capabilities

OMX_IndexConfigEncLevelExtension
Used by: video_encode

typedef struct OMX_VIDEO_CONFIG_LEVEL_EXTEND {
   OMX_U32 nSize; 
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nCustomMaxMBPS;
   OMX_U32 nCustomMaxFS;
   OMX_U32 nCustomMaxBRandCPB;
} OMX_VIDEO_CONFIG_LEVEL_EXTEND;

This allows finer control of the H264 encode internal parameters.

nCustomMaxMBPS
Specifies maximum macro-blocks per second
nCustomMaxFS
Specifies maximum frame size (macro-blocks per frame)
nCustomMaxBRandCPB
Specifies maximum bitrate in units of 1000 bits/s and Codec Picture Buffer (CPB derived from bitrate)

Face Recognition Control

OMX_IndexConfigFaceRecognitionControl
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Enables/disables the face recognition software stage (if present)

Face Recognition Database File

OMX_IndexConfigFaceRecognitionDatabaseUri
Used by: camera

This index uses the standard IL structure OMX_PARAM_CONTENTURITYPE

Specifies the URI of the database file to be used by face recognition.

Face Recognition Face Learning

OMX_IndexConfigFaceRecognitionSaveFace
Used by: camera

typedef struct OMX_PARAM_BRCMU64TYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_U32 nLowPart;
    OMX_U32 nHighPart;
} OMX_PARAM_BRCMU64TYPE;

Instructs the face recognition stage to save the next primary face it sees into the database with the supplied ID.

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information
nPortIndex
port that this structure applies to
nLowPart
low bits of the unsigned 64 bit value
nHighPart
high bits of the unsigned 64 bit value

Image field of view

OMX_IndexConfigFieldOfView
Used by: camera

typedef struct OMX_CONFIG_BRCMFOVTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 xFieldOfViewHorizontal;
   OMX_U32 xFieldOfViewVertical;
} OMX_CONFIG_BRCMFOVTYPE;

Returns the field of view provided by the current camera settings. Read only.

xFieldOfViewHorizontal
Horizontal field of view in degrees. 16p16 value
xFieldOfViewVertical
Vertical field of view in degrees. 16p16 value

Query the charge level of the currently selected flash device

OMX_IndexConfigFlashChargeLevel
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

This is updated at the start of every frame.

Flash Information

OMX_IndexConfigFlashInfo
Used by: camera

typedef struct OMX_CONFIG_FLASHINFOTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U8 sFlashName[OMX_CONFIG_FLASHINFOTYPE_NAME_LEN];
   OMX_CAMERAFLASHTYPE eFlashType;
   OMX_U8 nDeviceId;
   OMX_U8 nDeviceVersion;
} OMX_CONFIG_FLASHINFOTYPE;

Queries for the information on the flash devices present.

Set crop region seen by ISP

OMX_IndexConfigInputCropPercentages
Used by: camera

typedef struct OMX_CONFIG_INPUTCROPTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 xLeft;
   OMX_U32 xTop;
   OMX_U32 xWidth;
   OMX_U32 xHeight;
} OMX_CONFIG_INPUTCROPTYPE;

Query / set the region of the input image that will be cropped before being processed by the ISP. It is specified as a fraction of the input width and height, expressed as a 16p16 value.

xLeft
Fraction of the width for the top left corner of the rectangle
xTop
Fraction of the height for the top left corner of the rectangle
xWidth
Fraction of the image width desired
xHeight
Fraction of the image height desired

Maintain target latency by adjusting clock speed

OMX_IndexConfigLatencyTarget
Used by: audio_render, clock, video_render

typedef struct OMX_CONFIG_LATENCYTARGETTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bEnabled;
   OMX_U32 nFilter;
   OMX_U32 nTarget;
   OMX_U32 nShift;
   OMX_S32 nSpeedFactor;
   OMX_S32 nInterFactor;
   OMX_S32 nAdjCap;
} OMX_CONFIG_LATENCYTARGETTYPE;

Query/set parameters used when adjusting clock speed to match the measured latency to a specified value.

bEnabled
whether this mode is enabled
nFilter
number of latency samples to filter on, good value: 1
nTarget
target latency, us
nShift
shift for storing latency values, good value: 7
nSpeedFactor
multiplier for speed changes, in 24.8 format, good value: 256-512
nInterFactor
divider for comparing latency versus gradiant, good value: 300
nAdjCap
limit for speed change before nSpeedFactor is applied, good value: 100

Minimising Fragmentation

OMX_IndexConfigMinimiseFragmentation
Used by: video_encode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This control can be supported to enable the client to request that the component works to minimise fragmentation of output buffers.

Play Mode

OMX_IndexConfigPlayMode
Used by: read_media

typedef enum OMX_PLAYMODETYPE {
   OMX_PLAYMODE_NORMAL,
   OMX_PLAYMODE_FF,
   OMX_PLAYMODE_REW,
   OMX_PLAYMODE_DUMMY = 0x7FFFFFFF
} OMX_PLAYMODETYPE;

typedef struct OMX_CONFIG_PLAYMODETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_PLAYMODETYPE eMode;
} OMX_CONFIG_PLAYMODETYPE;

The playmode affects which frames are extracted from the media file and passed on the output ports. OMX_PLAYMODE_NORMAL will extract all frames, OMX_PLAYMODE_FF extracts only IDR frames when video is present, or only occasional packets of audio if no video is present. OMX_PLAYMODE_REW is similar to OMX_PLAYMODE_FF but extracts packets in reverse time order.

Per-port capturing state

OMX_IndexConfigPortCapturing
Used by: camera

typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;

This is proposed in IL533f for controlling which ports of a multi-port camera component are capturing frames.

Standby/power control

OMX_IndexConfigPowerDown
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query /set the power status of the camera module. Setting this parameter to OMX_TRUE instructs the component to power down the sensor, but keeping all memory allocated as required by the component state.

Presentation Offset

OMX_IndexConfigPresentationOffset
Used by: audio_render, video_scheduler

This index uses the standard IL structure OMX_TIME_CONFIG_TIMESTAMPTYPE

The value of nTimestamp is added to the offset requested for each new input frame. Takes effect for all new input frames, and has no effect on the offset used for currently-queued frames. A positive value will make the requested port earlier relative to other streams, a negative value will make the requested port later relative to other streams.

Privacy indicator control

OMX_IndexConfigPrivacyIndicator
Used by: camera

typedef enum OMX_PRIVACYINDICATORTYPE {
   OMX_PrivacyIndicatorOff,
   OMX_PrivacyIndicatorOn,
   OMX_PrivacyIndicatorForceOn,
   OMX_PrivacyIndicatorKhronosExtensions = 0x6F000000,
   OMX_PrivacyIndicatorVendorStartUnused = 0x7F000000,
   OMX_PrivacyIndicatorMax = 0x7FFFFFFF
} OMX_PRIVACYINDICATORTYPE;

typedef struct OMX_CONFIG_PRIVACYINDICATORTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_PRIVACYINDICATORTYPE ePrivacyIndicatorMode;
} OMX_CONFIG_PRIVACYINDICATORTYPE;

This config allows control over the privacy indicator light. This light indicates when a capture is in progress. OMX_PrivacyIndicatorOff indicator is disabled. OMX_PrivacyIndicatorOn indicator will be turned on whenever an image is being captured as determined by the capturing bit. Minimum on duration of approx 200ms. OMX_PrivacyIndicatorForceOn results in turning the indicator on immediately, whether an image is being captured or not. The mode will automatically revert to OMX_PrivacyIndicatorOff once the indicator has been turned on, so OMX_PrivacyIndicatorForceOn must be requested at least every 200ms if the indicator is to remain on.

Triggers closing and reopening the codec

OMX_IndexConfigRefreshCodec
Used by: video_decode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This will only happen if the codec is currently loaded. To perform this operation, the bEnabled value should be set to OMX_TRUE.

Enable config change notifications.

OMX_IndexConfigRequestCallback
Used by: audio_mixer, null_sink, read_media, write_media, camera, video_decode

typedef struct OMX_CONFIG_REQUESTCALLBACKTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_INDEXTYPE nIndex;
   OMX_BOOL bEnable;
} OMX_CONFIG_REQUESTCALLBACKTYPE;

This config implements IL416c to allow clients to request notification of when a config or parameter is changed. When the parameter specified in nIndex for port nPortIndex changes, an OMX_EventParamOrConfigChanged event is generated for the client.

Single Step

OMX_IndexConfigSingleStep
Used by: clock, video_decode, video_splitter

This index uses the standard IL structure OMX_PARAM_U32TYPE

When setting this config on a paused clock, where the nU32 value is non-zero and nPortIndex is OMX_ALL, the media clock will advance through the next nU32 next requested media times. A paused clock is in running state but has a time scale of 0. This will trigger the display of some video frames, so allowing single-stepping functionality. This config can be set multiple times, and will buffer up stepping requests until we have media requests to fulfil, or the clock is stopped or un-paused. This config can also be used on some video output ports and, if nU32 is non-zero, requests that the output port forwards the next nU32 frames appending an EOS marker on the last frame, and then ceases to forward data on this port. If nU32 is zero, any previous request to forward a limited number of frames is cancelled and the default behaviour of this port will resume.

Smart Shake Reduction (SSR)

OMX_IndexConfigSmartShakeReductionEnable
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set the state of the Smart Shake Reduction function. Will return OMX_ErrorUnsupportedIndex if the algorithm is not loaded.

Configure still colour denoise

OMX_IndexConfigStillColourDenoiseEnable
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set the state of the still colour denoise function of the camera. This is only applicable whilst doing a stills capture in YUV422 or YUV420 planar format.

Query / set the state of the antishake function of the camera

OMX_IndexConfigStillsAntiShakeEnable
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Configure temporal denoise

OMX_IndexConfigTemporalDenoiseEnable
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set the state of the temporal denoising function of the camera. This is only applicable whilst the camera is producing images in the Broadcom-specific format or YUV420.

Invalid Start Times

OMX_IndexConfigTimeInvalidStartTime
Used by: clock

This index uses the standard IL structure OMX_TIME_CONFIG_TIMESTAMPTYPE

This allows clock clients to supply a start time notification to the clock whilst indicating that this time is invalid.

Transition Control

OMX_IndexConfigTransitionControl
Used by: transition

typedef struct OMX_CONFIG_TRANSITIONCONTROLTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nPosStart;
   OMX_U32 nPosEnd;
   OMX_S32 nPosIncrement;
   OMX_TICKS nFrameIncrement;
   OMX_BOOL bSwapInputs;
   OMX_U8 name[16];
   OMX_U8 property[64];
} OMX_CONFIG_TRANSITIONCONTROLTYPE;

This structure represents the internal configuration of the transition. Transitions are generated by a loadable plug-in described by the name field. The component appends "_tran.vll" to the name provided, and attempts to load a transition library contained in this VLL. The exact type of transition is configured in a plug-in-dependent manner with the property field. All plug-ins should accept a property field equal to "flags=", where can be a random 32 bit number. If bSwapInputs is false, then the start image is on port 210, the stop image on port 211. These are reversed if bSwapInputs is true. Transition frames are generated from the plug-in by referencing a frame position in [0,65536], where position 0 is the start image, position 65536 is the stop image. The first frame position generated is nPosStart. The last frame position generated is nPosEnd. Each frame will increment the position by nPosIncrement. The timestamp attached to each frame will increment by nFrameIncrement.

Frame identification

OMX_IndexConfigUserSettingsId
Used by: camera

typedef struct OMX_CONFIG_U8TYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_U8  nU8;
} OMX_PARAM_U8TYPE;

Sets an identifier to be set on the start of the next frame. Gets the identifier seen on the last frame from Camplus. This allows a client to identify when a group of settings have all been applied to Camplus (apply settings, change OMX_IndexConfigUserSettingsId, wait for value read back from OMX_IndexConfigUserSettingsId to change to match).

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information
nPortIndex
port that this structure applies to
nU8
U8 value

Configure video colour denoise

OMX_IndexConfigVideoColourDenoiseEnable
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set the state of the video colour denoising function of the camera. This is only applicable whilst the camera is producing images in the Broadcom-specific format or YUV420.

Visualisation Mode

OMX_IndexConfigVisualisation
Used by: visualisation

typedef struct OMX_CONFIG_VISUALISATIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U8 name[16];
   OMX_U8 property[64];
} OMX_CONFIG_VISUALISATIONTYPE;

name is a string of characters specifying the type of visualization. The component appends "_vis.vll" to the name provided, and attempts to load a visualisation library contained in this VLL. property contains configuration parameters and values, which is interpreted by the visualisation library. Typically all visualisations will accept a property string containing 'mode=', where may be a random 32 bit integer in decimal format. If provided, this may select a random mode from that visualisation library.

Wait for focus before capture

OMX_IndexConfigWaitForFocusBeforeCapture
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Query / set whether the camera component will ensure that the camera module has reported the lens back at the focused position before stopping capturing with the OneShot flag set. This may lead to multiple complete images being emitted from the capture port, and any receiving component/client should be prepared for this.

Asynchronous Output

OMX_IndexParamAsynchronousOutput
Used by: write_still

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

The allows the client to specify to a component that is writing files that this writing may happen asynchronously, including opening and closing of files.

Query / set the DDP format of this port

OMX_IndexParamAudioDdp
Used by: audio_decode, audio_render, read_media

This index uses the standard IL structure OMX_AUDIO_PARAM_DDPTYPE

nSamplingRate must be 32000, 44100 or 48000.

Query / set the properties of the encoded stream for DTS data

OMX_IndexParamAudioDts
Used by: audio_decode, audio_render

This index uses the standard IL structure OMX_AUDIO_PARAM_DTSTYPE

Supported on the output port for when pass through mode is enabled.

Allowing changing memory allocation on state transition

OMX_IndexParamBrcmAllowMemChange
Used by: video_encode

typedef struct OMX_PARAM_BRCMALLOWMEMCHANGETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_BOOL bEnable;
} OMX_PARAM_BRCMALLOWMEMCHANGETYPE;

Let the component change the amount of memory it has allocated when going from LOADED to IDLE. By default this is enabled, but if it is disabled the component will fail to transition to IDLE if the component requires more memory than has already been allocated. This might occur if (for example) the component was configured, taken to IDLE, then taken back to LOADED, the profile increased and the component taken back to IDLE.

Query for the latest CRC for input data on this port

OMX_IndexParamBrcmCRC
Used by: null_sink, write_media, video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

Query / set whether this component should calcualte CRCs on output data

OMX_IndexParamBrcmCRCEnable
Used by: null_sink, write_media, video_encode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Setting this index resets CRCs to zero. CRC calculation defaults to off.

Sensor aspect ratio selection

OMX_IndexParamBrcmCameraInputAspectRatio
Used by: camera

typedef struct OMX_PARAM_BRCMASPECTRATIOTYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_U32 nWidth;
    OMX_U32 nHeight;
} OMX_PARAM_BRCMASPECTRATIOTYPE;

Query / set the prefered aspect ratio of the sensor CDI mode. The CDI will use the nearest value to this. If both are left as 0, then the aspect ratio of the requested output mode is used to bias the sensor mode selection.

Data Unit

OMX_IndexParamBrcmDataUnit
Used by: audio_decode, audio_encode, read_media, write_media, video_decode, video_encode

This index uses the standard IL structure OMX_PARAM_DATAUNITTYPE

The data unit is an indication to components connected to this component of the type of data delivery available. OMX_DataUnitCodedPicture indicates that we are able to give framing information, using the OMX_BUFFERFLAG_ENDOFFRAME flag to indicate that the data contained finishes a complete frame. OMX_DataUnitArbitraryStreamSection indicates that no end-of-frame markers will be present, and the decoder should perform the steps necessary to decode the stream. The other enum values are not used.

Disable generation of EXIF data

OMX_IndexParamBrcmDisableEXIF
Used by: image_encode, write_still

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This parameter is used by clients to control the generation of exif data in JPEG images.

Disabling proprietary tunnelling

OMX_IndexParamBrcmDisableProprietaryTunnels
Used by: camera, video_decode, video_scheduler, video_splitter

typedef struct OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bUseBuffers;
}  OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE;

Tell a source component to refuse to support proprietary tunnelling. Buffers will be used instead.

Set DRM encryption scheme

OMX_IndexParamBrcmDrmEncryption
Used by: write_media

typedef enum OMX_BRCMDRMENCRYPTIONTYPE
{
   OMX_DrmEncryptionNone = 0,
   OMX_DrmEncryptionHdcp2,
   OMX_DrmEncryptionKhronosExtensions = 0x6F000000,
   OMX_DrmEncryptionVendorStartUnused = 0x7F000000,
   OMX_DrmEncryptionRangeMax = 0x7FFFFFFF
} OMX_BRCMDRMENCRYPTIONTYPE;

typedef struct OMX_PARAM_BRCMDRMENCRYPTIONTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BRCMDRMENCRYPTIONTYPE eEncryption;
   OMX_U32 nConfigDataLen;
   OMX_U8 configData[1];
} OMX_PARAM_BRCMDRMENCRYPTIONTYPE;

Query/set the DRM encryption scheme used by a port writing out data.

Enable/Disable end to end distortion estimator

OMX_IndexParamBrcmEEDEEnable
Used by: video_encode

typedef struct OMX_VIDEO_EEDE_ENABLE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_U32 enable;
} OMX_VIDEO_EEDE_ENABLE;

This enables or disables the use of end to end distortion estimation.

Loss rate configuration for end to end distortion

OMX_IndexParamBrcmEEDELossRate
Used by: video_encode

typedef struct OMX_VIDEO_EEDE_LOSSRATE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
   OMX_U32 loss_rate;
} OMX_VIDEO_EEDE_LOSSRATE;

Set the packet loss rate used by the end to end distortion estimator.

loss_rate
loss rate, 5 means 5%

JPEG Quality Table Setting.

OMX_IndexParamBrcmEnableIJGTableScaling
Used by: image_encode, write_still

typedef struct OMX_PARAM_IJGSCALINGTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bEnabled;
} OMX_PARAM_IJGSCALINGTYPE;

The boolean bEnabled value determines whether the component uses the standard IJG quality tables when encoding images.

Sets the number of buffers to allocate beyond the number determined by the codec

OMX_IndexParamBrcmExtraBuffers
Used by: video_decode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This defaults to 2 (one on the display, one in the video scheduler) but it may sometimes be necessary to increase this.

Specifies a user callback for flush notification

OMX_IndexParamBrcmFlushCallbackId
Used by: video_decode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This parameter allows internal users of RIL components to request a callback when a flush has completed on the output port. This is useful in proprietary tunnelling mode where there is no other way for the user to know when the output port has been flushed. The component will perform a callback with the given nU32 as the callback id.

Require the encoder to not modify the input images

OMX_IndexParamBrcmImmutableInput
Used by: video_encode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This uses the standard OMX_CONFIG_BOOLEANTYPE structure. If set to OMX_TRUE, the encoder will not modify the input images. Only relevant when using proprietary tunnels.

Configure component to interpolate missing timestamps

OMX_IndexParamBrcmInterpolateMissingTimestamps
Used by: video_decode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Configures a component so that it tries to timestamp all the buffers it outputs. If the timestamp information is missing from the original buffer, the component will try its best to interpolate a value for the missing timestamp.

The image pool will be deleted lazily, i

OMX_IndexParamBrcmLazyImagePoolDestroy
Used by: camera, video_decode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

e. we will not wait for the images to be returned from the pool, but instead rely on the image pool tidying itself up automatically when all references are released.

Sets the maximum number of corrupt macroblocks allowed

OMX_IndexParamBrcmMaxCorruptMBs
Used by: null_sink

This index uses the standard IL structure OMX_PARAM_U32TYPE

The default value is zero.

Limit the maximum file size that can be generated

OMX_IndexParamBrcmMaxFileSize
Used by: write_media

typedef struct OMX_PARAM_BRCMU64TYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_U32 nLowPart;
    OMX_U32 nHighPart;
} OMX_PARAM_BRCMU64TYPE;

An error will be reported when this size is reached.

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information
nPortIndex
port that this structure applies to
nLowPart
low bits of the unsigned 64 bit value
nHighPart
high bits of the unsigned 64 bit value

Frame timestamp jumps

OMX_IndexParamBrcmMaxFrameSkips
Used by: null_sink

This index uses the standard IL structure OMX_PARAM_U32TYPE

This number represents the number of times a jump in frame timestamps has been observed that is greater than expected.

Force NALs to come out in separate buffers

OMX_IndexParamBrcmNALSSeparate
Used by: video_encode

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

With this enabled, those encoders that support it will produce NALs in separate OMX buffers.

Query / set the output buffering size in bytes

OMX_IndexParamBrcmOutputBufferSize
Used by: write_media

typedef struct OMX_PARAM_BRCMOUTPUTBUFFERSIZETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nBufferSize;
} OMX_PARAM_BRCMOUTPUTBUFFERSIZETYPE;

This is a hint to the underlying handler, and may be ignored.

Allows configuring the pixel aspect ratio

OMX_IndexParamBrcmPixelAspectRatio
Used by: null_sink, video_encode

This index uses the standard IL structure OMX_CONFIG_POINTTYPE

Allowed values are: 1:1, 10:11, 16:11, 40:33, 59:54, and 118:81.

Describing the pixel value range

OMX_IndexParamBrcmPixelValueRange
Used by: video_encode

typedef enum OMX_BRCMPIXELVALUERANGETYPE
{
   OMX_PixelValueRangeUnspecified = 0,
   OMX_PixelValueRangeITU_R_BT601,
   OMX_PixelValueRangeFull8Bit,
   OMX_PixelValueRangeKhronosExtensions = 0x6F000000,
   OMX_PixelValueRangeVendorStartUnused = 0x7F000000,
   OMX_PixelValueRangeMax = 0x7FFFFFFF
} OMX_BRCMPIXELVALUERANGETYPE;

typedef struct OMX_PARAM_BRCMPIXELVALUERANGETYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BRCMPIXELVALUERANGETYPE ePixelValueRange;
} OMX_PARAM_BRCMPIXELVALUERANGETYPE;

This structure allows a description of the range that pixel values may have. This is typically useful since some standards use the full 8 bit range, whereas others introduce pedastals which reduce the range at the top and bottom end.

Controlling memory use on state transition

OMX_IndexParamBrcmRetainMemory
Used by: write_still, write_still, video_encode

typedef struct OMX_PARAM_BRCMRETAINMEMORYTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_BOOL bEnable;
} OMX_PARAM_BRCMRETAINMEMORYTYPE;

Ask a component to retain its memory when going from IDLE to LOADED, if possible. This has the benefit that you are then guaranteed that the transition to IDLE cannot fail due to lack of memory, but has the disadvantage that you cannot leave the component lying around in LOADED, unused, since it is using significant amounts of memory.

Configure component to output performance statistics

OMX_IndexParamBrcmSetCodecPerformanceMonitoring
Used by: video_decode

This index uses the standard IL structure OMX_PARAM_U32TYPE

Configures a codec component so that it outputs performance statistics to the given DECODE_PROGRESS_REPORT_T structure (passed as a pointer). This structure can then be read by the client to find out where the codec is at in its processing.

Control the CPU affinity of component thread(s)

OMX_IndexParamBrcmThreadAffinity
Used by: null_sink

typedef enum OMX_BRCMTHREADAFFINITYTYPE {
   OMX_BrcmThreadAffinityCPU0,
   OMX_BrcmThreadAffinityCPU1,
   OMX_BrcmThreadAffinityMax = 0x7FFFFFFF
} OMX_BRCMTHREADAFFINITYTYPE;

typedef struct OMX_PARAM_BRCMTHREADAFFINITYTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_BRCMTHREADAFFINITYTYPE eAffinity;
} OMX_PARAM_BRCMTHREADAFFINITYTYPE;

This parameter is used by clients to hint the CPU that a component thread should run on.

eAffinity
Thread CPU affinity

Control generation of thumbnail

OMX_IndexParamBrcmThumbnail
Used by: image_encode, write_still

typedef struct OMX_PARAM_BRCMTHUMBNAILTYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_BOOL bEnable;
    OMX_BOOL bUsePreview;
    OMX_U32 nWidth;
    OMX_U32 nHeight;
} OMX_PARAM_BRCMTHUMBNAILTYPE;

This parameter is used by clients to control how thumbnails are generated when creating still images. Thumbnail generation will be turned on or off depending on the bEnable field. The bUsePreview field will let the component know whether it should use the low resolution preview image (if the component has one available) as is for the thumbnail. When this is set to true, it should make the generation of thumbnails faster (if a preview image is available) and should use less memory as well. The nWidth and nHeight fields allow the client to specify the dimensions of the thumbnail. If both nWidth and nHeight are 0, we will calculate a sensible size for the thumbnail.

nSize
Size of this structure, in Bytes
nVersion
OMX specification version information
bEnable
Enable generation of thumbnails during still capture
bUsePreview
Use the preview image (as is) as thumbnail
nWidth
Desired width of the thumbnail
nHeight
Desired height of the thumbnail

Configure the number of pre-allocated transpose buffers

OMX_IndexParamBrcmTransposeBufferCount
Used by: video_render

This index uses the standard IL structure OMX_PARAM_U32TYPE

This config allows the client to explicitly set the number of destination buffers pre-allocated for ports that support 90/270 degree rotation (e.g. in video_render). The buffers will be pre-allocated during a state transition from LOADED to IDLE (the transition will fail if there is not enough memory available for the buffers). .

Enable/disable SEI messages

OMX_IndexParamBrcmVideoAVCSEIEnable
Used by: video_encode

typedef struct OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_BOOL bEnable;
} OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE;

Enable or disable Supplemental Enhancement Information (SEI) messages to be inserted in the H.264 bitstream.

Control error concealment for video decode

OMX_IndexParamBrcmVideoDecodeErrorConcealment
Used by: video_decode

typedef struct OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_BOOL bStartWithValidFrame;
} OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE;

This parameter is used by clients to control the type of error concealment that will be done by the video decoder.

bStartWithValidFrame
Decoder will only start emitting frames from a non-corrupted frame

Query / set the codec's maximum quantization level

OMX_IndexParamBrcmVideoEncodeMaxQuant
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

Query / set the codec's minimum quantization level

OMX_IndexParamBrcmVideoEncodeMinQuant
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

Camera Subsystem Identification

OMX_IndexParamCameraCamplusId
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

This parameter allows the configuration of the identifier to be used to initialise the Broadcom Camplus subsystem that sits beneath the camera component. If only one instance of the camera component is used, the default value can be used. If more than one instance is required, they must each have their own unique values for this parameter. It is also used to tie the component to the image pool created with OMX_Set upCamPools.

Capture start event callback

OMX_IndexParamCameraCaptureEventFunction
Used by: camera

typedef struct OMX_PARAM_CAMERACAPTUREEVENTFUNCTIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_PTR pPrivate;
   RIL_CAMERA_CAPTURE_EVENT_FUNC_T pCaptureFunc;
} OMX_PARAM_CAMERACAPTUREEVENTFUNCTIONTYPE;

This parameter is used to pass a callback to the camera component which is called when a capture is started.

Allow the client to specify the behaviour desired for stills captures

OMX_IndexParamCameraCaptureMode
Used by: camera

typedef struct OMX_PARAM_CAMERACAPTUREMODETYPE{
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_CAMERACAPTUREMODETYPE eMode;
} OMX_PARAM_CAMERACAPTUREMODETYPE;

Options are: OMX_CameraCaptureModeWaitForCaptureEnd: Wait for capture to complete before resuming viewfinder. OMX_CameraCaptureModeWaitForCaptureEndAndUsePreviousInputImage: Reprocess the same input frame multiple times with different settings. Currently not implemented in the Camplus levels. OMX_CameraCaptureModeResumeViewfinderImmediately: Resume viewfinder/video encode as soon as the input image for the still has been acquired, and then process the still in a parallel thread. This requires image_pool_params.eInputPoolMode to be set to OMX_CAMERAIMAGEPOOLINPUTMODE_TWOPOOLS, and image_pool_params.nNumHiResStillsFrames to be non-zero, otherwise the image pools won't split in a manner that allows viewfinder to be resumed.

Camera device number

OMX_IndexParamCameraDeviceNumber
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

Query / set the camera number (as defined by the Videocore make system) to be used by this camera component. When set, the value will be checked to ensure that the camera number specified is defined for the platform. Setting this parameter also triggers loading of the relevant drivers to speed up queries for OMX_IndexConfigCameraSensorModes, which require the drivers to be loaded. This parameter is supported by OMX_IndexConfigRequestCallback, so the client can be notified once that driver is loaded, rather than having to poll the settings.

Query the camera devices defined for this platform

OMX_IndexParamCameraDevicesPresent
Used by: camera

This index uses the standard IL structure OMX_PARAM_U32TYPE

The result is a bitmask indicating which cameras ahve been detected.

Disabling camera processing stages.

OMX_IndexParamCameraDisableAlgorithm
Used by: camera

typedef enum OMX_CAMERADISABLEALGORITHMTYPE {
      OMX_CameraDisableAlgorithmFacetracking,
      OMX_CameraDisableAlgorithmRedEyeReduction,
      OMX_CameraDisableAlgorithmVideoStabilisation,
      OMX_CameraDisableAlgorithmWriteRaw,
      OMX_CameraDisableAlgorithmVideoDenoise,
      OMX_CameraDisableAlgorithmStillsDenoise,
      OMX_CameraDisableAlgorithmAntiShake,
      OMX_CameraDisableAlgorithmImageEffects,
      OMX_CameraDisableAlgorithmDarkSubtract,
      OMX_CameraDisableAlgorithmDynamicRangeExpansion,
      OMX_CameraDisableAlgorithmFaceRecognition,
      OMX_CameraDisableAlgorithmFaceBeautification,
      OMX_CameraDisableAlgorithmSceneDetection,
      OMX_CameraDisableAlgorithmHighDynamicRange,
   OMX_CameraDisableAlgorithmKhronosExtensions = 0x6F000000,
   OMX_CameraDisableAlgorithmVendorStartUnused = 0x7F000000,
   OMX_CameraDisableAlgorithmMax = 0x7FFFFFFF
} OMX_CAMERADISABLEALGORITHMTYPE;

typedef struct OMX_PARAM_CAMERADISABLEALGORITHMTYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_CAMERADISABLEALGORITHMTYPE eAlgorithm;
   OMX_BOOL bDisabled;
} OMX_PARAM_CAMERADISABLEALGORITHMTYPE;

Allows plugin algorithms to be disabled to save memory within the camera component

Select flash type

OMX_IndexParamCameraFlashType
Used by: camera

typedef enum OMX_CAMERAFLASHTYPE {
   OMX_CameraFlashDefault,
   OMX_CameraFlashXenon,
   OMX_CameraFlashLED,
   OMX_CameraFlashNone,
   OMX_CameraFlashKhronosExtensions = 0x6F000000,
   OMX_CameraFlashVendorStartUnused = 0x7F000000,
   OMX_CameraFlashMax = 0x7FFFFFFF
} OMX_CAMERAFLASHTYPE;

typedef struct OMX_PARAM_CAMERAFLASHTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_CAMERAFLASHTYPE eFlashType;
   OMX_BOOL bRedEyeUsesTorchMode;
} OMX_PARAM_CAMERAFLASHTYPE;

This parameter allows the selection of xenon or LED flash devices to be used with the currently selected camera. If that device is not available, then the component will revert back to whatever flash device is available for that camera. bRedEyeUsesTorchMode allows the blinking for red eye reduction to be switched between using the indicator mode, and the torch mode for the flash driver.

Camera Image Pools

OMX_IndexParamCameraImagePool
Used by: camera

typedef enum OMX_CAMERAIMAGEPOOLINPUTMODETYPE {
   OMX_CAMERAIMAGEPOOLINPUTMODE_ONEPOOL,     /*All input images are allocated from one pool
                                               Works for simple stills capture use cases
                                               Can not be used with parallel stills capture
                                               and video encode, as the pool will be sized for
                                               capture or viewfinder, not both simultaneously.
                                               The pool wouldn't divide sensibly in this mode
                                               anyway.
                                             */
   OMX_CAMERAIMAGEPOOLINPUTMODE_TWOPOOLS,    /*All stills & video input images are allocated
                                               from two seperate pools.
                                               This ensures that parallel capture can work, but
                                               would consume more memory if used on a simple
                                               stills capture use case.
                                             */
} OMX_CAMERAIMAGEPOOLINPUTMODETYPE;

typedef struct OMX_PARAM_CAMERAIMAGEPOOLTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nNumHiResVideoFrames;
   OMX_U32 nHiResVideoWidth;
   OMX_U32 nHiResVideoHeight;
   OMX_COLOR_FORMATTYPE eHiResVideoType;
   OMX_U32 nNumHiResStillsFrames;
   OMX_U32 nHiResStillsWidth;
   OMX_U32 nHiResStillsHeight;
   OMX_COLOR_FORMATTYPE eHiResStillsType;
   OMX_U32 nNumLoResFrames;
   OMX_U32 nLoResWidth;
   OMX_U32 nLoResHeight;
   OMX_COLOR_FORMATTYPE eLoResType;
   OMX_CAMERAIMAGEPOOLINPUTMODETYPE eInputPoolMode;
   OMX_U32 nNumInputVideoFrames;
   OMX_U32 nInputVideoWidth;
   OMX_U32 nInputVideoHeight;
   OMX_COLOR_FORMATTYPE eInputVideoType;
   OMX_U32 nNumInputStillsFrames;
   OMX_U32 nInputStillsWidth;
   OMX_U32 nInputStillsHeight;
   OMX_COLOR_FORMATTYPE eInputStillsType;
} OMX_PARAM_CAMERAIMAGEPOOLTYPE;

\sloppy This parameter specifies the size, type, and number, of images to allow in the images pools required by Camplus. Supported types are OMX_COLOR_FormatYUV420PackedPlanar, OMX_COLOR_FormatYUV422PackedPlanar, OMX_COLOR_FormatRawBayer8bit, OMX_COLOR_FormatRawBayer10bit, OMX_COLOR_FormatRawBayer8bitcompressed, and 0 (reserved for the Broadcom-specific format required by the video encoder). The input pool width, height, and type can be set as 0 to make the component query Camplus for the sensor mode that would correspond to the largest of the viewfinder port definition, the capture port definition, or the high resolution image pool.

Camera and Video Encoder communication

OMX_IndexParamCameraPoolToEncoderFunction
Used by: camera, video_encode, video_render, video_splitter

typedef struct OMX_PARAM_CAMERAPOOLTOENCODERFUNCTIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_PTR pPrivate;
   RIL_CAMERA_ENCODER_FUNC_T pEncoderFunc;
   RIL_IMAGE_FLUSH_FUNC_T pFlushFunc;
   OMX_BOOL bUseYUVUV;
} OMX_PARAM_CAMERAPOOLTOENCODERFUNCTIONTYPE;

This parameter is used when creating proprietary communication with the video_encode component from the capture port. It provides the encoder function for passing the main and subsampled images to be encoded, together with a function used to release all images. The image format in this mode can be set to the Broadcom-specific format required for the video encode functions, and does not comply with any of the OMX standard formats.

Save memory by using a single input buffer

OMX_IndexParamCameraSingleBufferCaptureInput
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Configures the camera component to switch to a single input buffer when capturing, therefore saving the memory requirement of having two full resolution bayer input buffers to store the input images.

Camera proprietary stripe passing

OMX_IndexParamCameraStripeFunction
Used by: image_encode, camera

typedef struct OMX_PARAM_CAMERASTRIPEFUNCTIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_PTR pPrivate;
   RIL_CAMERA_STRIPE_FUNC_T pStripeFunc;
   RIL_IMAGE_FLUSH_FUNC_T pFlushFunc;
   RIL_CAMERA_STRIPE_RELEASE_FUNC_T pReleaseFunc;
   OMX_PTR pReleasePrivate;
   OMX_BOOL bUseYUVUV;
} OMX_PARAM_CAMERASTRIPEFUNCTIONTYPE;

This parameter is used by the camera when setting up proprietary communication, and passes several function pointers used for passing and flushing stripes.

Swap over image pools

OMX_IndexParamCameraSwapImagePools
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Configures the camera component to swap over the two image pools when in stills capture mode. The behind this logic being that the viewfinder high res images and the capture low res images are approximately the same size, and the viewfinder low res images and the capture high res circular output buffer are approximately the same size. DO NOT USE WITH PARALLEL CAPTURE, AS POOL ALLOCATIONS ALREADY TAKE THIS INTO ACCOUNT

Camera use case

OMX_IndexParamCameraUseCase
Used by: camera

typedef struct OMX_PARAM_CAMERAUSECASETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_PARAM_CAMERAUSECASE eUseCase;
} OMX_PARAM_CAMERAUSECASETYPE;

Query / set the use case to be passed into the tuner module.

Returns the actual capture status of the camera component

OMX_IndexParamCaptureStatus
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

Set to True when a stills capture starts, and will be cleared when the capture image has been passed downstream. This parameter is supported by OMX_IndexConfigRequestCallback to allow a client to do stuff on image capture (eg play a shutter sound).

Codec Configuration

OMX_IndexParamCodecConfig
Used by: audio_decode, audio_encode, read_media, write_media, video_decode, video_encode

typedef struct OMX_PARAM_CODECCONFIGTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 bCodecConfigIsComplete;
   OMX_U8 nData[1];
} OMX_PARAM_CODECCONFIGTYPE;

This parameter contains opaque data in a format specified by Broadcom and allows out-of-band information such as cropping rectangles, aspect ratio information, codec-specific header bytes, and other essential information to be passed between connected components. bCodecConfigIsCompete specifies if the codec config is fully contained in here and there is no need to wait for OMX_BUFFERFLAG_CODECCONFIG buffers

Select timestamp mode

OMX_IndexParamCommonUseStcTimestamps
Used by: camera

typedef enum OMX_TIMESTAMPMODETYPE
{
   OMX_TimestampModeZero = 0,
   OMX_TimestampModeRawStc,
   OMX_TimestampModeResetStc,
   OMX_TimestampModeKhronosExtensions = 0x6F000000,
   OMX_TimestampModeVendorStartUnused = 0x7F000000,
   OMX_TimestampModeMax = 0x7FFFFFFF
} OMX_TIMESTAMPMODETYPE;

typedef struct OMX_PARAM_TIMESTAMPMODETYPE
{
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_TIMESTAMPMODETYPE eTimestampMode;
} OMX_PARAM_TIMESTAMPMODETYPE;

Specifies what to use as timestamps in the abscence of a clock component.

Sets the component name to be used in internal logging messages

OMX_IndexParamComponentName
Used by: read_media, video_decode, video_encode, video_render

This index uses the standard IL structure OMX_PARAM_COMPONENTROLETYPE

Controlling use of memory for loadable modules

OMX_IndexParamDisableVllPool
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This control can be used to control whether loadable modules used a dedicated memory pool or use heap allocated memory.

Specify a dynamic parameter file to use or not

OMX_IndexParamDynamicParameterFile
Used by: camera

This index uses the standard IL structure OMX_PARAM_CONTENTURITYPE

If a file is to be used, OMX_IndexParamUseDynamicParameterFile must be set.

Classify error condition when DFP fails to load

OMX_IndexParamDynamicParameterFileFailFatal
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

This specifies whether the failure to load the DPF file should this be treated as a fatal error Enables loading of a dynamic parameter file. The filename is set with OMX_IndexParamDynamicParameterFile.

Allows configuration of the FIFO settings.

OMX_IndexParamILFifoConfig
Used by: audio_encode, video_encode

typedef struct OMX_PARAM_ILFIFOCONFIG {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U32 nDataSize;
   OMX_U32 nHeaderCount;
} OMX_PARAM_ILFIFOCONFIG;

Allows configuring the size of the ILFIFO used in a component.

nDataSize
The size of the FIFO's data area
nHeaderCount
The number of headers allocated

ISP tuner name

OMX_IndexParamISPTunerName
Used by: camera

typedef struct OMX_PARAM_CAMERAISPTUNERTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U8 tuner_name[64];
} OMX_PARAM_CAMERAISPTUNERTYPE;

Allow the client to query / set the name of the camera tuner module to be used by Camplus. If tuner_name is a null string, the default tuner for the camera module is loaded. It is recommended that this parameter is set before OMX_IndexParamCameraDeviceNumber to avoid reloading the CDI and default tuner.

Proprietary Image Passing

OMX_IndexParamImagePoolDisplayFunction
Used by: image_fx, transition, visualisation, camera, camera, video_decode, video_scheduler, video_splitter

typedef struct OMX_PARAM_IMAGEDISPLAYFUNCTIONTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_PTR pPrivate;
   RIL_IMAGE_DISPLAY_FUNC_T pDisplayFunc;
   RIL_IMAGE_FLUSH_FUNC_T pFlushFunc;
} OMX_PARAM_IMAGEDISPLAYFUNCTIONTYPE;

This parameter is used when setting up proprietary communication between two components. It allows the output port to pass images to the input port that are allocated from an image pool, and also request that any previously passed images are flushed.

Client Allocated Image Pools

OMX_IndexParamImagePoolExternal
Used by: image_fx, visualisation, camera, video_decode

struct opaque_vc_pool_s;
typedef struct opaque_vc_pool_s OMX_BRCM_POOL_T;

typedef struct OMX_PARAM_IMAGEPOOLEXTERNALTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_BRCM_POOL_T *image_pool;
   OMX_BRCM_POOL_T *image_pool2;
   OMX_BRCM_POOL_T *image_pool3;
   OMX_BRCM_POOL_T *image_pool4;
   OMX_BRCM_POOL_T *image_pool5;
} OMX_PARAM_IMAGEPOOLEXTERNALTYPE;

This config allows the client to pass in handles to pre-allocated image pools for use within the component.

Specifying Image Pool Properties

OMX_IndexParamImagePoolSize
Used by: image_fx, transition, visualisation, video_decode, video_splitter

typedef struct OMX_PARAM_IMAGEPOOLSIZETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 width;
   OMX_U32 height;
   OMX_U32 num_pages;
} OMX_PARAM_IMAGEPOOLSIZETYPE;

This parameter is used to control the size of pool that the component will allocate in the absence of setting an external pool. The default can be reset by setting this parameter with all three fields set to zero.

Query for the number of output channels in the decoded stream

OMX_IndexParamNumOutputChannels
Used by: video_decode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This indicates whether the stream is 2d (1 channel) or stereoscopic (2 channels).

Specifying maximum frame size

OMX_IndexParamPortMaxFrameSize
Used by: camera

This index uses the standard IL structure OMX_FRAMESIZETYPE

This control can be used to control the maximum frame size allowed on an output port.

Query / set the rate control method to be used

OMX_IndexParamRateControlModel
Used by: video_encode

This index uses the standard IL structure OMX_PARAM_U32TYPE

This parameter uses internal configuration to determine used, so should not be changed without explicit internal knowledge.

Resize Control

OMX_IndexParamResize
Used by: resize

typedef enum OMX_RESIZEMODETYPE {
   OMX_RESIZE_NONE,
   OMX_RESIZE_CROP,
   OMX_RESIZE_BOX,
   OMX_RESIZE_BYTES,
   OMX_RESIZE_DUMMY = 0x7FFFFFFF
} OMX_RESIZEMODETYPE;

typedef struct OMX_PARAM_RESIZETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_RESIZEMODETYPE eMode;
   OMX_U32 nMaxWidth;
   OMX_U32 nMaxHeight;
   OMX_U32 nMaxBytes;
   OMX_BOOL bPreserveAspectRatio;
   OMX_BOOL bAllowUpscaling;
} OMX_PARAM_RESIZETYPE;

The mode determines the kind of resize. OMX_RESIZE_BOX allow the nMaxWidth and nMaxHeight to set a bounding box into which the output must fit. OMX_RESIZE_BYTES allows nMaxBytes to set the maximum number of bytes into which the full output frame must fit. Two flags aid the setting of the output size. bPreseveAspectRatio sets whether the resize should preserve the aspect ratio of the incoming image. bAllowUpscaling sets whether the resize is allowed to increase the size of the output image compared to the size of the input image.

Source Image Configuration

OMX_IndexParamSource
Used by: source

typedef enum OMX_SOURCETYPE {
   OMX_SOURCE_WHITE = 0,    // all white images
   OMX_SOURCE_BLACK = 1,    // all black images
   OMX_SOURCE_DIAGONAL = 2, // greyscale diagonal stripes
   OMX_SOURCE_NOISE = 3,    // random pixel values
   OMX_SOURCE_RANDOM = 4,   // a shaded random pattern of colours
   OMX_SOURCE_COLOUR = 5,   // a solid colour determined by nParam
   OMX_SOURCE_BLOCKS = 6,   // random coloured blocks of 16x16 size
   OMX_SOURCE_SWIRLY,       // a swirly pattern used for encode testing
   OMX_SOURCE_DUMMY = 0x7FFFFFFF
} OMX_SOURCETYPE;

typedef struct OMX_PARAM_SOURCETYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_SOURCETYPE eType;
   OMX_U32 nParam;
   OMX_U32 nFrameCount;
   OMX_U32 xFrameRate;
} OMX_PARAM_SOURCETYPE;

The source type determines the kind of image that is produced. Not all combinations of source type and image type are supported. The OMX_SOURCE_SWIRLY setting can only be used with YUV420 packed planar image formats. When producing RGB565 image format, the OMX_SOURCE_DIAGONAL and OMX_SOURCE_RANDOM modes are treated as OMX_SOURCE_NOISE. The nParam field is used to specify the colour for the source colour mode, and the offset of the diagonal pattern for diagonal mode. For the blocks mode, nParam is used as the seed for the random colour generator. The nFrameCount parameter determines how many frames to send. If it is zero, then frames are sent continuously. For any other value, it counts down until it has sent that many frames, and then stops, sending out an EOS. The xFrameRate setting is used to determine the timestamp for each frame produced, or can be set to zero if timestamps should all remain at zero.

Source Random Seed

OMX_IndexParamSourceSeed
Used by: source

typedef struct OMX_PARAM_SOURCESEEDTYPE {
   OMX_U32 nSize;
   OMX_VERSIONTYPE nVersion;
   OMX_U32 nPortIndex;
   OMX_U16 nData[16];
} OMX_PARAM_SOURCESEEDTYPE;

This structure sets the current state of the random number generator used for OMX_SOURCE_RANDOM source type, allowing repeatable random image creation.

Specify whether we wish to load the DPF file

OMX_IndexParamUseDynamicParameterFile
Used by: camera

This index uses the standard IL structure OMX_CONFIG_BOOLEANTYPE

MVC codec parameters

OMX_IndexParamVideoMvc
Used by: video_decode

This index uses the standard IL structure OMX_VIDEO_PARAM_MVCTYPE

This parameter is currently identical to the AVC parameter type.