isp

Top
audio_capture audio_decode audio_encode audio_lowpower audio_mixer audio_processor audio_render audio_splitter
image_decode image_encode image_fx resize source transition
clock null_sink text_scheduler visualisation
camera egl_render hvs isp rawcam video_decode video_encode video_render video_scheduler video_splitter
Custom Index Metadata
| # OMX.broadcom.isp This component wraps the ISP (Image Sensor Processor) hardware block to offer hardware accelerated format conversion and resizing. It has one input port taking Bayer, YUV or RGB images in numerous different formats. It has two output ports: Port 361 supports various RGB and YUV formats. Port 362 is off the low res resizer which can only downscale. Due to this port 362 must be at a lower resolution to port 361. If set to a higher resolution then the port will effectively be disabled and no ouput produced. It also doesn't have the colour conversion block, and so only supports YUV formats. Port 361 is treated as the main output - the pipeline will stall until an output buffer is available on that port. That includes if port 361 is disabled then no processing will occur. If no output buffer is available on port 362 when both an input buffer and port 361 output buffer are available, the frame will be processed with the low resolution output disabled. Please note that this component has been developed for use under MMAL. It has not been tested at all under IL, so there may be unexpected behaviour under IL. It is also not considered to be production quality code yet - please use with caution.
Port | Index | Notes
360 | `OMX_IndexParamPortDefinition` | Set this to control the input size of the image. Typically this is called by the component itself when this port is tunnelled with an appropriate output port. The stripe height a multiple of 16, and >= `nFrameHeight`.
`OMX_IndexConfigCommonInputCrop` | Allows cropping at the input. Cropping can be changed at any time. Cropping dimensions can not exceed the image size set via the image will result in the crop width/height being initially clipped, but if the clipped width/height is <= 0, then the whole crop region will be ignored. A region with x, y, width, and height all of 0 is interpreted as no cropping (ie width and height set to image width/height). Please note that this is applied BEFORE any mirror operations have been performed via OMX_IndexConfigCommonMirror.
`OMX_IndexConfigCommonMirror` | Query / set the mirroring requirements for images. Please note that this is currently restricted to being set before both input and high res ports are active. Also note that this is applied AFTER any cropping has been performed via OMX_IndexConfigCommonInputCrop.
`OMX_IndexParamBrcmBayerOrder` | Set / query the Bayer order for the incoming data.
`OMX_IndexParamCameraPoolToEncoderFunction` | Used to set up proprietary communication with the previous component.
`OMX_IndexConfigBrcmUseProprietaryCallback` | Forces use of proprietary tunnelling between ports.
`OMX_IndexParamBrcmSupportsUnalignedSliceheight` | Retrieves the capabilites of this component to allow any nSliceHeight value >= nHeight.
`OMX_IndexParamCcmShift` | Set/retrieve a shift value to be applied to the input colour correction matrix. 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.
`OMX_IndexParamCustomCcm` | Set/retrieve a custom colour conversion matrix for the input data.
`OMX_IndexConfigCameraDigitalGain` | Manual pipe digital gain. bAutoGain is not applicable to this component and will be ignored. xGain will always be used to set the digital gain within the pipe. This parameter only applies to Bayer input formats.
`OMX_IndexParamBrcmIspBlockOverride` | Disables ISP blocks. Query / set a bitmask that can disable ISP processing blocks. Blocks can NOT be enabled if they haven't been configured in the tuning.
361 | `OMX_IndexParamPortDefinition` | Query this to show what the output size will be. Set to alter the number of buffers to be used, or change the size of the output image if the custom resize setting is not being used. YUV image dimensions must be even. `nSliceHeight` must be a multiple of 16 >= `nFrameHeight`, or 0 which indicates no preference. `nStride` must be a multiple of 32, or a multiple of 64 for RGBA32 format. FIXME: Correct the list of supported formats
362 | `OMX_IndexParamPortDefinition` | Query this to show what the output size will be. This port must be at a lower resolution than 361, and only supports YUV formats, not the RGB formats that port 361 does.
360 361 362 | `OMX_IndexParamMinimumAlignment` | Query the minimum alignment that the component requries on the port.
`OMX_IndexParamImagePortFormat` | Set / query the image port format used. These ports support RGB565, RGBA32 or YUV420 raw bitmap formats. FIXME: Correct the list of supported formats
`OMX_IndexParamColorSpace` | Set/retrieve the image colour space that buffers on the port should be processed with. FIXME: Implement me.
361 362 | `OMX_IndexParamOutputShift` | Set/retrieve an additional shift parameter applied at the output of the ISP. 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.
| `OMX_IndexConfigCustomAwbGains` | Custom AWB Gains. Allows client to set AWB gains. This parameter only applies to Bayer input formats.
`OMX_IndexParamBrcmLensShadingOverride` | Set the lens shading table. Allows the client to provide a lens shading grid.
`OMX_IndexParamBrcmBlackLevel` | Specify the level to be treated as black.