Top
audio_capture audio_decode audio_encode audio_lowpower audio_mixer audio_processor audio_render audio_splitter
image_decode image_encode image_fx image_read image_write resize source transition write_still
clock null_sink text_scheduler visualisation
read_media write_media
camera egl_render video_decode video_encode video_render video_scheduler video_splitter
Custom Index Metadata
| # OMX.broadcom.video_decode
130
| video_decode |
131
This conformant component accepts encoded video in a number of different formats, and decodes it to raw YUV frames. Incoming frames will be buffered to protect against file system read latency when playing back, and protect against the media stream interleaving in the file format. Typically multiple input frames have to be provided before any output frames are produced. The output format may be set to RGB565 using `OMX_IndexParamPortDefinition`; in this case proprietary communication will not be used, and the image data will be converted on the fly.
Port | Index | Notes
130 | `OMX_IndexParamPortDefinition` | Query / set the port parameters for the encoded video stream.
`OMX_IndexParamBrcmDataUnit` | Sets the type of data delivery for the encoded data (`OMX_DataUnitCodedPicture` or `OMX_DataUnitArbitraryStreamSection`). By default the component assumes `OMX DataUnitArbitraryStreamSection`, but will also issue a `OMX_IndexParamBrcmDataUnit` request when tunnelling the input port to find out the value it should use.
`OMX_IndexParamNalStreamFormatSupported` | Query the format of NAL units that are supported by the decoder (`OMX_NaluFormatStartCodes` or `OMX_NaluFormatOneNaluPerBuffer`). This is parameter is currently only relevant for AVC streams.
`OMX_IndexParamNalStreamFormatSelect` | Sets the format of NAL units that will be presented to the decoder (`OMX_NaluFormatStartCodes` or `OMX_NaluFormatOneNaluPerBuffer`). By default the decoder will try to guess the type based on the codec configuration data it has been given. This is parameter is currently only relevant for AVC streams.
`OMX_IndexParamBrcmVideoDecodeErrorConcealment` | Configures how the codec behaves in case of corrupted frames. (`bStartWithValidFrame` will instruct the codec not to start emitting frames until it has a first non-corrupted frame. This applies both when starting decoding a stream and after a flush.
`OMX_IndexParamCodecConfig` | Sets codec configuration data to be used. These bytes may also be supplied in a correctly flagged buffer.
`OMX_IndexParamVideoMpeg4` | Query / set the Mpeg4 parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoAvc` | Query / set the AVC parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoWmv` | Query / set the WMV parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoH263` | Query / set the H263 parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoMpeg2` | Query / set the Mpeg2 parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoRv` | Query / set the Rv parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoMvc` | Query / set the Mvc parameters. This component does not yet support populating this structure with details of the stream being decoded.
`OMX_IndexParamVideoProfileLevelQuerySupported` | Allows to client to enumerate the various profile and level supported by the port. Only the highest level is reported for each supported profile.
`OMX_IndexParamBrcmPixelAspectRatio` | Query / set the pixel aspect ratio of the source content.
131 | `OMX_IndexParamPortDefinition` | Once we have the details of the output format, this will be populated. Details are acquired via codec-specific headers, which are either exchanged using the `OMX_IndexParamCodecConfig` when tunnelling the input port, or after the first frame has been decoded.
`OMX_IndexParamImagePoolDisplayFunction` | Used to set up proprietary communication with the next component.
`OMX_IndexConfigSingleStep` | If `nU32` is non-zero, only forward the next `nU32` frames. If `nU32` is zero then cancel any previous single stepping requests and resume the default behaviour. This is typically used to capture a single frame from a video stream to encode as a still image.
`OMX_IndexParamBrcmDisableProprietaryTunnels` | Tells the component not to use proprietary communication for its output port.
`OMX_IndexParamBrcmPixelAspectRatio` | Query the pixel aspect ratio of the decoded video.
`OMX_IndexConfigCommonInterlace` | Query the type of interlacing in use in the decoded video.
`OMX_IndexParamBrcmInterpolateMissingTimestamps` | Configures the codec so that it never outputs a frame without a timestamp but instead tries to interpolate the value of missing timestamps. This feature is enabled by default. Disabling this feature means that the codec will only output frames with timestamps if the corresponding input buffer also had a timestamp.
`OMX_IndexParamBrcmSetCodecPerformanceMonitoring` | Configures a codec 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.
`OMX_IndexConfigBufferStall` | Set the stall threshold, or query the delay between the last decoded output frame and the current time.
`OMX_IndexConfigRequestCallback` | The client can request notification for `OMX_IndexConfigBufferStall`. Notification is given when the boolean `bStalled` changes value.
`OMX_IndexParamNumOutputChannels` | Query for the number of output channels in the decoded stream. This indicates whether the stream is 2d (1 channel) or stereoscopic (2 channels).
130 131 | `OMX_IndexParamVideoPortFormat` | Query / set the port format. The input port supports a wide range of compressed video format, the output port supports only raw non-encoded video.
| `OMX_IndexParamImagePoolExternal` | Query / set the location of an externally allocated image pool to use for output frames. Defaults to NULL, causing the component to allocate a pool when active.
`OMX_IndexParamImagePoolSize` | Sets the size of the image pool to be allocated by the component. Defaults to 1080p.
`OMX_IndexParamBrcmFlushCallbackId` | Specifies a user callback for flush notification. This parameter allows internal users of RIL components to request a callback when a flush has completed on the output port. This is useful in proprietary tunnelling mode where there is no other way for the user to know when the output port has been flushed. The component will perform a callback with the given `nU32` as the callback id.
`OMX_IndexConfigRefreshCodec` | Triggers closing and reopening the codec. This will only happen if the codec is currently loaded. To perform this operation, the `bEnabled` value should be set to `OMX_TRUE`.
`OMX_IndexParamComponentName` | Sets the component name to be used in internal logging messages.
`OMX_IndexParamBrcmLazyImagePoolDestroy` | The image pool will be deleted lazily, i.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.
`OMX_IndexParamBrcmExtraBuffers` | Sets the number of buffers to allocate beyond the number determined by the codec. This defaults to 2 (one on the display, one in the video scheduler) but it may sometimes be necessary to increase this.
`OMX_IndexConfigBrcmPoolMemAllocSize` | Query for the size of the allocated image pool.
`OMX_IndexParamBrcmAlignHoriz` | Query / set the horizonal alignment of the output buffer to be a given multiple of bytes in width. 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).
`OMX_IndexParamBrcmAlignVert` | Query / set the vertical alignment of the output buffer to be a given multiple of rows in height. 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).
`OMX_IndexParamBrcmVideoTimestampFifo` | Query / set the timestamp fifo mode. When enabled, the timestamp fifo mode will change the way incoming timestamps are associated with output images. In this mode the incoming timestamps get used without re-ordering on output images.
`OMX_IndexParamBrcmVideoDrmProtectBuffer` | 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.