Files
popcornmix 11e3c314bc kernel: Bump to 5.4.68
kernel: overlays: Update display GPIO declarations

kernel: Update hy28b-overlay.dts
See: https://github.com/raspberrypi/linux/pull/3880

kernel: net: bcmgenet: Reset RBUF on first open
See: https://github.com/raspberrypi/linux/issues/3850

kernel: ASoC: cs42xx8: Only define cs42xx8_of_match once
See: https://github.com/raspberrypi/linux/issues/3873

kernel: bcm2835-codec fixes
See: https://github.com/raspberrypi/linux/pull/3877

kernel: usb/dwc2: Set correct state on gadget disconnect
kernel: USB: gadget: f_hid: avoid crashes and log spam
See: https://github.com/raspberrypi/linux/issues/3870

firmware: arm_loader: enable simple_fb iff there is a display
See: https://github.com/raspberrypi/linux/issues/3878

firmware: arm_loader: Mark V3D early boost as for the ARM
See: https://github.com/raspberrypi/firmware/issues/1469
2020-10-02 17:06:37 +01:00

3894 lines
146 KiB
HTML

<html>
<head>
<title>Broadcom Custom Index List</title>
<body>
<table border="0" cellpadding="10"><tr valign="top"><td>
<table border="0" cellspacing="0" cellpadding="1"><tr>
<td bgcolor="#e0c0c0"><a href="index.html">Top</a><br>
<tr><td bgcolor="#c0e0e0">
<a href="audio_capture.html">audio_capture</a><br>
<a href="audio_decode.html">audio_decode</a><br>
<a href="audio_encode.html">audio_encode</a><br>
<a href="audio_lowpower.html">audio_lowpower</a><br>
<a href="audio_mixer.html">audio_mixer</a><br>
<a href="audio_processor.html">audio_processor</a><br>
<a href="audio_render.html">audio_render</a><br>
<a href="audio_splitter.html">audio_splitter</a><br>
<tr><td bgcolor="#e0c0c0">
<a href="image_decode.html">image_decode</a><br>
<a href="image_encode.html">image_encode</a><br>
<a href="image_fx.html">image_fx</a><br>
<a href="resize.html">resize</a><br>
<a href="source.html">source</a><br>
<a href="transition.html">transition</a><br>
<tr><td bgcolor="#c0e0e0">
<a href="clock.html">clock</a><br>
<a href="null_sink.html">null_sink</a><br>
<a href="text_scheduler.html">text_scheduler</a><br>
<a href="visualisation.html">visualisation</a><br>
<tr><td bgcolor="#e0c0c0">
<a href="camera.html">camera</a><br>
<a href="egl_render.html">egl_render</a><br>
<a href="hvs.html">hvs</a><br>
<a href="isp.html">isp</a><br>
<a href="rawcam.html">rawcam</a><br>
<a href="video_decode.html">video_decode</a><br>
<a href="video_encode.html">video_encode</a><br>
<a href="video_render.html">video_render</a><br>
<a href="video_scheduler.html">video_scheduler</a><br>
<a href="video_splitter.html">video_splitter</a><br>
<tr><td bgcolor="#c0e0e0">
<a href="prop.html">Custom Index</a><br>
<a href="metadata.html">Metadata</a><br>
</table><td>
<h1>Broadcom Custom Index List</h1>
<a name="OMX_IndexConfigAFAssistLight"><h2>Autofocus assist light mode selection</h2></a>
<tt>OMX_IndexConfigAFAssistLight</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
Set the mode to adopt for the autofocus assist light.
<tt>OMX_AFAssistTorch</tt> will turn the AF assist light on permanently, allowing
it to be used as a torch.<p>
<a name="OMX_IndexConfigAudioMonoTrackControl"><h2>Dual Mono Control</h2></a>
<tt>OMX_IndexConfigAudioMonoTrackControl</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a><p>
<pre>
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;</pre><p>
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.<p>
<a name="OMX_IndexConfigAudioRenderingLatency"><h2>Audio Rendering Latency</h2></a>
<tt>OMX_IndexConfigAudioRenderingLatency</tt><br>
Used by: <a href="audio_render.html">audio_render</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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.<p>
<a name="OMX_IndexConfigBrcmAudioDestination"><h2>Audio Destination</h2></a>
<tt>OMX_IndexConfigBrcmAudioDestination</tt><br>
Used by: <a href="audio_render.html">audio_render</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMAUDIODESTINATIONTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U8 sName[16];
} OMX_CONFIG_BRCMAUDIODESTINATIONTYPE;</pre><p>
This config sets the platform-specific audio destination or output
device for audio sink components (e.g. audio_render).
<tt>sName</tt> describes the audio destination, with <tt>"local"</tt>
typically being directly connected to headphones.<p>
<a name="OMX_IndexConfigBrcmAudioDownmixCoefficients8x8"><h2>Audio Downmix Coefficient matrix</h2></a>
<tt>OMX_IndexConfigBrcmAudioDownmixCoefficients8x8</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a>, <a href="audio_mixer.html">audio_mixer</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS8x8 {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 coeff[64];
} OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS8x8;</pre><p>
This config sets the platform-specific audio downmixing coefficients for the
audio mixer component. The coefficients are 16.16 fixed point.
The coefficients are a 8*8 mixing matrix from 8 input channels to 8 outputs channels
<tt>coeff</tt> describes the downmixing coefficients<p>
<a name="OMX_IndexConfigBrcmAudioEffectControl"><h2>Audio Effect Control</h2></a>
<tt>OMX_IndexConfigBrcmAudioEffectControl</tt><br>
Used by: <a href="audio_processor.html">audio_processor</a><p>
<pre>
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;</pre><p>
This structure represents the internal configuration of an audio effect.
The audio effect is provided by a loadable plug-in described
in the <tt>name</tt> field and is configured in a plug-in-dependent
manner with the <tt>property</tt> field. The <tt>bEnable</tt> field is used to
turn the effect on/off.<p>
<a name="OMX_IndexConfigBrcmAudioMaxSample"><h2>Maximum sample seen</h2></a>
<tt>OMX_IndexConfigBrcmAudioMaxSample</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BRCMAUDIOMAXSAMPLE</tt><p>
This gets the largest sample produced (after downmixing with OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS8x8)
since this config was last read. The nTimestamp is the earliest timestamp processed.
This can be used for DRC schemes
<tt>coeff</tt> maximum sample seen in current block<p>
<a name="OMX_IndexConfigBrcmAudioSource"><h2>Audio Source</h2></a>
<tt>OMX_IndexConfigBrcmAudioSource</tt><br>
Used by: <a href="audio_capture.html">audio_capture</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMAUDIOSOURCETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U8 sName[16];
} OMX_CONFIG_BRCMAUDIOSOURCETYPE;</pre><p>
This config sets the platform-specific audio source or input device
for audio source components (e.g. audio_capture).
<tt>sName</tt> describes the audio source, with <tt>"local"</tt>
typically being directly connected to microphone.<p>
<a name="OMX_IndexConfigBrcmAudioTrackChangeControl"><h2>Configure gapless/crossfaded audio track change.</h2></a>
<tt>OMX_IndexConfigBrcmAudioTrackChangeControl</tt><br>
Used by: <a href="audio_mixer.html">audio_mixer</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nSrcPortIndex;
OMX_U32 nDstPortIndex;
OMX_U32 nXFade;
} OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE;</pre><p>
This config allows the client to specify the gapless or crossfade
parameters to be used on a track change. If <tt>nXFade</tt> is 0, then
a normal or gapless track change will result, otherwise a crossfade of
<tt>nXFade</tt> ms is used.<p>
<a name="OMX_IndexConfigBrcmAudioTrackChangeCount"><h2>Query the number of times the port has completed a track change</h2></a>
<tt>OMX_IndexConfigBrcmAudioTrackChangeCount</tt><br>
Used by: <a href="audio_mixer.html">audio_mixer</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
A track change is complete for an input port when a buffer flagged with <tt>OMX_BUFFERFLAG_EOS</tt>
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
<tt>OMX_IndexConfigRequestCallback</tt>.
<p>
<a name="OMX_IndexConfigBrcmAudioTrackGaplessPlayback"><h2>Encoder/decoder delay and padding information for gapless playback.</h2></a>
<tt>OMX_IndexConfigBrcmAudioTrackGaplessPlayback</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nDelay;
OMX_U32 nPadding;
} OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE;</pre><p>
This config allows communication between components to facilitate gapless playback.<p>
<dl>
<dt><tt>nDelay</tt><dd>number of samples delay added by the codec
<dt><tt>nPadding</tt><dd>number of silent samples added to the end
</dl>
<a name="OMX_IndexConfigBrcmBufferFlagFilter"><h2>Filter buffers based on flags</h2></a>
<tt>OMX_IndexConfigBrcmBufferFlagFilter</tt><br>
Used by: <a href="video_splitter.html">video_splitter</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This control can be set to request that buffers are conditionally forwarded on
output ports based on matching flags set on that buffer.<p>
<a name="OMX_IndexConfigBrcmCameraAnnotate"><h2>Annotation overlay parameters</h2></a>
<tt>OMX_IndexConfigBrcmCameraAnnotate</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMANNOTATETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bEnable;
OMX_BOOL bShowShutter;
OMX_BOOL bShowAnalogGain;
OMX_BOOL bShowLens;
OMX_BOOL bShowCaf;
OMX_BOOL bShowMotion;
OMX_BOOL bShowFrameNum;
OMX_BOOL bEnableBackground;
OMX_BOOL bCustomBackgroundColour;
OMX_U8 nBackgroundY;
OMX_U8 nBackgroundU;
OMX_U8 nBackgroundV;
OMX_U8 dummy1;
OMX_BOOL bCustomTextColour;
OMX_U8 nTextY;
OMX_U8 nTextU;
OMX_U8 nTextV;
OMX_U8 nTextSize;
OMX_U8 sText[OMX_BRCM_MAXANNOTATETEXTLEN];
OMX_BRCMANNOTATEJUSTIFYTYPE eJustify;
OMX_U32 nXOffset;
OMX_U32 nYOffset;
} OMX_CONFIG_BRCMANNOTATETYPE;
</pre><p>
Query / set the paramters concerning the anotation overlay.
<p>
<dl>
<dt><tt>nTextSize</tt><dd>Text size: 6-150 pixels
</dl>
<a name="OMX_IndexConfigBrcmCameraRnDPostprocess"><h2>Enable use of development ISP software stage</h2></a>
<tt>OMX_IndexConfigBrcmCameraRnDPostprocess</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This control can be used to enable a developmental software stage to be inserted into
the postprocessor stage of the ISP.<p>
<a name="OMX_IndexConfigBrcmCameraRnDPreprocess"><h2>Enable use of development ISP software stage</h2></a>
<tt>OMX_IndexConfigBrcmCameraRnDPreprocess</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This control can be used to enable a developmental software stage to be inserted into
the preprocessor stage of the ISP.<p>
<a name="OMX_IndexConfigBrcmCameraStats"><h2>Camera frame statistics</h2></a>
<tt>OMX_IndexConfigBrcmCameraStats</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMCAMERASTATSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nOutFrameCount;
OMX_U32 nDroppedFrameCount;
} OMX_CONFIG_BRCMCAMERASTATSTYPE;
</pre><p>
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.
<p>
<a name="OMX_IndexConfigBrcmClockMissCount"><h2>Missed clock request accounting</h2></a>
<tt>OMX_IndexConfigBrcmClockMissCount</tt><br>
Used by: <a href="clock.html">clock</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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 occurred, 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.<p>
<a name="OMX_IndexConfigBrcmClockReferenceSource"><h2>Select Clock Reference Source</h2></a>
<tt>OMX_IndexConfigBrcmClockReferenceSource</tt><br>
Used by: <a href="audio_render.html">audio_render</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This control allows communicating directly to an audio renderer component whether it should
act as a clock reference source or act as a slave.<p>
<a name="OMX_IndexConfigBrcmDecoderPassThrough"><h2>Enabling Audio Passthrough</h2></a>
<tt>OMX_IndexConfigBrcmDecoderPassThrough</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.<p>
<a name="OMX_IndexConfigBrcmDrawStaticBox"><h2>Define a static box to be drawn on the viewfinder images</h2></a>
<tt>OMX_IndexConfigBrcmDrawStaticBox</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;
</pre><p>
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.
<p>
<a name="OMX_IndexConfigBrcmFlashRequired"><h2>Flash required status</h2></a>
<tt>OMX_IndexConfigBrcmFlashRequired</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Returns the tuner indication whether a flash (normal or fill-in)
is required for the capture. Read only.
<p>
<a name="OMX_IndexConfigBrcmGlobalAudioMute"><h2>Query / set the audio platform-specific mute status of the audio output</h2></a>
<tt>OMX_IndexConfigBrcmGlobalAudioMute</tt><br>
Used by: <a href="audio_render.html">audio_render</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
<p>
<a name="OMX_IndexConfigBrcmHighDynamicRange"><h2>Enable / disable the High Dynamic Range (HDR) software stage</h2></a>
<tt>OMX_IndexConfigBrcmHighDynamicRange</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
<p>
<a name="OMX_IndexConfigBrcmMinimumProcessingLatency"><h2>Processing Latency Bound</h2></a>
<tt>OMX_IndexConfigBrcmMinimumProcessingLatency</tt><br>
Used by: <a href="audio_mixer.html">audio_mixer</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_TICKS nOffset;
} OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY;</pre><p>
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).<p>
<a name="OMX_IndexConfigBrcmPoolMemAllocSize"><h2>Pool memory usage values</h2></a>
<tt>OMX_IndexConfigBrcmPoolMemAllocSize</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This config allows the client to query how much memory is being used by
the component for any image pools.<p>
<a name="OMX_IndexConfigBrcmPortBufferStats"><h2>Query port buffer stats history</h2></a>
<tt>OMX_IndexConfigBrcmPortBufferStats</tt><br>
Used by: <a href="null_sink.html">null_sink</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nCount;
OMX_BRCMBUFFERSTATSTYPE sData[1];
} OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE;</pre><p>
Ports that gather statistics for debugging and diagnostics
might also collect information about buffer header fields
and data.
The <tt>sStatsData</tt> field is a variable length array and
the number of items is denoted by <tt>nStatsCount</tt>.<p>
<a name="OMX_IndexConfigBrcmPortStats"><h2>Query port statistics</h2></a>
<tt>OMX_IndexConfigBrcmPortStats</tt><br>
Used by: <a href="source.html">source</a>, <a href="null_sink.html">null_sink</a>, <a href="video_encode.html">video_encode</a>, <a href="video_render.html">video_render</a><p>
<pre>
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;</pre><p>
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 <tt>nFrameSkips</tt> field indicates the number of frames that did
not have an expected PTS value based on the port frame rate.
The <tt>nByteCount</tt> field is a 64 bit value, that will either use a
64 bit type or two 32 bit types, similarly to <tt>OMX_TICKS</tt>.<p>
<dl>
<dt><tt>nCorruptMBs</tt><dd>Number of corrupt macroblocks in the stream
</dl>
<a name="OMX_IndexConfigBrcmRegisterFileFailFatal"><h2>Classify error condition when register file fails to load</h2></a>
<tt>OMX_IndexConfigBrcmRegisterFileFailFatal</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This specifies whether the failure to load the register file should be treated as a fatal error.
<p>
<a name="OMX_IndexConfigBrcmRenderStats"><h2>Retrieve statistics from this renderer</h2></a>
<tt>OMX_IndexConfigBrcmRenderStats</tt><br>
Used by: <a href="video_render.html">video_render</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMRENDERSTATSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL nValid;
OMX_U32 nMatch;
OMX_U32 nPeriod;
OMX_U32 nPhase;
OMX_U32 nPixelClockNominal;
OMX_U32 nPixelClock;
OMX_U32 nHvsStatus;
OMX_U32 dummy0[2];
} OMX_CONFIG_BRCMRENDERSTATSTYPE;
</pre><p>
<p>
<a name="OMX_IndexConfigBrcmUseProprietaryCallback"><h2>Force use of proprietary callback</h2></a>
<tt>OMX_IndexConfigBrcmUseProprietaryCallback</tt><br>
Used by: <a href="image_encode.html">image_encode</a>, <a href="image_fx.html">image_fx</a>, <a href="resize.html">resize</a>, <a href="null_sink.html">null_sink</a>, <a href="hvs.html">hvs</a>, <a href="isp.html">isp</a>, <a href="video_encode.html">video_encode</a>, <a href="video_render.html">video_render</a>, <a href="video_splitter.html">video_splitter</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BRCMUSEPROPRIETARYTUNNELTYPE</tt><p>
Disable/enable the use of proprietary callbacks rather than OpenMAX IL buffer handling.<p>
<a name="OMX_IndexConfigBrcmUseRegisterFile"><h2>Specify whether we wish to load the register settings file</h2></a>
<tt>OMX_IndexConfigBrcmUseRegisterFile</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
The file is specified with <tt>OMX_IndexParamConfigFileRegisters</tt>.
<p>
<a name="OMX_IndexConfigBrcmVideoEncodedSliceSize"><h2>Video encoding output slice size</h2></a>
<tt>OMX_IndexConfigBrcmVideoEncodedSliceSize</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This config allows the client to set the slice size used in bytes,
as opposed to the standard OMX parameters which are in macroblocks.
<p>
<a name="OMX_IndexConfigBrcmVideoEncoderMBRowsPerSlice"><h2>Configures the number of macro-block rows per slice</h2></a>
<tt>OMX_IndexConfigBrcmVideoEncoderMBRowsPerSlice</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Setting the value to zero resets to the default (one slice per frame).
<p>
<a name="OMX_IndexConfigBrcmVideoH264AUDelimiters"><h2>Access Unit delimiters</h2></a>
<tt>OMX_IndexConfigBrcmVideoH264AUDelimiters</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Enable/Disable appropriate encoder flags for supplying Access Unit delimiters along with the encoded stream.
<p>
<a name="OMX_IndexConfigBrcmVideoH264DeblockIDC"><h2>DEblock IDC control</h2></a>
<tt>OMX_IndexConfigBrcmVideoH264DeblockIDC</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Enable/Disable Flags for deblock IDC (H264 Only).
<p>
<a name="OMX_IndexConfigBrcmVideoH264DisableCABAC"><h2>CABAC Control</h2></a>
<tt>OMX_IndexConfigBrcmVideoH264DisableCABAC</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Enable/Disable appropriate encoder flags to enable or disable CABAC (H264 ONLY).
<p>
<a name="OMX_IndexConfigBrcmVideoH264IntraMBMode"><h2>Intra Macroblock mode</h2></a>
<tt>OMX_IndexConfigBrcmVideoH264IntraMBMode</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Query/Set intra MB mode (H264 Only).
<p>
<a name="OMX_IndexConfigBrcmVideoH264LowLatency"><h2>Require the encoder to configure the low-latency mode</h2></a>
<tt>OMX_IndexConfigBrcmVideoH264LowLatency</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
<p>
<a name="OMX_IndexConfigBrcmVideoIntraPeriod"><h2>Configure the number of frames between intra frames</h2></a>
<tt>OMX_IndexConfigBrcmVideoIntraPeriod</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This overrides the setting in <tt>OMX_IndexConfigBrcmVideoIntraPeriodTime</tt>.
<p>
<a name="OMX_IndexConfigBrcmVideoIntraPeriodTime"><h2>Configure the time between intra frames, in microseconds</h2></a>
<tt>OMX_IndexConfigBrcmVideoIntraPeriodTime</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Only valid if the framerate is zero (and hence the framerate is inferred from timestamps).
This overrides the setting in <tt>OMX_IndexConfigBrcmVideoIntraPeriod</tt>.
<p>
<a name="OMX_IndexConfigBrcmVideoIntraRefresh"><h2>Configures the intra refresh mode, if supported by the codec</h2></a>
<tt>OMX_IndexConfigBrcmVideoIntraRefresh</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_VIDEO_PARAM_INTRAREFRESHTYPE</tt><p>
Can be used when the component is executing.
<p>
<a name="OMX_IndexConfigBrcmVideoRequestIFrame"><h2>Request an I frame</h2></a>
<tt>OMX_IndexConfigBrcmVideoRequestIFrame</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexConfigBufferStall"><h2>Advertise buffer stall state</h2></a>
<tt>OMX_IndexConfigBufferStall</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
<pre>
typedef struct OMX_CONFIG_BUFFERSTALLTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bStalled;
OMX_U32 nDelay;
} OMX_CONFIG_BUFFERSTALLTYPE;</pre><p>
Query/set the buffer stall threashold. When set the <tt>nDelay</tt>
parameter specifies a time to class whether buffer output is stalled.
When get, the <tt>nDelay</tt> parameter indicates the current buffer
delay, and the {bStalled} parameter indicates whether this time is
over a previously set threashold. When
<tt>OMX_IndexConfigRequestCallback</tt> is used with this index, a
notification is given when <tt>bStalled</tt> changes.<p>
<dl>
<dt><tt>bStalled</tt><dd>Whether we are stalled
<dt><tt>nDelay</tt><dd>Delay in real time (us) from last buffer to current time
</dl>
<a name="OMX_IndexConfigBurstCapture"><h2>Set the camera into a mode where it is only doing captures</h2></a>
<tt>OMX_IndexConfigBurstCapture</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexConfigCameraAnalogGain"><h2>Manual camera analog gain</h2></a>
<tt>OMX_IndexConfigCameraAnalogGain</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_CAMERAGAINTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 xGain;
OMX_BOOL bAutoGain;
} OMX_CONFIG_CAMERAGAINTYPE;
</pre><p>
When bAutoGain is set to OMX_FALSE, xGain will be used to set the
camera analog gain. Requires OMX_IndexConfigCommonExposureValue
bAutoSensitivity to be set to true (ie ISO control overrides this
control).
<p>
<dl>
<dt><tt>xGain</tt><dd>Gain to be applied, stored as Q16 format
<dt><tt>bAutoGain</tt><dd>Whether gain is set automatically
</dl>
<a name="OMX_IndexConfigCameraCaptureAbortsAutoFocus"><h2>Starting a capture aborts AF</h2></a>
<tt>OMX_IndexConfigCameraCaptureAbortsAutoFocus</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexConfigCameraDigitalGain"><h2>Manual digital gain.</h2></a>
<tt>OMX_IndexConfigCameraDigitalGain</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="isp.html">isp</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_CAMERAGAINTYPE</tt><p>
Configures the digital gain within the ISP pipeline.<p>
<dl>
<dt><tt>xGain</tt><dd>Gain to be applied, stored as Q16 format
<dt><tt>bAutoGain</tt><dd>Whether gain is set automatically
</dl>
<a name="OMX_IndexConfigCameraEnableStatsPass"><h2>Query / set whether a separate stats pass should be done before each capture</h2></a>
<tt>OMX_IndexConfigCameraEnableStatsPass</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This will be done automatically if flash is requested.
<p>
<a name="OMX_IndexConfigCameraFeatures"><h2>Camera features</h2></a>
<tt>OMX_IndexConfigCameraFeatures</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_CAMERAFEATURESTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_CONFIG_CAMERAFEATURESSHUTTER eHasMechanicalShutter;
OMX_BOOL bHasLens;
} OMX_CONFIG_CAMERAFEATURESTYPE;
</pre><p>
Query the capabilities of the current camera (lens and shutter). Some information is only valid when the component is Idle or Executing.
<p>
<a name="OMX_IndexConfigCameraFlashConfig"><h2>Flash cycle configuration</h2></a>
<tt>OMX_IndexConfigCameraFlashConfig</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
This parameter allows the configuration of various parameters relating to
the flash cycle. Some of the options are only applicable to xenon flash.
<tt>bUsePreFlash</tt> uses a low intensity pre-flash to determine flash intensity. This setting
is recommended for almost all flash situations.
<tt>bUseFocusDistanceInfo</tt> uses the distance of the subject, as measured by the AF algorithm
to set the intensity of the flash.
<tt>eFlashSync</tt> configures which edge of the shutter is used to synchronise the flash, and
the duration of the exposure.
<tt>eIgnoreChargeState</tt> will make the flash fire, even if it is not fully charged.<p>
<a name="OMX_IndexConfigCameraISPOutputPoolHeight"><h2>Set the height of the high-resolution output image in stills capture only</h2></a>
<tt>OMX_IndexConfigCameraISPOutputPoolHeight</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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
<tt>OMX_IndexParamImagePoolDisplayFunction</tt>, or
<tt>OMX_IndexParamCameraPoolToEncoderFunction</tt> 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.
<p>
<a name="OMX_IndexConfigCameraInfo"><h2>Camera device driver information</h2></a>
<tt>OMX_IndexConfigCameraInfo</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
#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;</pre><p>
Ask the camera component for the driver info on the current camera device<p>
<a name="OMX_IndexConfigCameraInputFrame"><h2>Pointer to the raw input image</h2></a>
<tt>OMX_IndexConfigCameraInputFrame</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_IMAGEPTRTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_PTR pImage;
} OMX_CONFIG_IMAGEPTRTYPE;</pre><p>
This parameter parameter allows the return of a pointer to a
VideoCore image resource.<p>
<a name="OMX_IndexConfigCameraIsoReferenceValue"><h2>Allows the client to obtain the ISO reference for unity analogue gain</h2></a>
<tt>OMX_IndexConfigCameraIsoReferenceValue</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexConfigCameraSensorModes"><h2>Camera Sensor Mode</h2></a>
<tt>OMX_IndexConfigCameraSensorModes</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="camera.html">camera</a>, <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
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 <tt>nPortIndex</tt>. If
<tt>nPortIndex</tt> is <tt>OMX_ALL</tt>, it returns the sensor mode
corresponding to <tt>nModeIndex</tt>, and the number of modes in
<tt>nNumModes</tt>. If <tt>nModeIndex</tt> is greater than or equal to
<tt>nNumModes</tt> only <tt>nNumModes</tt> is returned. If
<tt>nPortIndex</tt> is equal to a camera video output port index, it
returns the sensor mode that would be selected for the values
currently in <tt>OMX_IndexParamPortDefinition</tt> for that port.
The <tt>nPaddingRight</tt> and <tt>nPaddingDown</tt> values determine the
extra padding the sensor adds to the image. These values must be added
to <tt>nWidth</tt> and <tt>nHeight</tt> respectively if the client is
specifying the input image pool size.<p>
<a name="OMX_IndexConfigCameraSettings"><h2>Get the parameters applied to the last frame from the camera</h2></a>
<tt>OMX_IndexConfigCameraSettings</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_CAMERASETTINGSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nExposure;
OMX_U32 nAnalogGain;
OMX_U32 nDigitalGain;
OMX_U32 nLux;
OMX_U32 nRedGain;
OMX_U32 nBlueGain;
OMX_U32 nFocusPosition;
} OMX_CONFIG_CAMERASETTINGSTYPE;
</pre><p>
The client can also set <tt>OMX_IndexConfigRequestCallback</tt> for this config.
<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
</dl>
<a name="OMX_IndexConfigCameraStripeFuncMinLines"><h2>Stripe mode minimum height</h2></a>
<tt>OMX_IndexConfigCameraStripeFuncMinLines</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Used to set the minimum number of lines to be passed using the stripe function. The stripe
function itself is set with <tt>OMX_IndexParamCameraStripeFunction</tt>.
<p>
<a name="OMX_IndexConfigCameraUseCase"><h2>Camera use case</h2></a>
<tt>OMX_IndexConfigCameraUseCase</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_CAMERAUSECASETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_CONFIG_CAMERAUSECASE eUseCase;
} OMX_CONFIG_CAMERAUSECASETYPE;
</pre><p>
Query / set the use case to be passed into the tuner module.
<p>
<a name="OMX_IndexConfigCaptureRawImageURI"><h2>Configure filename for raw Bayer image</h2></a>
<tt>OMX_IndexConfigCaptureRawImageURI</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_CONTENTURITYPE</tt><p>
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
<tt>OMX_ErrorUnsupportedIndex</tt> if the algorithm is not loaded.
<p>
<a name="OMX_IndexConfigClockAdjustment"><h2>Clock Adjustment</h2></a>
<tt>OMX_IndexConfigClockAdjustment</tt><br>
Used by: <a href="clock.html">clock</a><p>
This index uses the standard IL structure <tt>OMX_TIME_CONFIG_TIMESTAMPTYPE</tt><p>
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
<tt>OMX_TIME_ClockStateRunning</tt> or
<tt>OMX_TIME_ClockStateWaitingForStartTime</tt> this adjustment total is
set to zero.<p>
<a name="OMX_IndexConfigCommonFaceBeautification"><h2>Face Beautification</h2></a>
<tt>OMX_IndexConfigCommonFaceBeautification</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Enables/disables the face beautification algorithm, if it is present.
<p>
<a name="OMX_IndexConfigCommonFaceDetectionControl"><h2>Face detection</h2></a>
<tt>OMX_IndexConfigCommonFaceDetectionControl</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;
</pre><p>
Query / set the state of the face detection algorithm. Will return <tt>OMX_ErrorUnsupportedIndex</tt> if the algorithm is not loaded.
<p>
<dl>
<dt><tt>nFrames</tt><dd>number of frames to apply this setting for,
<dt><tt>nMaxRegions</tt><dd>maximum number of regions to detect, 0 for unlimited
<dt><tt>nQuality</tt><dd>hint for algorithmic complexity, range is 0-100.
</dl>
<a name="OMX_IndexConfigCommonFaceDetectionRegion"><h2>Face detection output</h2></a>
<tt>OMX_IndexConfigCommonFaceDetectionRegion</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;
</pre><p>
Query the currently detected face regions within the viewfinder image. Will return
<tt>OMX_ErrorUnsupportedIndex</tt> if the algorithm is not loaded.
<p>
<dl>
<dt><tt>nPortIndex</tt><dd>index of port with face detection enabled
<dt><tt>nIndex</tt><dd>first requested region number, allowing retrieval of many regions
<dt><tt>nDetectedRegions</tt><dd>total number of detected regions
<dt><tt>nValidRegions</tt><dd>number of valid regions in sRegion array
<dt><tt>nImageWidth</tt><dd>Width of the image, hence reference for the face coordinates
<dt><tt>nImageHeight</tt><dd>Height of the image, hence reference for the face coordinates
<dt><tt>sRegion</tt><dd>variable length array of face regions
</dl>
<a name="OMX_IndexConfigCommonFlickerCancellation"><h2>Flicker cancellation</h2></a>
<tt>OMX_IndexConfigCommonFlickerCancellation</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
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.<p>
<a name="OMX_IndexConfigCommonFocusRegionXY"><h2>Define focus regions</h2></a>
<tt>OMX_IndexConfigCommonFocusRegionXY</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
Query / set the focus regions to use as a set of x/y/width/height boxes relative
to the overall image.
<tt>nIndex</tt> - first region number being set/read, allowing retrieval/setting
of many regions over several requests.
<tt>nTotalRegions</tt> - total number of regions currently defined.
<tt>nValidRegions</tt> - number of valid regions in the <tt>sRegion</tt> 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
<tt>bLockToFaces</tt> - 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.
<tt>xFaceTolerance</tt> - 0p16 value to define the max difference between the region centre
and face tracking result centre to take the FT results
<tt>sRegions</tt> - variable length array of focus regions.<p>
<a name="OMX_IndexConfigCommonImageFilterParameters"><h2>Parameterized Image Filter</h2></a>
<tt>OMX_IndexConfigCommonImageFilterParameters</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_IMAGEFILTERPARAMSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_IMAGEFILTERTYPE eImageFilter;
OMX_U32 nNumParams;
OMX_U32 nParams[OMX_CONFIG_IMAGEFILTERPARAMS_MAXPARAMS];
} OMX_CONFIG_IMAGEFILTERPARAMSTYPE;</pre><p>
This structure contains optional parameters for some image
filters. The following table lists all image filters that support
parameters.
<table border="1" cellspacing="0" cellpadding="2">
<tr><td>Filter<td>Parameters<td>Notes
<tr><td><tt>OMX_ImageFilterSolarize</tt>
<td><tt>[x0 y0 y1 y2]</tt>
<td>Linear mapping of <tt>[0,x0]</tt> to <tt>[0,y0>]</tt>
and <tt>[x0,255]</tt> to <tt>[y1,y2]</tt>.
Default is <tt>"128 128 128 0"</tt>.
<tr><td><tt>OMX_ImageFilterSharpen</tt>
<td><tt>[sz [str [th]]</tt>
<td><tt>sz</tt> size of filter, either 1 or 2.
<tt>str</tt> strength of filter.
<tt>th</tt> threshold of filter.
Default is <tt>"1 40 20"</tt>.
<tr><td><tt>OMX_ImageFilterFilm</tt>
<td><tt>[[str] [u v]]</tt>
<td><tt>str</tt> strength of effect.
<tt>u</tt> sets u to constant value.
<tt>v</tt> sets v to constant value.
Default is <tt>"24"</tt>.
<tr><td><tt>OMX_ImageFilterBlur</tt>
<td><tt>[sz]</tt>
<td><tt>sz</tt> size of filter, either 1 or 2.
Default is <tt>"2"</tt>.
<tr><td><tt>OMX_ImageFilterSaturation</tt>
<td><tt>[str]</tt>
<td><tt>str</tt> strength of effect, in 8.8 fixed point format. u/v value
differences from 128 are multiplied by <tt>str</tt>.
Default is <tt>"272"</tt>.
</table><p>
<a name="OMX_IndexConfigCommonInterlace"><h2>Query the type of interlacing in use in the decoded video</h2></a>
<tt>OMX_IndexConfigCommonInterlace</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
<pre>
typedef struct OMX_CONFIG_INTERLACETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_INTERLACETYPE eMode;
OMX_BOOL bRepeatFirstField;
} OMX_CONFIG_INTERLACETYPE;
</pre><p>
<p>
<dl>
<dt><tt>nPortIndex</tt><dd>index of port emitting or accepting the content
<dt><tt>eMode</tt><dd>The interlace type of the content
<dt><tt>bRepeatFirstField</tt><dd>Whether to repeat the first field
</dl>
<a name="OMX_IndexConfigCommonRedEyeRemoval"><h2>Red eye removal/reduction</h2></a>
<tt>OMX_IndexConfigCommonRedEyeRemoval</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
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.<p>
<a name="OMX_IndexConfigCommonSceneDetected"><h2>Reports the scene type detected by a scene detection algorithm.</h2></a>
<tt>OMX_IndexConfigCommonSceneDetected</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_SCENEDETECTTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_SCENEDETECTTYPE eScene;
} OMX_CONFIG_SCENEDETECTTYPE;</pre><p>
This config is used to report to clients the scene type that has been detected.<p>
<dl>
<dt><tt>eScene</tt><dd>Scene type detected
</dl>
<a name="OMX_IndexConfigCommonSceneDetectionControl"><h2>Automatic Scene Detection Control</h2></a>
<tt>OMX_IndexConfigCommonSceneDetectionControl</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Enables/disables the scene detection algorithm, if it is present.
<p>
<a name="OMX_IndexConfigCommonSharpness"><h2>Image sharpening</h2></a>
<tt>OMX_IndexConfigCommonSharpness</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_SHARPNESSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_S32 nSharpness;
} OMX_CONFIG_SHARPNESSTYPE;
</pre><p>
Query / set the sharpening/softening of the output image. -100 = max softening. 0 = no change. +100 = max sharpening.
<p>
<a name="OMX_IndexConfigContrastEnhance"><h2>Enable / disable contrast enhancement</h2></a>
<tt>OMX_IndexConfigContrastEnhance</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
<p>
<a name="OMX_IndexConfigCustomAwbGains"><h2>Manual AWB Gains.</h2></a>
<tt>OMX_IndexConfigCustomAwbGains</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="isp.html">isp</a><p>
<pre>
typedef struct OMX_CONFIG_CUSTOMAWBGAINSTYPE {
OMX_U32 nSize;
configuration data */
OMX_VERSIONTYPE nVersion;
OMX_U32 xGainR;
OMX_U32 xGainB;
} OMX_CONFIG_CUSTOMAWBGAINSTYPE;</pre><p>
/* OMX_IndexConfigBrcmRenderStats: Render port statistics */
typedef struct OMX_CONFIG_BRCMRENDERSTATSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL nValid;
OMX_U32 nMatch;
OMX_U32 nPeriod;
OMX_U32 nPhase;
OMX_U32 nPixelClockNominal;
OMX_U32 nPixelClock;
OMX_U32 nHvsStatus;
OMX_U32 dummy0[2];
} OMX_CONFIG_BRCMRENDERSTATSTYPE;
/*
This provides statistics from the renderer to allow more accurate synchronisation
between the scheduler and display VSYNC.<p>
<dl>
<dt><tt>nSize</tt><dd>size of the structure in bytes, including
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>xGainR</tt><dd>Red gain - 16p16
<dt><tt>xGainB</tt><dd>Blue gain - 16p16
</dl>
<a name="OMX_IndexConfigDisplayRegion"><h2>Display Region</h2></a>
<tt>OMX_IndexConfigDisplayRegion</tt><br>
Used by: <a href="hvs.html">hvs</a>, <a href="video_render.html">video_render</a><p>
<pre>
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,
// these allow a left eye source-dest to be specified and the right eye mapping will be inferred by symmetry
OMX_DISPLAY_MODE_STEREO_LEFT_TO_LEFT = 2,
OMX_DISPLAY_MODE_STEREO_TOP_TO_TOP = 3,
OMX_DISPLAY_MODE_STEREO_LEFT_TO_TOP = 4,
OMX_DISPLAY_MODE_STEREO_TOP_TO_LEFT = 5,
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 enum OMX_DISPLAYASPECTFLAGSTYPE {
OMX_DISPLAY_ALPHA_FLAGS_NONE = 0,
// All layers below and including this one will be ignored (used for screen
// blanking in full screen rendering)
OMX_DISPLAY_ALPHA_FLAGS_DISCARD_LOWER_LAYERS = 129,
// Alpha values are already premultiplied
OMX_DISPLAY_ALPHA_FLAGS_PREMULT = 130,
// Mix the per pixel alpha (if present) and the per plane alpha.
OMX_DISPLAY_ALPHA_FLAGS_MIX = 131,
} OMX_DISPLAYASPECTFLAGSTYPE;
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;</pre><p>
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, <tt>set</tt>, to indicate which fields are set
and should be used. All other fields will maintain their current
value.
<tt>num</tt> describes the display output device, with 0 typically being
a directly connected LCD display.
<tt>fullscreen</tt> 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.
<tt>transform</tt> indicates any rotation or flipping used to map frames
onto the natural display orientation.
The <tt>src_rect</tt> indicates which area of the frame to display. If
all values are zero, the whole frame will be used.
The <tt>noaspect</tt> flag, if set, indicates that any display scaling
should disregard the aspect ratio of the frame region being displayed.
<tt>mode</tt> indicates how the image should be scaled to fit the
display. <tt>OMX_DISPLAY_MODE_FILL</tt> indicates that the image should
fill the screen by potentially cropping the frames. Setting
<tt>mode</tt> to <tt>OMX_DISPLAY_MODE_LETTERBOX</tt> indicates that all
the source region should be displayed and black bars added if
necessary.
The <tt>pixel_x</tt> and <tt>pixel_y</tt> 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 <tt>layer</tt> that the image will appear on with the
<tt>layer</tt> field.<p>
<a name="OMX_IndexConfigDrawBoxAroundFaces"><h2>Draw boxes around faces</h2></a>
<tt>OMX_IndexConfigDrawBoxAroundFaces</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Query / set the state of adding boxes around the faces detected in the viewfinder frames.
<p>
<a name="OMX_IndexConfigDrawBoxLineParams"><h2>Face box style parameters.</h2></a>
<tt>OMX_IndexConfigDrawBoxLineParams</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
Query / set the parameters for the box to be drawn around faces/focus regions.<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>nPortIndex</tt><dd>Port to which this config applies
<dt><tt>xCornerSize</tt><dd>Size of the corners as a fraction of the complete side
<dt><tt>nPrimaryFaceLineWidth</tt><dd>Width of the box line for the primary face in pixels
<dt><tt>nOtherFaceLineWidth</tt><dd>Width of the box line for other faces in pixels
<dt><tt>nFocusRegionLineWidth</tt><dd>Width of the box line for focus regions in pixels
<dt><tt>sPrimaryFaceColour</tt><dd>YUV colour for the primary face
<dt><tt>sPrimaryFaceSmileColour</tt><dd>YUV colour for the primary face if smiling
<dt><tt>sPrimaryFaceBlinkColour</tt><dd>YUV colour for the primary face if blinking
<dt><tt>sOtherFaceColour</tt><dd>YUV colour for the all other faces
<dt><tt>sOtherFaceSmileColour</tt><dd>YUV colour for the all other faces if smiling
<dt><tt>sOtherFaceBlinkColour</tt><dd>YUV colour for the all other faces if blinking
<dt><tt>bShowFocusRegionsWhenIdle</tt><dd>Are focus regions displayed when just in viewfinder/AF idle
<dt><tt>sFocusRegionColour</tt><dd>YUV colour for focus regions
<dt><tt>bShowAfState</tt><dd>Change to the colours specified below if AF cycle has run
<dt><tt>bShowOnlyPrimaryAfState</tt><dd>Only show the primary face when displaying the AF status
<dt><tt>bCombineNonFaceRegions</tt><dd>Combine all regions not defined as faces into one single box covering them all
<dt><tt>sAfLockPrimaryFaceColour</tt><dd>YUV colour for the primary face
<dt><tt>sAfLockOtherFaceColour</tt><dd>YUV colour for the all other faces
<dt><tt>sAfLockFocusRegionColour</tt><dd>YUV colour for focus regions
<dt><tt>sAfFailPrimaryFaceColour</tt><dd>YUV colour for the primary face
<dt><tt>sAfFailOtherFaceColour</tt><dd>YUV colour for the all other faces
<dt><tt>sAfFailFocusRegionColour</tt><dd>YUV colour for focus regions
</dl>
<a name="OMX_IndexConfigDynamicRangeExpansion"><h2>Configure image dynamic range expansion processing</h2></a>
<tt>OMX_IndexConfigDynamicRangeExpansion</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
Configures the intensity of an image dynamic range expansion processing stage<p>
<a name="OMX_IndexConfigEncLevelExtension"><h2>AVC Override encode capabilities</h2></a>
<tt>OMX_IndexConfigEncLevelExtension</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
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;</pre><p>
This allows finer control of the H264 encode internal parameters.<p>
<dl>
<dt><tt>nCustomMaxMBPS</tt><dd>Specifies maximum macro-blocks per second
<dt><tt>nCustomMaxFS</tt><dd>Specifies maximum frame size (macro-blocks per frame)
<dt><tt>nCustomMaxBRandCPB</tt><dd>Specifies maximum bitrate in units of 1000 bits/s and Codec Picture Buffer (CPB derived from bitrate)
</dl>
<a name="OMX_IndexConfigFaceRecognitionControl"><h2>Face Recognition Control</h2></a>
<tt>OMX_IndexConfigFaceRecognitionControl</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Enables/disables the face recognition software stage (if present)
<p>
<a name="OMX_IndexConfigFaceRecognitionDatabaseUri"><h2>Face Recognition Database File</h2></a>
<tt>OMX_IndexConfigFaceRecognitionDatabaseUri</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_CONTENTURITYPE</tt><p>
Specifies the URI of the database file to be used by face recognition.
<p>
<a name="OMX_IndexConfigFaceRecognitionSaveFace"><h2>Face Recognition Face Learning</h2></a>
<tt>OMX_IndexConfigFaceRecognitionSaveFace</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_BRCMU64TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nLowPart;
OMX_U32 nHighPart;
} OMX_PARAM_BRCMU64TYPE;
</pre><p>
Instructs the face recognition stage to save the next primary face it sees into the database with the
supplied ID.
<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>nLowPart</tt><dd>low bits of the unsigned 64 bit value
<dt><tt>nHighPart</tt><dd>high bits of the unsigned 64 bit value
</dl>
<a name="OMX_IndexConfigFieldOfView"><h2>Image field of view</h2></a>
<tt>OMX_IndexConfigFieldOfView</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_BRCMFOVTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 xFieldOfViewHorizontal;
OMX_U32 xFieldOfViewVertical;
} OMX_CONFIG_BRCMFOVTYPE;
</pre><p>
Returns the field of view provided by the current camera settings.
Read only.
<p>
<dl>
<dt><tt>xFieldOfViewHorizontal</tt><dd>Horizontal field of view in degrees. 16p16 value
<dt><tt>xFieldOfViewVertical</tt><dd>Vertical field of view in degrees. 16p16 value
</dl>
<a name="OMX_IndexConfigFlashChargeLevel"><h2>Query the charge level of the currently selected flash device</h2></a>
<tt>OMX_IndexConfigFlashChargeLevel</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This is updated at the start of every frame.
<p>
<a name="OMX_IndexConfigFlashInfo"><h2>Flash Information</h2></a>
<tt>OMX_IndexConfigFlashInfo</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;
</pre><p>
Queries for the information on the flash devices present.
<p>
<a name="OMX_IndexConfigInputCropPercentages"><h2>Set crop region seen by ISP</h2></a>
<tt>OMX_IndexConfigInputCropPercentages</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;
</pre><p>
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.
<p>
<dl>
<dt><tt>xLeft</tt><dd>Fraction of the width for the top left corner of the rectangle
<dt><tt>xTop</tt><dd>Fraction of the height for the top left corner of the rectangle
<dt><tt>xWidth</tt><dd>Fraction of the image width desired
<dt><tt>xHeight</tt><dd>Fraction of the image height desired
</dl>
<a name="OMX_IndexConfigLatencyTarget"><h2>Maintain target latency by adjusting clock speed</h2></a>
<tt>OMX_IndexConfigLatencyTarget</tt><br>
Used by: <a href="audio_render.html">audio_render</a>, <a href="clock.html">clock</a>, <a href="video_render.html">video_render</a><p>
<pre>
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;</pre><p>
Query/set parameters used when adjusting clock speed to match the
measured latency to a specified value.<p>
<dl>
<dt><tt>bEnabled</tt><dd>whether this mode is enabled
<dt><tt>nFilter</tt><dd>number of latency samples to filter on, good value: 1
<dt><tt>nTarget</tt><dd>target latency, us
<dt><tt>nShift</tt><dd>shift for storing latency values, good value: 7
<dt><tt>nSpeedFactor</tt><dd>multiplier for speed changes, in 24.8 format, good value: 256-512
<dt><tt>nInterFactor</tt><dd>divider for comparing latency versus gradiant, good value: 300
<dt><tt>nAdjCap</tt><dd>limit for speed change before nSpeedFactor is applied, good value: 100
</dl>
<a name="OMX_IndexConfigMinimiseFragmentation"><h2>Minimising Fragmentation</h2></a>
<tt>OMX_IndexConfigMinimiseFragmentation</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This control can be supported to enable the client to request that the component works
to minimise fragmentation of output buffers.<p>
<a name="OMX_IndexConfigPortCapturing"><h2>Per-port capturing state</h2></a>
<tt>OMX_IndexConfigPortCapturing</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;</pre><p>
This is proposed in IL533f for controlling
which ports of a multi-port camera component are capturing frames.<p>
<a name="OMX_IndexConfigPowerDown"><h2>Standby/power control</h2></a>
<tt>OMX_IndexConfigPowerDown</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Query /set the power status of the camera module. Setting this parameter to <tt>OMX_TRUE</tt> instructs the component to
power down the sensor, but keeping all memory allocated as required by
the component state.
<p>
<a name="OMX_IndexConfigPresentationOffset"><h2>Presentation Offset</h2></a>
<tt>OMX_IndexConfigPresentationOffset</tt><br>
Used by: <a href="audio_render.html">audio_render</a>, <a href="video_scheduler.html">video_scheduler</a><p>
This index uses the standard IL structure <tt>OMX_TIME_CONFIG_TIMESTAMPTYPE</tt><p>
The value of <tt>nTimestamp</tt> 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.<p>
<a name="OMX_IndexConfigPrivacyIndicator"><h2>Privacy indicator control</h2></a>
<tt>OMX_IndexConfigPrivacyIndicator</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
This config allows control over the privacy indicator light. This
light indicates when a capture is in progress.
<tt>OMX_PrivacyIndicatorOff</tt> indicator is disabled.
<tt>OMX_PrivacyIndicatorOn</tt> indicator will be
turned on whenever an image is being captured as determined by the
capturing bit. Minimum on duration of approx 200ms.
<tt>OMX_PrivacyIndicatorForceOn</tt> results in turning the indicator on
immediately, whether an image is being captured or not. The mode will
automatically revert to <tt>OMX_PrivacyIndicatorOff</tt> once the
indicator has been turned on, so <tt>OMX_PrivacyIndicatorForceOn</tt>
must be requested at least every 200ms if the indicator is to remain
on.<p>
<a name="OMX_IndexConfigRefreshCodec"><h2>Triggers closing and reopening the codec</h2></a>
<tt>OMX_IndexConfigRefreshCodec</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This will only happen if the codec is currently loaded. To perform this operation, the <tt>bEnabled</tt> value should
be set to <tt>OMX_TRUE</tt>.
<p>
<a name="OMX_IndexConfigRequestCallback"><h2>Enable config change notifications.</h2></a>
<tt>OMX_IndexConfigRequestCallback</tt><br>
Used by: <a href="audio_mixer.html">audio_mixer</a>, <a href="null_sink.html">null_sink</a>, <a href="camera.html">camera</a>, <a href="video_decode.html">video_decode</a><p>
<pre>
typedef struct OMX_CONFIG_REQUESTCALLBACKTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_INDEXTYPE nIndex;
OMX_BOOL bEnable;
} OMX_CONFIG_REQUESTCALLBACKTYPE;</pre><p>
This config implements IL416c to allow clients to request notification
of when a config or parameter is changed. When the parameter specified
in <tt>nIndex</tt> for port <tt>nPortIndex</tt> changes, an
<tt>OMX_EventParamOrConfigChanged</tt> event is generated for the client.<p>
<a name="OMX_IndexConfigSingleStep"><h2>Single Step</h2></a>
<tt>OMX_IndexConfigSingleStep</tt><br>
Used by: <a href="clock.html">clock</a>, <a href="video_decode.html">video_decode</a>, <a href="video_splitter.html">video_splitter</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
When setting this config on a paused clock, where the <tt>nU32</tt>
value is non-zero and <tt>nPortIndex</tt> is OMX_ALL, the media clock
will advance through the next <tt>nU32</tt> 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
<tt>nU32</tt> is non-zero, requests that the output port forwards the
next <tt>nU32</tt> frames appending an EOS marker on the last frame, and
then ceases to forward data on this port. If <tt>nU32</tt> is zero, any
previous request to forward a limited number of frames is cancelled
and the default behaviour of this port will resume.<p>
<a name="OMX_IndexConfigSmartShakeReductionEnable"><h2>Smart Shake Reduction (SSR)</h2></a>
<tt>OMX_IndexConfigSmartShakeReductionEnable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Query / set the state of the Smart Shake Reduction function. Will return <tt>OMX_ErrorUnsupportedIndex</tt> if the
algorithm is not loaded.
<p>
<a name="OMX_IndexConfigStillColourDenoiseEnable"><h2>Configure still colour denoise</h2></a>
<tt>OMX_IndexConfigStillColourDenoiseEnable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexConfigStillsAntiShakeEnable"><h2>Query / set the state of the antishake function of the camera</h2></a>
<tt>OMX_IndexConfigStillsAntiShakeEnable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
<p>
<a name="OMX_IndexConfigTemporalDenoiseEnable"><h2>Configure temporal denoise</h2></a>
<tt>OMX_IndexConfigTemporalDenoiseEnable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexConfigTimeInvalidStartTime"><h2>Invalid Start Times</h2></a>
<tt>OMX_IndexConfigTimeInvalidStartTime</tt><br>
Used by: <a href="clock.html">clock</a><p>
This index uses the standard IL structure <tt>OMX_TIME_CONFIG_TIMESTAMPTYPE</tt><p>
This allows clock clients to supply a start time notification to the
clock whilst indicating that this time is invalid.<p>
<a name="OMX_IndexConfigTransitionControl"><h2>Transition Control</h2></a>
<tt>OMX_IndexConfigTransitionControl</tt><br>
Used by: <a href="transition.html">transition</a><p>
<pre>
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;</pre><p>
This structure represents the internal configuration of the
transition. Transitions are generated by a loadable plug-in described
by the <tt>name</tt> field. The component appends <tt>"_tran.vll"</tt> 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 <tt>property</tt> field. All plug-ins
should accept a <tt>property</tt> field equal to
<tt>"flags=<number>"</tt>, where <tt><number></tt> can be a random 32 bit
number. If <tt>bSwapInputs</tt> is false, then the start image is on
port 210, the stop image on port 211. These are reversed if
<tt>bSwapInputs</tt> 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 <tt>nPosStart</tt>. The last frame position generated is
<tt>nPosEnd</tt>. Each frame will increment the position by
<tt>nPosIncrement</tt>. The timestamp attached to each frame will
increment by <tt>nFrameIncrement</tt>.<p>
<a name="OMX_IndexConfigUserSettingsId"><h2>Frame identification</h2></a>
<tt>OMX_IndexConfigUserSettingsId</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_U8TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U8 nU8;
} OMX_PARAM_U8TYPE;
</pre><p>
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
<tt>OMX_IndexConfigUserSettingsId</tt>, wait for value read back from
<tt>OMX_IndexConfigUserSettingsId</tt> to change to match).
<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>nU8</tt><dd>U8 value
</dl>
<a name="OMX_IndexConfigVideoColourDenoiseEnable"><h2>Configure video colour denoise</h2></a>
<tt>OMX_IndexConfigVideoColourDenoiseEnable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexConfigVisualisation"><h2>Visualisation Mode</h2></a>
<tt>OMX_IndexConfigVisualisation</tt><br>
Used by: <a href="visualisation.html">visualisation</a><p>
<pre>
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;</pre><p>
<tt>name</tt> is a string of characters specifying the type of
visualization. The component appends <tt>"_vis.vll"</tt> to the name
provided, and attempts to load a visualisation library contained in
this VLL. <tt>property</tt> contains configuration parameters and
values, which is interpreted by the visualisation library. Typically
all visualisations will accept a property string containing
<tt>'mode=<number>'</tt>, where <tt><number></tt> may be a random 32 bit
integer in decimal format. If provided, this may select a random mode
from that visualisation library.<p>
<a name="OMX_IndexConfigWaitForFocusBeforeCapture"><h2>Wait for focus before capture</h2></a>
<tt>OMX_IndexConfigWaitForFocusBeforeCapture</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexParamAudioDdp"><h2>Query / set the DDP format of this port</h2></a>
<tt>OMX_IndexParamAudioDdp</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a>, <a href="audio_render.html">audio_render</a><p>
This index uses the standard IL structure <tt>OMX_AUDIO_PARAM_DDPTYPE</tt><p>
<tt>nSamplingRate</tt> must be 32000, 44100 or 48000.
<p>
<a name="OMX_IndexParamAudioDts"><h2>Query / set the DTS format of this port</h2></a>
<tt>OMX_IndexParamAudioDts</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a>, <a href="audio_render.html">audio_render</a><p>
This index uses the standard IL structure <tt>OMX_AUDIO_PARAM_DTSTYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmAlignHoriz"><h2>Query / set the horizonal alignment of the output buffer to be a given multiple of bytes in width</h2></a>
<tt>OMX_IndexParamBrcmAlignHoriz</tt><br>
Used by: <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Setting this to anything other than the default of 32 may have a negative impact of performance
because the input buffer may need to be re-pitched before it is encoded. Supported values
are 32 or 1 (no padding).
<p>
<a name="OMX_IndexParamBrcmAlignVert"><h2>Query / set the vertical alignment of the output buffer to be a given multiple of rows in height</h2></a>
<tt>OMX_IndexParamBrcmAlignVert</tt><br>
Used by: <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Setting this to anything other than the default of 16 may have a negative impact of performance
because the input buffer may need to be re-pitched before it is encoded. Supported values
are 16 or 1 (no padding).
<p>
<a name="OMX_IndexParamBrcmAllowMemChange"><h2>Allowing changing memory allocation on state transition</h2></a>
<tt>OMX_IndexParamBrcmAllowMemChange</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_PARAM_BRCMALLOWMEMCHANGETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bEnable;
} OMX_PARAM_BRCMALLOWMEMCHANGETYPE;</pre><p>
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.<p>
<a name="OMX_IndexParamBrcmAttachLog"><h2>Sets whether to attach log data to the encoded file or not</h2></a>
<tt>OMX_IndexParamBrcmAttachLog</tt><br>
Used by: <a href="image_encode.html">image_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmBayerOrder"><h2>Bayer order</h2></a>
<tt>OMX_IndexParamBrcmBayerOrder</tt><br>
Used by: <a href="isp.html">isp</a>, <a href="rawcam.html">rawcam</a><p>
<pre>
typedef enum OMX_BAYERORDERTYPE {
OMX_BayerOrderRGGB = 0,
OMX_BayerOrderGBRG = 1,
OMX_BayerOrderBGGR = 2,
OMX_BayerOrderGRBG = 3,
OMX_BayerOrderMax = 0x7FFFFFFF
} OMX_BAYERORDERTYPE;
typedef struct OMX_PARAM_BAYERORDERTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BAYERORDERTYPE eBayerOrder;
} OMX_PARAM_BAYERORDERTYPE;</pre><p>
The IL standard does not support a way to specify the Bayer order of Bayer images.
This control adds that missing functionality.<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
</dl>
<a name="OMX_IndexParamBrcmBlackLevel"><h2>Manual black level parameters.</h2></a>
<tt>OMX_IndexParamBrcmBlackLevel</tt><br>
Used by: <a href="isp.html">isp</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_BLACKLEVELTYPE</tt><p>
Configures the black level within the ISP pipeline.<p>
<dl>
<dt><tt>bEnabled</tt><dd>Enable black level subtraction
<dt><tt>nBlackLevelR</tt><dd>Black level of red channel
<dt><tt>nBlackLevelG</tt><dd>Black level of green channel
<dt><tt>nBlackLevelB</tt><dd>Black level of blue channel
<dt><tt>nBitDepth</tt><dd>Bit depth - refer to comments in code where used
</dl>
<a name="OMX_IndexParamBrcmCRC"><h2>Query for the latest CRC for input data on this port</h2></a>
<tt>OMX_IndexParamBrcmCRC</tt><br>
Used by: <a href="null_sink.html">null_sink</a>, <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmCRCEnable"><h2>Query / set whether this component should calcualte CRCs on output data</h2></a>
<tt>OMX_IndexParamBrcmCRCEnable</tt><br>
Used by: <a href="null_sink.html">null_sink</a>, <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Setting this index resets CRCs to zero. CRC calculation defaults to off.
<p>
<a name="OMX_IndexParamBrcmCameraInputAspectRatio"><h2>Sensor aspect ratio selection</h2></a>
<tt>OMX_IndexParamBrcmCameraInputAspectRatio</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_BRCMASPECTRATIOTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nWidth;
OMX_U32 nHeight;
} OMX_PARAM_BRCMASPECTRATIOTYPE;
</pre><p>
Query / set the preferred 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.
<p>
<a name="OMX_IndexParamBrcmConfigFileChunkRegisters"><h2>Snensor config data</h2></a>
<tt>OMX_IndexParamBrcmConfigFileChunkRegisters</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_BRCMCONFIGFILECHUNKTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 size;
OMX_U32 offset;
OMX_U8 data[1];
} OMX_PARAM_BRCMCONFIGFILECHUNKTYPE;
</pre><p>
Specify a chunk of data for a register settings file.
<tt>OMX_IndexParamConfigFileRegisters</tt> must be called first.
<p>
<dl>
<dt><tt>nSize</tt><dd>size of the structure in bytes, including
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>size</tt><dd>Number of bytes being transferred in this chunk
<dt><tt>offset</tt><dd>Offset of this chunk in the file
<dt><tt>data</tt><dd>Chunk data
</dl>
<a name="OMX_IndexParamBrcmConfigFileRegisters"><h2>Sensor config override</h2></a>
<tt>OMX_IndexParamBrcmConfigFileRegisters</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_BRCMCONFIGFILETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 fileSize;
} OMX_PARAM_BRCMCONFIGFILETYPE;
</pre><p>
Specify a register settings file to use instead of hard-coded defaults.
If a file is to be used, <tt>OMX_IndexParamUseRegisterFile</tt> must be set.
This requires support from the underlying sensor driver.
<p>
<dl>
<dt><tt>nSize</tt><dd>size of the structure in bytes, including
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>fileSize</tt><dd>Size of complete file data
</dl>
<a name="OMX_IndexParamBrcmDataUnit"><h2>Data Unit</h2></a>
<tt>OMX_IndexParamBrcmDataUnit</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a>, <a href="audio_encode.html">audio_encode</a>, <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_DATAUNITTYPE</tt><p>
The data unit is an indication to components connected to this
component of the type of data delivery available.
<tt>OMX_DataUnitCodedPicture</tt> indicates that we are able to give
framing information, using the <tt>OMX_BUFFERFLAG_ENDOFFRAME</tt> flag to
indicate that the data contained finishes a complete
frame. <tt>OMX_DataUnitArbitraryStreamSection</tt> 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.<p>
<a name="OMX_IndexParamBrcmDisableEXIF"><h2>Disable generation of EXIF data</h2></a>
<tt>OMX_IndexParamBrcmDisableEXIF</tt><br>
Used by: <a href="image_encode.html">image_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This parameter is used by clients to control the generation of exif
data in JPEG images.<p>
<a name="OMX_IndexParamBrcmDisableProprietaryTunnels"><h2>Disabling proprietary tunnelling</h2></a>
<tt>OMX_IndexParamBrcmDisableProprietaryTunnels</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="video_decode.html">video_decode</a>, <a href="video_scheduler.html">video_scheduler</a>, <a href="video_splitter.html">video_splitter</a><p>
<pre>
typedef struct OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bUseBuffers;
} OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE;</pre><p>
Tell a source component to refuse to support proprietary tunnelling. Buffers will be used instead.<p>
<a name="OMX_IndexParamBrcmDroppablePFrames"><h2>Require the encoder to select alternate PFrames as not droppable PFrames</h2></a>
<tt>OMX_IndexParamBrcmDroppablePFrames</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This uses the standard code (OMX_CONFIG_BOOLEANTYPE) structure.
<p>
<a name="OMX_IndexParamBrcmEEDEEnable"><h2>Enable/Disable end to end distortion estimator</h2></a>
<tt>OMX_IndexParamBrcmEEDEEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_VIDEO_EEDE_ENABLE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 enable;
} OMX_VIDEO_EEDE_ENABLE;</pre><p>
This enables or disables the use of end to end distortion estimation.<p>
<a name="OMX_IndexParamBrcmEEDELossRate"><h2>Loss rate configuration for end to end distortion</h2></a>
<tt>OMX_IndexParamBrcmEEDELossRate</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_VIDEO_EEDE_LOSSRATE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 loss_rate;
} OMX_VIDEO_EEDE_LOSSRATE;</pre><p>
Set the packet loss rate used by the end to end distortion estimator.<p>
<dl>
<dt><tt>loss_rate</tt><dd>loss rate, 5 means 5%
</dl>
<a name="OMX_IndexParamBrcmEnableIJGTableScaling"><h2>JPEG Quality Table Setting.</h2></a>
<tt>OMX_IndexParamBrcmEnableIJGTableScaling</tt><br>
Used by: <a href="image_encode.html">image_encode</a><p>
<pre>
typedef struct OMX_PARAM_IJGSCALINGTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_PARAM_IJGSCALINGTYPE;</pre><p>
The boolean <tt>bEnabled</tt> value determines whether the component uses
the standard IJG quality tables when encoding images.<p>
<a name="OMX_IndexParamBrcmExtraBuffers"><h2>Sets the number of buffers to allocate beyond the number determined by the codec</h2></a>
<tt>OMX_IndexParamBrcmExtraBuffers</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This defaults to 2 (one on the display, one in the video scheduler) but it may
sometimes be necessary to increase this.
<p>
<a name="OMX_IndexParamBrcmFlushCallbackId"><h2>Specifies a user callback for flush notification</h2></a>
<tt>OMX_IndexParamBrcmFlushCallbackId</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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 <tt>nU32</tt> as the
callback id.
<p>
<a name="OMX_IndexParamBrcmFpsRange"><h2>Allows a variable frame rate range to be defined</h2></a>
<tt>OMX_IndexParamBrcmFpsRange</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_BRCMFRAMERATERANGETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 xFramerateLow;
OMX_U32 xFramerateHigh;
} OMX_PARAM_BRCMFRAMERATERANGETYPE;
</pre><p>
Used if xFramerate in the port definition is 0.
<p>
<dl>
<dt><tt>nSize</tt><dd>size of the structure in bytes, including
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>xFramerateLow</tt><dd>Low end of framerate range. Q16 format
<dt><tt>xFramerateHigh</tt><dd>High end of framerate range. Q16 format
</dl>
<a name="OMX_IndexParamBrcmHeaderOnOpen"><h2>Header production control</h2></a>
<tt>OMX_IndexParamBrcmHeaderOnOpen</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Query / set whether this component should output the header immediately on opening the codec,
before any input images have been received.
<p>
<a name="OMX_IndexParamBrcmImmutableInput"><h2>Require the encoder to not modify the input images</h2></a>
<tt>OMX_IndexParamBrcmImmutableInput</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This uses the standard <tt>OMX_CONFIG_BOOLEANTYPE</tt> structure. If set to <tt>OMX_TRUE</tt>, the encoder
will not modify the input images. Only relevant when using proprietary tunnels.
<p>
<a name="OMX_IndexParamBrcmInterpolateMissingTimestamps"><h2>Configure component to interpolate missing timestamps</h2></a>
<tt>OMX_IndexParamBrcmInterpolateMissingTimestamps</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.<p>
<a name="OMX_IndexParamBrcmIspBlockOverride"><h2>Disables ISP blocks</h2></a>
<tt>OMX_IndexParamBrcmIspBlockOverride</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="isp.html">isp</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Query / set a bitmask that can disable ISP processing blocks.
Blocks can NOT be enabled if they haven't been configured in the tuning.
<p>
<a name="OMX_IndexParamBrcmJpegRestartInterval"><h2>Sets the JPEG restart interval</h2></a>
<tt>OMX_IndexParamBrcmJpegRestartInterval</tt><br>
Used by: <a href="image_encode.html">image_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmLazyImagePoolDestroy"><h2>The image pool will be deleted lazily, i</h2></a>
<tt>OMX_IndexParamBrcmLazyImagePoolDestroy</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="camera.html">camera</a>, <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexParamBrcmLensShadingOverride"><h2>Override or set a lens shading table.</h2></a>
<tt>OMX_IndexParamBrcmLensShadingOverride</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="isp.html">isp</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_LENSSHADINGOVERRIDETYPE</tt><p>
Allows the lens shading grid to be set.
Configuration is based on a similar system to the OMAP3 ISP.
A grid of gains is required for each of the 4 Bayer channels, with each value covering
a nGridCellSize square of pixels.
nWidth and nHeight should be equal or greater than the sensor resolution. In the
case of the camera component, the firmware will crop the table based on the preconfigured
mode set. nStride allows additional horizontal padding to be including in the table.
nMemHandleTable needs to be set to a MEM_HANDLE_T, allocated via VC-SM or similar allocator.
nRefTransform should be set to the transform in force when the reference table was
captured. This allows correct compensation when the sensor is subsequently used with
an alternate transform.<p>
<dl>
<dt><tt>bEnabled</tt><dd>Enable the override grid
<dt><tt>nGridCellSize</tt><dd>size of each grid element. Assumes square grid
<dt><tt>nWidth</tt><dd>grid width
<dt><tt>nStride</tt><dd>grid stride (allows for padding) in *samples* (not bytes)
<dt><tt>nHeight</tt><dd>grid height
<dt><tt>nMemHandleTable</tt><dd>Handle for grid
<dt><tt>nRefTransform</tt><dd>Reference transform taken from raw header
<dt><tt>bCornerSampled</tt><dd>Are grids sampled at cell corners, or centres
<dt><tt>eLsGainFormat</tt><dd>Format of the gain tables
</dl>
<a name="OMX_IndexParamBrcmMaxCorruptMBs"><h2>Sets the maximum number of corrupt macroblocks allowed</h2></a>
<tt>OMX_IndexParamBrcmMaxCorruptMBs</tt><br>
Used by: <a href="null_sink.html">null_sink</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
The default value is zero.
<p>
<a name="OMX_IndexParamBrcmMaxFrameSkips"><h2>Frame timestamp jumps</h2></a>
<tt>OMX_IndexParamBrcmMaxFrameSkips</tt><br>
Used by: <a href="null_sink.html">null_sink</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This number represents the number of times a jump in frame timestamps
has been observed that is greater than expected.<p>
<a name="OMX_IndexParamBrcmMaxNumCallbacks"><h2>Codec callback limit.</h2></a>
<tt>OMX_IndexParamBrcmMaxNumCallbacks</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
The codec can queue up a significant number of frames internally if the sink is
not consuming the output fast enough. This control limits the number of frames
that can be queued up.<p>
<a name="OMX_IndexParamBrcmNALSSeparate"><h2>Force NALs to come out in separate buffers</h2></a>
<tt>OMX_IndexParamBrcmNALSSeparate</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
With this enabled, those encoders that support it will produce NALs in separate OMX buffers.
<p>
<a name="OMX_IndexParamBrcmPixelAspectRatio"><h2>Query / set the pixel aspect ratio of the source content</h2></a>
<tt>OMX_IndexParamBrcmPixelAspectRatio</tt><br>
Used by: <a href="null_sink.html">null_sink</a>, <a href="video_decode.html">video_decode</a>, <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a>, <a href="video_render.html">video_render</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_POINTTYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmPixelValueRange"><h2>Describing the pixel value range</h2></a>
<tt>OMX_IndexParamBrcmPixelValueRange</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
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;</pre><p>
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.<p>
<a name="OMX_IndexParamBrcmRetainMemory"><h2>Controlling memory use on state transition</h2></a>
<tt>OMX_IndexParamBrcmRetainMemory</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_PARAM_BRCMRETAINMEMORYTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bEnable;
} OMX_PARAM_BRCMRETAINMEMORYTYPE;</pre><p>
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.<p>
<a name="OMX_IndexParamBrcmSetCodecPerformanceMonitoring"><h2>Configure component to output performance statistics</h2></a>
<tt>OMX_IndexParamBrcmSetCodecPerformanceMonitoring</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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.<p>
<a name="OMX_IndexParamBrcmStereoscopicMode"><h2>Stereoscopic camera support</h2></a>
<tt>OMX_IndexParamBrcmStereoscopicMode</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef enum OMX_BRCMSTEREOSCOPICMODETYPE {
OMX_STEREOSCOPIC_NONE = 0,
OMX_STEREOSCOPIC_SIDEBYSIDE = 1,
OMX_STEREOSCOPIC_TOPBOTTOM = 2,
OMX_STEREOSCOPIC_MAX = 0x7FFFFFFF,
} OMX_BRCMSTEREOSCOPICMODETYPE;
typedef struct OMX_CONFIG_BRCMSTEREOSCOPICMODETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BRCMSTEREOSCOPICMODETYPE eMode;
OMX_BOOL bDecimate;
(pixel aspect ratio = 1:2 or 2:1 if set. 1:1 if not set) */
OMX_BOOL bSwapEyes;
} OMX_CONFIG_BRCMSTEREOSCOPICMODETYPE;</pre><p>
This control sets up how stereoscopic images should be generated.<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>eMode</tt><dd>Packing mode
<dt><tt>bDecimate</tt><dd>Half/half mode
<dt><tt>bSwapEyes</tt><dd>False = left eye first. True = right eye first.
</dl>
<a name="OMX_IndexParamBrcmSupportsSlices"><h2>Sliced processing support</h2></a>
<tt>OMX_IndexParamBrcmSupportsSlices</tt><br>
Used by: <a href="resize.html">resize</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_PORTBOOLEANTYPE</tt><p>
Mainly used by the MMAL framework.
Some components support an nSliceHeight value of 16, to allow images
to be passed in multiple chunks. All will support an nSliceHeight >=
nFrameHeight (with some extra constraints).
If a component supports nSliceHeight of 16, then it will respond to
OMX_GetParameter on this index with no error and bEnabled set to OMX_TRUE.<p>
<a name="OMX_IndexParamBrcmSupportsUnalignedSliceheight"><h2>Unaligned nSliceHeight support</h2></a>
<tt>OMX_IndexParamBrcmSupportsUnalignedSliceheight</tt><br>
Used by: <a href="hvs.html">hvs</a>, <a href="isp.html">isp</a>, <a href="video_render.html">video_render</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_PORTBOOLEANTYPE</tt><p>
Most components require an nSliceHeight value which is a multiple of 16, but
some components accepting any value >= nFrameHeight. Those ports/components will
respond to OMX_GetParameter on this index with no error and bEnabled set to OMX_TRUE.<p>
<a name="OMX_IndexParamBrcmThreadAffinity"><h2>Control the CPU affinity of component thread(s)</h2></a>
<tt>OMX_IndexParamBrcmThreadAffinity</tt><br>
Used by: <a href="null_sink.html">null_sink</a><p>
<pre>
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;</pre><p>
This parameter is used by clients to hint the CPU that a component thread should run on.<p>
<dl>
<dt><tt>eAffinity</tt><dd>Thread CPU affinity
</dl>
<a name="OMX_IndexParamBrcmThumbnail"><h2>Control generation of thumbnail</h2></a>
<tt>OMX_IndexParamBrcmThumbnail</tt><br>
Used by: <a href="image_encode.html">image_encode</a><p>
<pre>
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;</pre><p>
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
<tt>bEnable</tt> field.
The <tt>bUsePreview</tt> 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 <tt>nWidth</tt> and <tt>nHeight</tt> fields allow the client to
specify the dimensions of the thumbnail. If both <tt>nWidth</tt> and
<tt>nHeight</tt> are 0, we will calculate a sensible size for the
thumbnail.<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>bEnable</tt><dd>Enable generation of thumbnails during still capture
<dt><tt>bUsePreview</tt><dd>Use the preview image (as is) as thumbnail
<dt><tt>nWidth</tt><dd>Desired width of the thumbnail
<dt><tt>nHeight</tt><dd>Desired height of the thumbnail
</dl>
<a name="OMX_IndexParamBrcmTimeScale"><h2>Query / set the speed control for the input ports</h2></a>
<tt>OMX_IndexParamBrcmTimeScale</tt><br>
Used by: <a href="audio_mixer.html">audio_mixer</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This controls the dynamic resampling rate. Parameter is a 16.16 fixed point scale factor.
<p>
<a name="OMX_IndexParamBrcmTransposeBufferCount"><h2>Configure the number of pre-allocated transpose buffers</h2></a>
<tt>OMX_IndexParamBrcmTransposeBufferCount</tt><br>
Used by: <a href="video_render.html">video_render</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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).
.<p>
<a name="OMX_IndexParamBrcmVideoAVCInlineHeaderEnable"><h2>Enable SPS/PPS insertion in the encoder bitstream</h2></a>
<tt>OMX_IndexParamBrcmVideoAVCInlineHeaderEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;
</pre><p>
If this property is set then SPS/PPS will be output before each IDR frame or P=intrarefresh frame.
Whilst designated as a Param, this property can now be changed while the component
and/or port is executing. The setting will be forwarded on to the codec to take
effect after the next IDR or P=intrarefresh frame.
<p>
<a name="OMX_IndexParamBrcmVideoAVCInlineVectorsEnable"><h2>Enable insertion of vectors into the bitstream</h2></a>
<tt>OMX_IndexParamBrcmVideoAVCInlineVectorsEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;
</pre><p>
Will be added with flags so it is possible to identify the data in the stream
<p>
<a name="OMX_IndexParamBrcmVideoAVCSEIEnable"><h2>Enable/disable SEI messages</h2></a>
<tt>OMX_IndexParamBrcmVideoAVCSEIEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnable;
} OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE;
</pre><p>
Enable or disable Supplemental Enhancement Information (SEI) messages to be inserted in the H.264 bitstream.
<p>
<a name="OMX_IndexParamBrcmVideoAVCSPSTimingEnable"><h2>Enable the insertion of timing information into the SPS based on the specified output port frame rate</h2></a>
<tt>OMX_IndexParamBrcmVideoAVCSPSTimingEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;
</pre><p>
<p>
<a name="OMX_IndexParamBrcmVideoAVC_LowDelayHRDEnable"><h2>Enable/Disable setting low_delay_hrd flag in H</h2></a>
<tt>OMX_IndexParamBrcmVideoAVC_LowDelayHRDEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;
</pre><p>
264 header. "big_pictures" that violate the nominal CPB removal times due to the number of bits used by an access unit are permitted when the flag is set.
<p>
<a name="OMX_IndexParamBrcmVideoAVC_VCLHRDEnable"><h2>Enable/disable VCL HRD parameters to be inserted to the H</h2></a>
<tt>OMX_IndexParamBrcmVideoAVC_VCLHRDEnable</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;
</pre><p>
264 SPS header
<p>
<a name="OMX_IndexParamBrcmVideoDecodeConfigVD3"><h2>VDec3 configuration.</h2></a>
<tt>OMX_IndexParamBrcmVideoDecodeConfigVD3</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
<pre>
typedef struct OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE {
OMX_U32 nSize;
configuration data */
OMX_VERSIONTYPE nVersion;
OMX_U8 config[1];
} OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE;</pre><p>
Codec specific configuration block to set up internal state in a non-standard manner.<p>
<dl>
<dt><tt>nSize</tt><dd>size of the structure in bytes, including
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>config</tt><dd>Configuration data (a VD3_CONFIGURE_T)
</dl>
<a name="OMX_IndexParamBrcmVideoDecodeErrorConcealment"><h2>Control error concealment for video decode</h2></a>
<tt>OMX_IndexParamBrcmVideoDecodeErrorConcealment</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
<pre>
typedef struct OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bStartWithValidFrame;
} OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE;</pre><p>
This parameter is used by clients to control the type of error concealment
that will be done by the video decoder.<p>
<dl>
<dt><tt>bStartWithValidFrame</tt><dd>Decoder will only start emitting frames from a non-corrupted frame
</dl>
<a name="OMX_IndexParamBrcmVideoDrmProtectBuffer"><h2>DRM buffer protection</h2></a>
<tt>OMX_IndexParamBrcmVideoDrmProtectBuffer</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
<pre>
typedef struct OMX_PARAM_BRCMVIDEODRMPROTECTBUFFERTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 size_wanted;
OMX_U32 protect;
OMX_U32 mem_handle;
OMX_PTR phys_addr;
} OMX_PARAM_BRCMVIDEODRMPROTECTBUFFERTYPE;
</pre><p>
Query to request that a memory buffer be allocated for protected video decode, and the fields
in a shared memory region be filled in to request protection from the hardware. Set to indicate
that the previous protection request has been processed.
<p>
<dl>
<dt><tt>size_wanted</tt><dd>Input. Zero size means internal video decoder buffer,
<dt><tt>protect</tt><dd>Input. 1 = protect, 0 = unprotect
<dt><tt>mem_handle</tt><dd>Output. Handle for protected buffer
<dt><tt>phys_addr</tt><dd>Output. Physical memory address of protected buffer
</dl>
<a name="OMX_IndexParamBrcmVideoEGLRenderDiscardMode"><h2>Boolean parameter to enable/disable EGL discard mode</h2></a>
<tt>OMX_IndexParamBrcmVideoEGLRenderDiscardMode</tt><br>
Used by: <a href="egl_render.html">egl_render</a><p>
<pre>
typedef struct OMX_CONFIG_PORTBOOLEANTYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
} OMX_CONFIG_PORTBOOLEANTYPE;
</pre><p>
With discard mode enabled (default), EGL render will only buffer up to one image. If a new image is
received while an image is waiting to be processed, the old image will be
dropped. With discard mode disabled, 32 VC images (used in tunnelled mode) can
be buffered. Once the buffer is full, the upstream component is notified and
should attempt to send the image again later. Non-discard mode only applies to
the tunnelled case (it does not apply when called internally).
<p>
<a name="OMX_IndexParamBrcmVideoEncodeMaxQuant"><h2>Query / set the codec's maximum quantization level</h2></a>
<tt>OMX_IndexParamBrcmVideoEncodeMaxQuant</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmVideoEncodeMinQuant"><h2>Query / set the codec's minimum quantization level</h2></a>
<tt>OMX_IndexParamBrcmVideoEncodeMinQuant</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmVideoEncodeQpP"><h2>EncodeQP control</h2></a>
<tt>OMX_IndexParamBrcmVideoEncodeQpP</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Query / set the codec's P Frame QP if different from I-frames and rate control is disabled
<p>
<a name="OMX_IndexParamBrcmVideoFrameLimitBits"><h2>Query / set the codec's frame limit in bits (used in RC) </h2></a>
<tt>OMX_IndexParamBrcmVideoFrameLimitBits</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmVideoInitialQuant"><h2>Query / set the codec's initial quantization level</h2></a>
<tt>OMX_IndexParamBrcmVideoInitialQuant</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmVideoPeakRate"><h2>Query / set the codec's peak rate (used in RC)</h2></a>
<tt>OMX_IndexParamBrcmVideoPeakRate</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmVideoPrecodeForQP"><h2>Pre-code 1st frame for QP.</h2></a>
<tt>OMX_IndexParamBrcmVideoPrecodeForQP</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This control selects a pre-encode of the first frame to set up a better initial QP value.<p>
<a name="OMX_IndexParamBrcmVideoRCSliceDQuant"><h2>Query / set the codec's Slice DQuant level</h2></a>
<tt>OMX_IndexParamBrcmVideoRCSliceDQuant</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
<p>
<a name="OMX_IndexParamBrcmVideoTimestampFifo"><h2>Video timestamp FIFO mode.</h2></a>
<tt>OMX_IndexParamBrcmVideoTimestampFifo</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
When enabled, the timestamp fifo mode will change the way
incoming timestamps are associated with output images so the incoming timestamps
get used without re-ordering on output images.<p>
<a name="OMX_IndexParamCameraCamplusId"><h2>Camera Subsystem Identification</h2></a>
<tt>OMX_IndexParamCameraCamplusId</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
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 <tt>OMX_Set upCamPools</tt>.<p>
<a name="OMX_IndexParamCameraCaptureEventFunction"><h2>Capture start event callback</h2></a>
<tt>OMX_IndexParamCameraCaptureEventFunction</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_CAMERACAPTUREEVENTFUNCTIONTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_PTR pPrivate;
RIL_CAMERA_CAPTURE_EVENT_FUNC_T pCaptureFunc;
} OMX_PARAM_CAMERACAPTUREEVENTFUNCTIONTYPE;</pre><p>
This parameter is used to pass a callback to the camera component
which is called when a capture is started.<p>
<a name="OMX_IndexParamCameraCaptureMode"><h2>Camera Capture Mode</h2></a>
<tt>OMX_IndexParamCameraCaptureMode</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_CAMERACAPTUREMODETYPE{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_CAMERACAPTUREMODETYPE eMode;
} OMX_PARAM_CAMERACAPTUREMODETYPE;
</pre><p>
Allows the client to specify the behaviour desired for stills captures.
Options are:
<tt>OMX_CameraCaptureModeWaitForCaptureEnd</tt>:
Wait for capture to complete before resuming viewfinder.
<tt>OMX_CameraCaptureModeWaitForCaptureEndAndUsePreviousInputImage</tt>:
Reprocess the same input frame multiple times with different settings.
Currently not implemented in the Camplus levels.
<tt>OMX_CameraCaptureModeResumeViewfinderImmediately</tt>:
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 <tt>image_pool_params.eInputPoolMode</tt> to be set to
<tt>OMX_CAMERAIMAGEPOOLINPUTMODE_TWOPOOLS</tt>, and
<tt>image_pool_params.nNumHiResStillsFrames</tt>
to be non-zero, otherwise the image pools won't split in a manner that
allows viewfinder to be resumed.
<p>
<a name="OMX_IndexParamCameraClockingMode"><h2>Camera peripheral clocking mode</h2></a>
<tt>OMX_IndexParamCameraClockingMode</tt><br>
Used by: <a href="rawcam.html">rawcam</a><p>
<pre>
typedef struct OMX_PARAM_CAMERACLOCKINGMODETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_CAMERACLOCKINGMODETYPE eMode;
} OMX_PARAM_CAMERACLOCKINGMODETYPE;
</pre><p>
Set / query the clocking mode for the peripheral.
<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>eMode</tt><dd>Clocking mode
</dl>
<a name="OMX_IndexParamCameraCustomSensorConfig"><h2>Custom camera sensor configuration.</h2></a>
<tt>OMX_IndexParamCameraCustomSensorConfig</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This parameter is passed down to the camera sensor driver to be interpreted as a
request for a different configuration to normal. How the configuration varies is
sensor specific.<p>
<a name="OMX_IndexParamCameraDeviceNumber"><h2>Camera device selection .</h2></a>
<tt>OMX_IndexParamCameraDeviceNumber</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="rawcam.html">rawcam</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Controls which camera driver, or camera peripheral, to use.<p>
<a name="OMX_IndexParamCameraDevicesPresent"><h2>Query the camera devices defined for this platform</h2></a>
<tt>OMX_IndexParamCameraDevicesPresent</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
The result is a bitmask indicating which cameras have been detected.
<p>
<a name="OMX_IndexParamCameraDisableAlgorithm"><h2>Disabling camera processing stages.</h2></a>
<tt>OMX_IndexParamCameraDisableAlgorithm</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
Allows plugin algorithms to be disabled to save memory
within the camera component<p>
<a name="OMX_IndexParamCameraFlashType"><h2>Select flash type</h2></a>
<tt>OMX_IndexParamCameraFlashType</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
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.
<tt>bRedEyeUsesTorchMode</tt> allows the blinking for red eye reduction to
be switched between using the indicator mode, and the torch mode for the
flash driver.<p>
<a name="OMX_IndexParamCameraImagePool"><h2>Camera Image Pools</h2></a>
<tt>OMX_IndexParamCameraImagePool</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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 separate 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_U32 nNumSnapshotFrames;
OMX_COLOR_FORMATTYPE eSnapshotType;
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;</pre><p>
\sloppy This parameter specifies the size, type, and number, of images to
allow in the images pools required by Camplus. Supported types are
<tt>OMX_COLOR_FormatYUV420PackedPlanar</tt>,
<tt>OMX_COLOR_FormatYUV422PackedPlanar</tt>,
<tt>OMX_COLOR_FormatRawBayer8bit</tt>,
<tt>OMX_COLOR_FormatRawBayer10bit</tt>,
<tt>OMX_COLOR_FormatRawBayer8bitcompressed</tt>, 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.<p>
<a name="OMX_IndexParamCameraInterface"><h2>Camera interface type.</h2></a>
<tt>OMX_IndexParamCameraInterface</tt><br>
Used by: <a href="rawcam.html">rawcam</a><p>
<pre>
typedef enum OMX_CAMERAINTERFACETYPE {
OMX_CAMERAINTERFACE_CSI = 0,
OMX_CAMERAINTERFACE_CCP2 = 1,
OMX_CAMERAINTERFACE_CPI = 2,
OMX_CAMERAINTERFACE_MAX = 0x7FFFFFFF,
} OMX_CAMERAINTERFACETYPE;
typedef struct OMX_PARAM_CAMERAINTERFACETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_CAMERAINTERFACETYPE eMode;
} OMX_PARAM_CAMERAINTERFACETYPE;</pre><p>
This configures the physical camera interface type.<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>eMode</tt><dd>Interface mode
</dl>
<a name="OMX_IndexParamCameraPoolToEncoderFunction"><h2>Camera and Video Encoder communication</h2></a>
<tt>OMX_IndexParamCameraPoolToEncoderFunction</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="resize.html">resize</a>, <a href="null_sink.html">null_sink</a>, <a href="camera.html">camera</a>, <a href="hvs.html">hvs</a>, <a href="isp.html">isp</a>, <a href="video_encode.html">video_encode</a>, <a href="video_render.html">video_render</a>, <a href="video_splitter.html">video_splitter</a><p>
<pre>
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;</pre><p>
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.<p>
<a name="OMX_IndexParamCameraRxConfig"><h2>Camera receiver configuration</h2></a>
<tt>OMX_IndexParamCameraRxConfig</tt><br>
Used by: <a href="rawcam.html">rawcam</a><p>
<pre>
typedef enum OMX_CAMERARXDECODETYPE {
OMX_CAMERARXDECODE_NONE = 0,
OMX_CAMERARXDECODE_DPCM8TO10 = 1,
OMX_CAMERARXDECODE_DPCM7TO10 = 2,
OMX_CAMERARXDECODE_DPCM6TO10 = 3,
OMX_CAMERARXDECODE_DPCM8TO12 = 4,
OMX_CAMERARXDECODE_DPCM7TO12 = 5,
OMX_CAMERARXDECODE_DPCM6TO12 = 6,
OMX_CAMERARXDECODE_DPCM10TO14 = 7,
OMX_CAMERARXDECODE_DPCM8TO14 = 8,
OMX_CAMERARXDECODE_DPCM12TO16 = 9,
OMX_CAMERARXDECODE_DPCM10TO16 = 10,
OMX_CAMERARXDECODE_DPCM8TO16 = 11,
OMX_CAMERARXDECODE_MAX = 0x7FFFFFFF
} OMX_CAMERARXDECODETYPE;
typedef enum OMX_CAMERARXENCODETYPE {
OMX_CAMERARXENCODE_NONE = 0,
OMX_CAMERARXENCODE_DPCM10TO8 = 1,
OMX_CAMERARXENCODE_DPCM12TO8 = 2,
OMX_CAMERARXENCODE_DPCM14TO8 = 3,
OMX_CAMERARXENCODE_MAX = 0x7FFFFFFF
} OMX_CAMERARXENCODETYPE;
typedef enum OMX_CAMERARXUNPACKTYPE {
OMX_CAMERARXUNPACK_NONE = 0,
OMX_CAMERARXUNPACK_6 = 1,
OMX_CAMERARXUNPACK_7 = 2,
OMX_CAMERARXUNPACK_8 = 3,
OMX_CAMERARXUNPACK_10 = 4,
OMX_CAMERARXUNPACK_12 = 5,
OMX_CAMERARXUNPACK_14 = 6,
OMX_CAMERARXUNPACK_16 = 7,
OMX_CAMERARXUNPACK_MAX = 0x7FFFFFFF
} OMX_CAMERARXUNPACKYPE;
typedef enum OMX_CAMERARXPACKTYPE {
OMX_CAMERARXPACK_NONE = 0,
OMX_CAMERARXPACK_8 = 1,
OMX_CAMERARXPACK_10 = 2,
OMX_CAMERARXPACK_12 = 3,
OMX_CAMERARXPACK_14 = 4,
OMX_CAMERARXPACK_16 = 5,
OMX_CAMERARXPACK_RAW10 = 6,
OMX_CAMERARXPACK_RAW12 = 7,
OMX_CAMERARXPACK_MAX = 0x7FFFFFFF
} OMX_CAMERARXPACKTYPE;
typedef struct OMX_PARAM_CAMERARXCONFIG_TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_CAMERARXDECODETYPE eDecode;
OMX_CAMERARXENCODETYPE eEncode;
OMX_CAMERARXUNPACKYPE eUnpack;
OMX_CAMERARXPACKTYPE ePack;
OMX_U32 nDataLanes;
OMX_U32 nEncodeBlockLength;
OMX_U32 nEmbeddedDataLines;
OMX_U32 nImageId;
} OMX_PARAM_CAMERARXCONFIG_TYPE;</pre><p>
Configures the setup and processing options of the camera receiver peripheral.<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
</dl>
<a name="OMX_IndexParamCameraRxTiming"><h2>Camera peripheral timing registers</h2></a>
<tt>OMX_IndexParamCameraRxTiming</tt><br>
Used by: <a href="rawcam.html">rawcam</a><p>
<pre>
typedef struct OMX_PARAM_CAMERARXTIMING_TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nTiming1;
OMX_U32 nTiming2;
OMX_U32 nTiming3;
OMX_U32 nTiming4;
OMX_U32 nTiming5;
OMX_U32 nTerm1;
OMX_U32 nTerm2;
OMX_U32 nCpiTiming1;
OMX_U32 nCpiTiming2;
} OMX_PARAM_CAMERARXTIMING_TYPE;
</pre><p>
Set /query the receiver timing setup. These parameters can normally
be left on the default values for the majority of sensors.
<p>
<dl>
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
</dl>
<a name="OMX_IndexParamCameraSingleBufferCaptureInput"><h2>Save memory by using a single input buffer</h2></a>
<tt>OMX_IndexParamCameraSingleBufferCaptureInput</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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.
<p>
<a name="OMX_IndexParamCameraStripeFunction"><h2>Camera proprietary stripe passing</h2></a>
<tt>OMX_IndexParamCameraStripeFunction</tt><br>
Used by: <a href="image_encode.html">image_encode</a>, <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
This parameter is used by the camera when setting up proprietary
communication, and passes several function pointers used for passing
and flushing stripes.<p>
<a name="OMX_IndexParamCameraSwapImagePools"><h2>Swap over image pools</h2></a>
<tt>OMX_IndexParamCameraSwapImagePools</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
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
<p>
<a name="OMX_IndexParamCameraZeroShutterLag"><h2>Zero shutter lag behaviour</h2></a>
<tt>OMX_IndexParamCameraZeroShutterLag</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_CONFIG_ZEROSHUTTERLAGTYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 bZeroShutterMode;
OMX_U32 bConcurrentCapture;
} OMX_CONFIG_ZEROSHUTTERLAGTYPE;
</pre><p>
This takes two parameters. The first requests that the camera should run
preview using the full resolution sensor mode. The second controls whether
captures should then grab the last raw preview image and generate the capture
based on that.
<p>
<dl>
<dt><tt>bZeroShutterMode</tt><dd>Select ZSL mode from the camera.
<dt><tt>bConcurrentCapture</tt><dd>Perform concurrent captures for full ZSL.
</dl>
<a name="OMX_IndexParamCaptureExposureCompensation"><h2>Capture Exposure Compensation</h2></a>
<tt>OMX_IndexParamCaptureExposureCompensation</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_S32TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_S32 nS32;
} OMX_PARAM_S32TYPE;
</pre><p>
Sets the exposure compensation that should be applied to a stills capture
compared to the previous preview frames.
<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>nS32</tt><dd>S32 value
</dl>
<a name="OMX_IndexParamCaptureStatus"><h2>Stills capture status</h2></a>
<tt>OMX_IndexParamCaptureStatus</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_CAPTURESTATETYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_CAPTURESTATETYPE eCaptureState;
} OMX_PARAM_CAPTURESTATETYPE;
</pre><p>
Returns the actual capture status of the camera component. 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 <tt>OMX_IndexConfigRequestCallback</tt>
to allow a client to do stuff on image capture (eg play a shutter sound).
<p>
<a name="OMX_IndexParamCcmShift"><h2>Set/retrieve a shift value to be applied to the input colour correction matrix</h2></a>
<tt>OMX_IndexParamCcmShift</tt><br>
Used by: <a href="isp.html">isp</a><p>
<pre>
typedef struct OMX_PARAM_S32TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_S32 nS32;
} OMX_PARAM_S32TYPE;
</pre><p>
This allows the use of data packed into the least significant bits of
a 16 bit word. Value is the number of positions to shift left. Max shift of 5.
<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>nS32</tt><dd>S32 value
</dl>
<a name="OMX_IndexParamCodecConfig"><h2>Codec Configuration</h2></a>
<tt>OMX_IndexParamCodecConfig</tt><br>
Used by: <a href="audio_decode.html">audio_decode</a>, <a href="audio_encode.html">audio_encode</a>, <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_PARAM_CODECCONFIGTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 bCodecConfigIsComplete;
OMX_U8 nData[1];
} OMX_PARAM_CODECCONFIGTYPE;</pre><p>
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.
<tt>bCodecConfigIsCompete</tt> specifies if the codec config is fully
contained in here and there is no need to wait for OMX_BUFFERFLAG_CODECCONFIG
buffers<p>
<a name="OMX_IndexParamColorSpace"><h2>Colour space information</h2></a>
<tt>OMX_IndexParamColorSpace</tt><br>
Used by: <a href="image_decode.html">image_decode</a>, <a href="camera.html">camera</a>, <a href="hvs.html">hvs</a>, <a href="isp.html">isp</a>, <a href="video_decode.html">video_decode</a>, <a href="video_render.html">video_render</a><p>
<pre>
typedef enum OMX_COLORSPACETYPE
{
OMX_COLORSPACE_UNKNOWN,
OMX_COLORSPACE_JPEG_JFIF,
OMX_COLORSPACE_ITU_R_BT601,
OMX_COLORSPACE_ITU_R_BT709,
OMX_COLORSPACE_FCC,
OMX_COLORSPACE_SMPTE240M,
OMX_COLORSPACE_BT470_2_M,
OMX_COLORSPACE_BT470_2_BG,
OMX_COLORSPACE_JFIF_Y16_255,
OMX_COLORSPACE_REC_2020,
OMX_COLORSPACE_MAX = 0x7FFFFFFF
} OMX_COLORSPACETYPE;
typedef struct OMX_PARAM_COLORSPACETYPE
{
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_COLORSPACETYPE eColorSpace;
} OMX_PARAM_COLORSPACETYPE;</pre><p>
Sets the colourspace with which pixel buffers should be generated / interpreted.<p>
<a name="OMX_IndexParamCommonUseStcTimestamps"><h2>Select timestamp mode</h2></a>
<tt>OMX_IndexParamCommonUseStcTimestamps</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
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;</pre><p>
Specifies what to use as timestamps in the absence of a clock component.<p>
<a name="OMX_IndexParamComponentName"><h2>Sets the component name to be used in internal logging messages</h2></a>
<tt>OMX_IndexParamComponentName</tt><br>
Used by: <a href="video_decode.html">video_decode</a>, <a href="video_encode.html">video_encode</a>, <a href="video_render.html">video_render</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_COMPONENTROLETYPE</tt><p>
<p>
<a name="OMX_IndexParamCustomCcm"><h2>Set/retrieve a custom colour conversion matrix for the input data</h2></a>
<tt>OMX_IndexParamCustomCcm</tt><br>
Used by: <a href="isp.html">isp</a><p>
<pre>
typedef struct OMX_PARAM_CUSTOMCCMTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_BOOL bEnabled;
OMX_S32 xColorMatrix[3][3];
OMX_S32 nColorOffset[3];
} OMX_PARAM_CUSTOMCCMTYPE;
</pre><p>
<p>
<dl>
<dt><tt>bEnabled</tt><dd>Enable the custom CCM.
<dt><tt>xColorMatrix</tt><dd>Stored in signed Q16 format
<dt><tt>nColorOffset</tt><dd>CCM offsets
</dl>
<a name="OMX_IndexParamDisableVllPool"><h2>Controlling use of memory for loadable modules</h2></a>
<tt>OMX_IndexParamDisableVllPool</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
This control can be used to control whether loadable modules used a dedicated memory
pool or use heap allocated memory.<p>
<a name="OMX_IndexParamDynamicParameterConfig"><h2>DPF: config in a MEM_HANDLE</h2></a>
<tt>OMX_IndexParamDynamicParameterConfig</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
Specify dynamic parameter configuration via a mem handle. If the handle is
MEM_HANDLE_INVALID, then this mechanism is not active.
<p>
<a name="OMX_IndexParamDynamicParameterFile"><h2>DPF: file to be loaded</h2></a>
<tt>OMX_IndexParamDynamicParameterFile</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_CONTENTURITYPE</tt><p>
Specify a dynamic parameter file to use or not. If a file is to be used,
<tt>OMX_IndexParamUseDynamicParameterFile</tt> must be set.
DEPRECATED: Use OMX_IndexParamDynamicParameterConfig in preference
as file access is not always available on VideoCore.
<p>
<a name="OMX_IndexParamDynamicParameterFileFailFatal"><h2>DPF: failure behaviour</h2></a>
<tt>OMX_IndexParamDynamicParameterFileFailFatal</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Classify error condition when DFP fails to load. This specifies whether the
failure to load the DPF file should be treated as a fatal error.
<p>
<a name="OMX_IndexParamILFifoConfig"><h2>Allows configuration of the FIFO settings.</h2></a>
<tt>OMX_IndexParamILFifoConfig</tt><br>
Used by: <a href="audio_encode.html">audio_encode</a>, <a href="video_encode.html">video_encode</a><p>
<pre>
typedef struct OMX_PARAM_ILFIFOCONFIG {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U32 nDataSize;
OMX_U32 nHeaderCount;
} OMX_PARAM_ILFIFOCONFIG;</pre><p>
Allows configuring the size of the ILFIFO used in a component.<p>
<dl>
<dt><tt>nDataSize</tt><dd>The size of the FIFO's data area
<dt><tt>nHeaderCount</tt><dd>The number of headers allocated
</dl>
<a name="OMX_IndexParamISPTunerName"><h2>ISP tuner name</h2></a>
<tt>OMX_IndexParamISPTunerName</tt><br>
Used by: <a href="camera.html">camera</a><p>
<pre>
typedef struct OMX_PARAM_CAMERAISPTUNERTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U8 tuner_name[64];
} OMX_PARAM_CAMERAISPTUNERTYPE;
</pre><p>
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 <tt>OMX_IndexParamCameraDeviceNumber</tt>
to avoid reloading the CDI and default tuner.
<p>
<a name="OMX_IndexParamImagePoolDisplayFunction"><h2>Proprietary Image Passing</h2></a>
<tt>OMX_IndexParamImagePoolDisplayFunction</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="transition.html">transition</a>, <a href="visualisation.html">visualisation</a>, <a href="camera.html">camera</a>, <a href="camera.html">camera</a>, <a href="video_decode.html">video_decode</a>, <a href="video_scheduler.html">video_scheduler</a>, <a href="video_splitter.html">video_splitter</a><p>
<pre>
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;
RIL_IMAGE_DRAIN_FUNC_T pDrainFunc;
} OMX_PARAM_IMAGEDISPLAYFUNCTIONTYPE;</pre><p>
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.<p>
<a name="OMX_IndexParamImagePoolExternal"><h2>Client Allocated Image Pools</h2></a>
<tt>OMX_IndexParamImagePoolExternal</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="visualisation.html">visualisation</a>, <a href="camera.html">camera</a>, <a href="video_decode.html">video_decode</a><p>
<pre>
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;</pre><p>
This config allows the client to pass in handles to pre-allocated
image pools for use within the component.<p>
<a name="OMX_IndexParamImagePoolSize"><h2>Specifying Image Pool Properties</h2></a>
<tt>OMX_IndexParamImagePoolSize</tt><br>
Used by: <a href="image_fx.html">image_fx</a>, <a href="transition.html">transition</a>, <a href="visualisation.html">visualisation</a>, <a href="video_decode.html">video_decode</a>, <a href="video_splitter.html">video_splitter</a><p>
<pre>
typedef struct OMX_PARAM_IMAGEPOOLSIZETYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 width;
OMX_U32 height;
OMX_U32 num_pages;
} OMX_PARAM_IMAGEPOOLSIZETYPE;</pre><p>
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.<p>
<a name="OMX_IndexParamMinimumAlignment"><h2>Query component alignment requirements.</h2></a>
<tt>OMX_IndexParamMinimumAlignment</tt><br>
Used by: <a href="image_encode.html">image_encode</a>, <a href="hvs.html">hvs</a>, <a href="isp.html">isp</a>, <a href="video_encode.html">video_encode</a>, <a href="video_render.html">video_render</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_MINALIGNTYPE</tt><p>
Allows the component to be queried for the minimum alignment (in bytes) required
on a port for a given color format.
Used by the MMAL framework to allow a reduction in the padding.<p>
<dl>
<dt><tt>eColorFormat</tt><dd>Format being queried
<dt><tt>nMinHorizontalAlign</tt><dd>Minimum horizontal alignment required in bytes
<dt><tt>nMinVerticalAlign</tt><dd>Minimum vertical alignment required in bytes
</dl>
<a name="OMX_IndexParamNumOutputChannels"><h2>Query for the number of output channels in the decoded stream</h2></a>
<tt>OMX_IndexParamNumOutputChannels</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This indicates whether the stream is 2d (1 channel) or stereoscopic (2 channels).
<p>
<a name="OMX_IndexParamOutputShift"><h2>Set/retrieve an additional shift parameter applied at the output of the ISP</h2></a>
<tt>OMX_IndexParamOutputShift</tt><br>
Used by: <a href="isp.html">isp</a><p>
<pre>
typedef struct OMX_PARAM_S32TYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_S32 nS32;
} OMX_PARAM_S32TYPE;
</pre><p>
This is to allow packing of values into fewer bits (eg 10 bit packed in
the LSBs of a 16 bit word). Value is the number of bits to shift left.
The range will vary based on output format.
<p>
<dl>
<dt><tt>nSize</tt><dd>Size of this structure, in Bytes
<dt><tt>nVersion</tt><dd>OMX specification version information
<dt><tt>nPortIndex</tt><dd>port that this structure applies to
<dt><tt>nS32</tt><dd>S32 value
</dl>
<a name="OMX_IndexParamPortMaxFrameSize"><h2>Specifying maximum frame size</h2></a>
<tt>OMX_IndexParamPortMaxFrameSize</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_FRAMESIZETYPE</tt><p>
This control can be used to control the maximum frame size allowed on an output port.<p>
<a name="OMX_IndexParamRateControlModel"><h2>Query / set the rate control method to be used</h2></a>
<tt>OMX_IndexParamRateControlModel</tt><br>
Used by: <a href="video_encode.html">video_encode</a><p>
This index uses the standard IL structure <tt>OMX_PARAM_U32TYPE</tt><p>
This parameter uses internal configuration to determine used, so should not be changed without explicit internal knowledge.
<p>
<a name="OMX_IndexParamRemoveImagePadding"><h2>Query component padding requirements</h2></a>
<tt>OMX_IndexParamRemoveImagePadding</tt><br>
Used by: <a href="camera.html">camera</a>, <a href="video_render.html">video_render</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_PORTBOOLEANTYPE</tt><p>
Queries whether the component can remove all padding from images, or can
accept images with no padding.
Used by the MMAL framework predominantly.
Superceded by OMX_IndexParamMinimumAlignment.<p>
<a name="OMX_IndexParamResize"><h2>Resize Control</h2></a>
<tt>OMX_IndexParamResize</tt><br>
Used by: <a href="resize.html">resize</a><p>
<pre>
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;</pre><p>
The mode determines the kind of resize. <tt>OMX_RESIZE_BOX</tt> allow
the <tt>nMaxWidth</tt> and <tt>nMaxHeight</tt> to set a bounding box into
which the output must fit. <tt>OMX_RESIZE_BYTES</tt> allows
<tt>nMaxBytes</tt> to set the maximum number of bytes into which the
full output frame must fit. Two flags aid the setting of the output
size. <tt>bPreseveAspectRatio</tt> sets whether the resize should
preserve the aspect ratio of the incoming
image. <tt>bAllowUpscaling</tt> sets whether the resize is allowed to
increase the size of the output image compared to the size of the
input image.<p>
<a name="OMX_IndexParamSWSaturationDisable"><h2>Software Saturation Control</h2></a>
<tt>OMX_IndexParamSWSaturationDisable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Requests the tuner to disable the software saturation stage for improved
capture performance.
<p>
<a name="OMX_IndexParamSWSharpenDisable"><h2>Software Sharpening Control</h2></a>
<tt>OMX_IndexParamSWSharpenDisable</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Requests the tuner to disable the software sharpen stage for improved
capture performance.
<p>
<a name="OMX_IndexParamSource"><h2>Source Image Configuration</h2></a>
<tt>OMX_IndexParamSource</tt><br>
Used by: <a href="source.html">source</a><p>
<pre>
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;</pre><p>
The source type determines the kind of image that is produced. Not all
combinations of source type and image type are supported. The
<tt>OMX_SOURCE_SWIRLY</tt> setting can only be used with YUV420 packed
planar image formats. When producing RGB565 image format, the
<tt>OMX_SOURCE_DIAGONAL</tt> and <tt>OMX_SOURCE_RANDOM</tt> modes are
treated as <tt>OMX_SOURCE_NOISE</tt>.
The <tt>nParam</tt> 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, <tt>nParam</tt> is used as the seed for the random
colour generator.
The <tt>nFrameCount</tt> 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 <tt>xFrameRate</tt> setting is used to determine
the timestamp for each frame produced, or can be set to zero if
timestamps should all remain at zero.<p>
<a name="OMX_IndexParamSourceSeed"><h2>Source Random Seed</h2></a>
<tt>OMX_IndexParamSourceSeed</tt><br>
Used by: <a href="source.html">source</a><p>
<pre>
typedef struct OMX_PARAM_SOURCESEEDTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;
OMX_U16 nData[16];
} OMX_PARAM_SOURCESEEDTYPE;</pre><p>
This structure sets the current state of the random number generator
used for <tt>OMX_SOURCE_RANDOM</tt> source type, allowing repeatable
random image creation.<p>
<a name="OMX_IndexParamUseDynamicParameterFile"><h2>DPF: enable loading</h2></a>
<tt>OMX_IndexParamUseDynamicParameterFile</tt><br>
Used by: <a href="camera.html">camera</a><p>
This index uses the standard IL structure <tt>OMX_CONFIG_BOOLEANTYPE</tt><p>
Specify whether we wish to load the DPF file.
The filename is set with <tt>OMX_IndexParamDynamicParameterFile</tt>.
DEPRECATED: Use OMX_IndexParamDynamicParameterConfig in preference
as file access is not always available on VideoCore.
<p>
<a name="OMX_IndexParamVideoMvc"><h2>MVC codec parameters</h2></a>
<tt>OMX_IndexParamVideoMvc</tt><br>
Used by: <a href="video_decode.html">video_decode</a><p>
This index uses the standard IL structure <tt>OMX_VIDEO_PARAM_MVCTYPE</tt><p>
This parameter is currently identical to the AVC parameter type.<p>
</table>
</body>
</html>