NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Detailed Description

Defines IPP pipeline-related structures and functions.

Data Structures

struct  NvMediaIPPEventData
 Holds additional event information. More...
 

Typedefs

typedef void NvMediaIPPEventCallback (void *clientContext, NvMediaIPPComponentType componentType, NvMediaIPPComponent *ippComponent, NvMediaIPPEventType eventType, NvMediaIPPEventData *eventData)
 Defines a function prototype for event callbacks. More...
 

Enumerations

enum  NvMediaIPPEventType {
  NVMEDIA_IPP_EVENT_INFO_EOF,
  NVMEDIA_IPP_EVENT_INFO_PROCESSING_DONE,
  NVMEDIA_IPP_EVENT_INFO_FRAME_CAPTURE,
  NVMEDIA_IPP_EVENT_WARNING_CAPTURE_FRAME_DROP,
  NVMEDIA_IPP_EVENT_ERROR_INTERNAL_FAILURE,
  NVMEDIA_IPP_EVENT_ERROR_I2C_TRANSMISSION_FAILURE,
  NVMEDIA_IPP_EVENT_WARNING_CSI_FRAME_DISCONTINUITY,
  NVMEDIA_IPP_EVENT_ERROR_CSI_INPUT_STREAM_FAILURE
}
 Specifies event types. More...
 

Functions

NvMediaIPPPipelineNvMediaIPPPipelineCreate (NvMediaIPPManager *ippManager)
 Allocates an IPP pipeline object. More...
 
void NvMediaIPPPipelineDestroy (NvMediaIPPPipeline *ippPipeline)
 Destroys an IPP pipeline object and all components created with the handle. More...
 
NvMediaStatus NvMediaIPPPipelineSingleCapture (NvMediaIPPPipeline *ippPipeline)
 Triggers the pipeline to do a single capture. More...
 
NvMediaStatus NvMediaIPPManagerSetEventCallback (NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPEventCallback eventCallback)
 Sets a callback function for IPP events. More...
 
NvMediaStatus NvMediaIPPPipelineStart (NvMediaIPPPipeline *ippPipeline)
 Starts the IPP pipeline. More...
 
NvMediaStatus NvMediaIPPPipelineStop (NvMediaIPPPipeline *ippPipeline)
 Stops the IPP pipeline. More...
 
NvMediaStatus NvMediaIPPPipelineApplyControlProperties (NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *controlProperties)
 Applies control properties to the pipeline. More...
 
NvMediaStatus NvMediaIPPPipelineGetStaticProperties (NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyStatic *staticProperties)
 Gets static properties of the pipeline, that is, properties that do not change during the pipeline's lifetime. More...
 
NvMediaStatus NvMediaIPPPipelineGetDefaultControlsProperties (NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *defaultControlsProperties)
 Gets default control properties for the pipeline. More...
 

Typedef Documentation

typedef void NvMediaIPPEventCallback(void *clientContext, NvMediaIPPComponentType componentType, NvMediaIPPComponent *ippComponent, NvMediaIPPEventType eventType, NvMediaIPPEventData *eventData)

Defines a function prototype for event callbacks.

The client must create a function with the same function signature.

Parameters
clientContextThe client context that was passed to NvMediaIPPManagerSetEventCallback.
componentTypeComponent reporting the event.
ippComponentA pointer to the IPP component handle.
eventTypeEvent type.
eventDataA pointer to additional event information data.

Definition at line 589 of file nvmedia_ipp.h.

Enumeration Type Documentation

Specifies event types.

Enumerator
NVMEDIA_IPP_EVENT_INFO_EOF 

Specifies event Info: End of file.

NVMEDIA_IPP_EVENT_INFO_PROCESSING_DONE 

Specifies event info: Component processed one frame.

NVMEDIA_IPP_EVENT_INFO_FRAME_CAPTURE 

Specifies event info: One frame captured.

NVMEDIA_IPP_EVENT_WARNING_CAPTURE_FRAME_DROP 

Specifies event warning: Capture frame drop.

NVMEDIA_IPP_EVENT_ERROR_INTERNAL_FAILURE 

Specifies event error: Internal failure.

NVMEDIA_IPP_EVENT_ERROR_I2C_TRANSMISSION_FAILURE 

