![]() |
NVIDIA DRIVE 5.0 Linux SDK API Reference5.0.10.3 Release |
Defines IPP component-related structures and functions.
Data Structures | |
struct | NvMediaIPPBufferPoolParamsNew |
Holds new buffer pool parameters for initializing an IPP component. More... | |
struct | NvMediaIPPBufferPoolParamsImgGrp |
Holds image group buffer pool parameters for initializing an IPP component. More... | |
struct | NvMediaIPPIcpComponentConfig |
Holds configuration for an ICP component. More... | |
struct | NvMediaIPPFileReaderComponentConfig |
Holds configuration information for a file reader component. More... | |
struct | NvMediaIPPIscComponentConfig |
Holds configuration information for an ISC component. More... | |
struct | NvMediaIPPIspComponentConfig |
Holds configuration information for an ISP component. More... | |
struct | NvMediaIPPControlAlgorithmComponentConfig |
Holds configuration information for a Control Algorithm component. More... | |
struct | NvMediaIPPComponentOutput |
Holds a handle representing an IPP component output object. More... | |
struct | NvMediaIPPComponentOutputImgGrp |
Holds a handle representing an IPP component output object. More... | |
Macros | |
#define | NVMEDIA_IPP_ISP_OUTPUT2_MODE_MASK (7 << 4) |
Bit mask for NVMEDIA_IPP_ISP_OUTPUT2_MODE_X values. More... | |
#define | NVMEDIA_IPP_ISP_OUTPUT2_MODE_NONE 0 |
Typedefs | |
typedef NvMediaStatus(* | NvMediaIPPImgGrpReadCallback )(void *clientContext, NvMediaImageGroup *imageGroup) |
Defines the prototype for the file-reader image-read callback function. More... | |
Enumerations | |
enum | NvMediaIPPPortType { NVMEDIA_IPP_PORT_IMAGE_1, NVMEDIA_IPP_PORT_IMAGE_2, NVMEDIA_IPP_PORT_STATS_1, NVMEDIA_IPP_PORT_SENSOR_CONTROL_1, NVMEDIA_IPP_PORT_IMAGE_CAPTURE_AGGREGATE } |
Specifies IPP port types. More... | |
enum | NvMediaIPPIspAttrFlags { NVMEDIA_IPP_ISP_MODE_NONHDR = (1 << 0), NVMEDIA_IPP_ISP_SINGLE_PIPELINE_MODE = (1 << 1), NVMEDIA_IPP_ISP_OUTPUT2_MODE_1 = (1 << 4), NVMEDIA_IPP_ISP_OUTPUT2_MODE_2 = (2 << 4), NVMEDIA_IPP_ISP_OUTPUT2_MODE_3 = (3 << 4), NVMEDIA_IPP_ISP_OUTPUT2_MODE_4 = (4 << 4), NVMEDIA_IPP_ISP_OUTPUT2_MODE_5 = (5 << 4) } |
Specifies IPP ISP attribute flags. More... | |
enum | NvMediaIPPMetadataType { NVMEDIA_IPP_METADATA_IMAGE_INFO, NVMEDIA_IPP_METADATA_CONTROL_PROPERTIES, NVMEDIA_IPP_METADATA_DYNAMIC_PROPERTIES, NVMEDIA_IPP_METADATA_EMBEDDED_DATA_ISC, NVMEDIA_IPP_METADATA_EMBEDDED_DATA_TOP, NVMEDIA_IPP_METADATA_EMBEDDED_DATA_BOTTOM, NVMEDIA_IPP_METADATA_MAX_TYPES } |
Specifies metadata types. More... | |
Functions | |
uint32_t | NvMediaIPPMetadataGetSize (void *metadata, NvMediaIPPMetadataType type) |
Gets the size of the specified metadata type. More... | |
NvMediaStatus | NvMediaIPPMetadataGet (void *metadata, NvMediaIPPMetadataType type, void *buffer, uint32_t size) |
Gets the data of the specified metadata type. More... | |
NvMediaStatus | NvMediaIPPMetadataGetAddress (void *metadata, NvMediaIPPMetadataType type, void **buffer, uint32_t *size) |
Gets the address of the data of the specified metadata type. More... | |
NvMediaIPPComponent * | NvMediaIPPComponentCreateNew (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsNew **bufferPools, void *componentConfig) |
Creates an IPP component object for image group processing. More... | |
NvMediaIPPComponent * | NvMediaIPPComponentCreateImgGrp (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsImgGrp **bufferPools, void *componentConfig) |
Creates an IPP component object for image group processing. More... | |
NvMediaStatus | NvMediaIPPComponentAddToPipeline (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponent *ippComponent) |
Adds an IPP component to a pipeline. More... | |
NvMediaStatus | NvMediaIPPComponentAttach (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponent *srcComponent, NvMediaIPPComponent *dstComponent, NvMediaIPPPortType portType) |
Attaches an output port of an IPP source component to an input port of a destination component. More... | |
NvMediaStatus | NvMediaIPPComponentGetOutput (NvMediaIPPComponent *component, uint32_t millisecondTimeout, NvMediaIPPComponentOutput *output) |
Gets output from a component. More... | |
NvMediaStatus | NvMediaIPPComponentReturnOutput (NvMediaIPPComponent *component, NvMediaIPPComponentOutput *output) |
Returns output to a component. More... | |
NvMediaStatus | NvMediaIPPComponentGetOutputImgGrp (NvMediaIPPComponent *component, uint32_t millisecondTimeout, NvMediaIPPComponentOutputImgGrp *output) |
Gets image group output from a component. More... | |
NvMediaStatus | NvMediaIPPComponentReturnOutputImgGrp (NvMediaIPPComponent *component, NvMediaIPPComponentOutputImgGrp *output) |
Returns image group output to a component. More... | |
void | NvMediaIPPComponentDestroy (NvMediaIPPComponent *ippComponent) |
Destroys an IPP component object. More... | |
#define NVMEDIA_IPP_ISP_OUTPUT2_MODE_MASK (7 << 4) |
Bit mask for NVMEDIA_IPP_ISP_OUTPUT2_MODE_X values.
Definition at line 1119 of file nvmedia_ipp.h.
#define NVMEDIA_IPP_ISP_OUTPUT2_MODE_NONE 0 |
Definition at line 1120 of file nvmedia_ipp.h.
typedef NvMediaStatus(* NvMediaIPPImgGrpReadCallback)(void *clientContext, NvMediaImageGroup *imageGroup) |
Defines the prototype for the file-reader image-read callback function.
The client must create a callback function with the same function signature. The IPP File Reader component calls that function to read an image into the framework. The component passes a pointer to an area that holds the entire image/frame.
[in] | clientContext | A pointer to the client's context. |
[in] | imageGroup | A pointer to the image group that the function is to read. |
Definition at line 1090 of file nvmedia_ipp.h.
Specifies IPP ISP attribute flags.
Definition at line 1126 of file nvmedia_ipp.h.
Specifies metadata types.
Enumerator | |
---|---|
NVMEDIA_IPP_METADATA_IMAGE_INFO |
Specifies image information. Data corresponds to NvMediaIPPImageInformation. |
NVMEDIA_IPP_METADATA_CONTROL_PROPERTIES |
Specifies control properties. Data corresponds to NvMediaIPPPropertyControls. |
NVMEDIA_IPP_METADATA_DYNAMIC_PROPERTIES |
Specifies dynamic properties. Data corresponds to NvMediaIPPPropertyDynamic. |
NVMEDIA_IPP_METADATA_EMBEDDED_DATA_ISC |
Specifies embedded data. Data corresponds to NvMediaISCEmbeddedData. The top and bottom embedded lines are not provided. To get them, use NVMEDIA_IPP_METADATA_EMBEDDED_DATA_TOP and NVMEDIA_IPP_METADATA_EMBEDDED_DATA_BOTTOM. |
NVMEDIA_IPP_METADATA_EMBEDDED_DATA_TOP |
Specifies the top embedded line whose size and base register are defined by the size and baseRegAddress fields of NvMediaISCEmbeddedDataBuffer. |
NVMEDIA_IPP_METADATA_EMBEDDED_DATA_BOTTOM |
Specifies the bottom embedded line whose size and base register are defined by the size and baseRegAddress fields of NvMediaISCEmbeddedDataBuffer. |
NVMEDIA_IPP_METADATA_MAX_TYPES |
Specifies the number of metadata types. |
Definition at line 1178 of file nvmedia_ipp.h.
enum NvMediaIPPPortType |
Specifies IPP port types.
Definition at line 996 of file nvmedia_ipp.h.
NvMediaStatus NvMediaIPPComponentAddToPipeline | ( | NvMediaIPPPipeline * | ippPipeline, |
NvMediaIPPComponent * | ippComponent | ||
) |
Adds an IPP component to a pipeline.
When a component is created, it belongs to its parent pipeline. In some cases, however, a component must belong to multiple pipelines. Only the capture component can be added to multiple pipelines because it handles aggregated images that are sent to different pipelines.
[in] | ippPipeline | A pointer to the NvMedia IPP pipeline to which the component is to be added. |
[in] | ippComponent | The IPP component's handle. |
NvMediaStatus NvMediaIPPComponentAttach | ( | NvMediaIPPPipeline * | ippPipeline, |
NvMediaIPPComponent * | srcComponent, | ||
NvMediaIPPComponent * | dstComponent, | ||
NvMediaIPPPortType | portType | ||
) |
Attaches an output port of an IPP source component to an input port of a destination component.
[in] | ippPipeline | A pointer to the NvMedia IPP pipeline to which the components belong. |
[in] | srcComponent | A pointer to the source component. |
[in] | dstComponent | A pointer to the destination component. |
[in] | portType | Specifies the type of ports to be attached. The components are compatible only if the source has an output port and the destination has an input port of this type. |
NvMediaIPPComponent* NvMediaIPPComponentCreateImgGrp | ( | NvMediaIPPPipeline * | ippPipeline, |
NvMediaIPPComponentType | componentType, | ||
NvMediaIPPBufferPoolParamsImgGrp ** | bufferPools, | ||
void * | componentConfig | ||
) |
Creates an IPP component object for image group processing.
This function creates a component and its thread and associates it with a pipeline.
After the component is created it is not attached to any other component. The NvMediaIPPComponentAttach() function must be called to create the desired pipeline.
Creating a component requires a component type, buffer pools, and a configuration.
[in] | ippPipeline | A pointer to the NvMedia IPP pipeline to which the component belongs. |
[in] | componentType | Type of the component. Currently the following types are supported: |
[in] | bufferPools | A pointer to a NULL terminated list of pointers to image group buffer pool parameters. |
[in] | componentConfig | A pointer to a component specific configuration. |
NvMediaIPPComponent* NvMediaIPPComponentCreateNew | ( | NvMediaIPPPipeline * | ippPipeline, |
NvMediaIPPComponentType | componentType, | ||
NvMediaIPPBufferPoolParamsNew ** | bufferPools, | ||
void * | componentConfig | ||
) |
Creates an IPP component object for image group processing.
This function creates a component and its thread and associates it with a pipeline.
After the component is created it is not attached to any other component. The NvMediaIPPComponentAttach() function must be called to create the desired pipeline.
Creating a component requires a component type, buffer pools, and a configuration.
[in] | ippPipeline | A pointer to the NvMedia IPP pipeline to which the component belongs. |
[in] | componentType | Type of the component. Currently the following types are supported: |
[in] | bufferPools | A pointer to a NULL terminated list of pointers to new buffer pool parameters. |
[in] | componentConfig | A pointer to a component specific configuration. |
void NvMediaIPPComponentDestroy | ( | NvMediaIPPComponent * | ippComponent | ) |
Destroys an IPP component object.
This function destroys an IPP component object and its thread.
When the pipeline is destroyed with NvMediaIPPPipelineDestroy()
, all components created with this pipeline handle are also destroyed.
[in] | ippComponent | A pointer to the IPP component object to destroy. |
NvMediaStatus NvMediaIPPComponentGetOutput | ( | NvMediaIPPComponent * | component, |
uint32_t | millisecondTimeout, | ||
NvMediaIPPComponentOutput * | output | ||
) |
Gets output from a component.
Works only with a NVMEDIA_IPP_COMPONENT_OUTPUT component.
If the frame is not available the function blocks until the frame becomes available or the timeout expires. When processing is complete, the client must return the frame by calling NvMediaIPPComponentReturnOutput().
[in] | component | Component handle. |
[in] | millisecondTimeout | Time-out in milliseconds. Use NVMEDIA_IMAGE_TIMEOUT_INFINITE for infinite timeout. |
[out] | output | A pointer to the output structure which the component is to fill. |
NvMediaStatus NvMediaIPPComponentGetOutputImgGrp | ( | NvMediaIPPComponent * | component, |
uint32_t | millisecondTimeout, | ||
NvMediaIPPComponentOutputImgGrp * | output | ||
) |
Gets image group output from a component.
Only the NVMEDIA_IPP_COMPONENT_OUTPUT supports this functionality.
[in] | component | Component handle. |
[in] | millisecondTimeout | Time-out in milliseconds. Use NVMEDIA_IMAGE_TIMEOUT_INFINITE for an infinite timeout. |
[out] | output | A pointer to the output structure to be filled by the component. |
NvMediaStatus NvMediaIPPComponentReturnOutput | ( | NvMediaIPPComponent * | component, |
NvMediaIPPComponentOutput * | output | ||
) |
Returns output to a component.
Only a NVMEDIA_IPP_COMPONENT_OUTPUT component may be used.
This function must be called for each output structure obtained by a call to NvMediaIPPComponentGetOutput(). In the output structure, only the image member must be set. When an image is returned, the associated metadata is destroyed.
The client application must return all the images that were obtained from the output component. The images need not be returned in the order they were obtained, though. Thus the client application may hold on to a buffer for processing after it has released some buffers that were obtained later.
[in] | component | Component handle. |
[out] | output | A pointer to the output structure to be returned. |
NvMediaStatus NvMediaIPPComponentReturnOutputImgGrp | ( | NvMediaIPPComponent * | component, |
NvMediaIPPComponentOutputImgGrp * | output | ||
) |
Returns image group output to a component.
Only the NVMEDIA_IPP_COMPONENT_OUTPUT supports this functionality. This function must be called for each output structure received by NvMediaIPPComponentGetOutput().
[in] | component | Component handle. |
[out] | output | A pointer to an output structure to be returned. |
NvMediaStatus NvMediaIPPMetadataGet | ( | void * | metadata, |
NvMediaIPPMetadataType | type, | ||
void * | buffer, | ||
uint32_t | size | ||
) |
Gets the data of the specified metadata type.
[in] | metadata | A pointer to the buffer holding the metadata. |
[in] | type | Type of the requested metadata. |
[out] | buffer | A pointer to the destination buffer. |
[in] | size | The size of the requested data. |
NvMediaStatus NvMediaIPPMetadataGetAddress | ( | void * | metadata, |
NvMediaIPPMetadataType | type, | ||
void ** | buffer, | ||
uint32_t * | size | ||
) |
Gets the address of the data of the specified metadata type.
[in] | metadata | A pointer to a buffer holding the metadata. |
[in] | type | Type of the requested metadata. |
[out] | buffer | A pointer to a pointer into the metadata. The function stores the address of the specified type of metadata in it. |
[out] | size | A pointer to the size of the area allocated for the specified type of metadata in the meta data buffer; in other words, the size of the area indicated by buffer. |
uint32_t NvMediaIPPMetadataGetSize | ( | void * | metadata, |
NvMediaIPPMetadataType | type | ||
) |
Gets the size of the specified metadata type.
[in] | metadata | A pointer to a buffer holding metadata. |
[in] | type | Type of the requested metadata. |