Specifies event error: I2C transmission failure.

NVMEDIA_IPP_EVENT_WARNING_CSI_FRAME_DISCONTINUITY 

Specifies event warning: CSI frame discontinuity.

NVMEDIA_IPP_EVENT_ERROR_CSI_INPUT_STREAM_FAILURE 

Specifies event error: CSI input stream error.

Definition at line 544 of file nvmedia_ipp.h.

Function Documentation

NvMediaStatus NvMediaIPPManagerSetEventCallback ( NvMediaIPPManager ippManager,
void *  clientContext,
NvMediaIPPEventCallback  eventCallback 
)

Sets a callback function for IPP events.

May be called after the NvMedia IPP manager is created.

Note
The event callback function is called from the thread context of an NvMedia IPP component. Therefore the called function must not perform blocking calls, and overall processing must be kept to a minimum.
Parameters
[in]ippManagerA pointer to the NvMediaIPPManager.
[in]clientContextContext of the client. If not needed, set to NULL.
[in]eventCallbackA pointer to an event callback function. This function is called when an event occurs in the IPP pipeline.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaStatus NvMediaIPPPipelineApplyControlProperties ( NvMediaIPPPipeline ippPipeline,
NvMediaIPPPropertyControls controlProperties 
)

Applies control properties to the pipeline.

Parameters
[in]ippPipelineA pointer to the IPP pipeline.
[in]controlPropertiesA pointer to a client-allocated and filled structure of control properties.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaIPPPipeline* NvMediaIPPPipelineCreate ( NvMediaIPPManager ippManager)

Allocates an IPP pipeline object.

Parameters
[in]ippManagerA pointer to the NvMediaIPPManager.
Returns
NvMediaIPPPipeline, the new IPP pipeline's handle if successful, or NULL otherwise.
void NvMediaIPPPipelineDestroy ( NvMediaIPPPipeline ippPipeline)

Destroys an IPP pipeline object and all components created with the handle.

May be called after the pipeline has been stopped with NvMediaIPPPipelineStop().

Parameters
[in]ippPipelineA pointer to the IPP pipeline object to destroy.
Returns
void
NvMediaStatus NvMediaIPPPipelineGetDefaultControlsProperties ( NvMediaIPPPipeline ippPipeline,
NvMediaIPPPropertyControls defaultControlsProperties 
)

Gets default control properties for the pipeline.

Parameters
[in]ippPipelineA pointer to the IPP pipeline.
[out]defaultControlsPropertiesA pointer to a client allocated structure to be filled with the default control properties of the pipeline.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaStatus NvMediaIPPPipelineGetStaticProperties ( NvMediaIPPPipeline ippPipeline,
NvMediaIPPPropertyStatic staticProperties 
)

Gets static properties of the pipeline, that is, properties that do not change during the pipeline's lifetime.

Parameters
[in]ippPipelineA pointer to the IPP pipeline.
[out]staticPropertiesA pointer to a client allocated structure to be filled with the static properties of the pipeline.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaStatus NvMediaIPPPipelineSingleCapture ( NvMediaIPPPipeline ippPipeline)

Triggers the pipeline to do a single capture.

If called multiple times, triggers are queued. Pipeline must be configured for trigger-based capture.

Parameters
[in]ippPipelineA pointer to the IPP pipeline.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaStatus NvMediaIPPPipelineStart ( NvMediaIPPPipeline ippPipeline)

Starts the IPP pipeline.

This function assumes that all the IPP components have been created and attached together to form a pipeline.

When invoked, all the component threads are activated. After a pipeline has started, no more components can be added to the pipeline or attached together.

Parameters
[in]ippPipelineA pointer to the IPP pipeline to start.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaStatus NvMediaIPPPipelineStop ( NvMediaIPPPipeline ippPipeline)

Stops the IPP pipeline.

This function signals all components in the pipeline. Every component then stops its processing thread and goes into stopped mode.

Subsequently, the NvMediaIPPPipelineStart() function can restart the pipeline.

Parameters
[in]ippPipelineA pointer to the IPP pipeline to stop.
Returns
NvMediaStatus, the completion status of the operation: NVMEDIA_STATUS_OK if successful, or NVMEDIA_STATUS_ERROR otherwise.