NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_ipp.h File Reference

Detailed Description

NVIDIA Media Interface: Image Processing Pipeline API

Description: This file contains the Image ProcessingPipeline API."

Definition in file nvmedia_ipp.h.

Go to the source code of this file.

Data Structures

struct  NvMediaIPPImageInformation
 Holds image information. More...
 
struct  NvMediaIPPMathFloatMatrix
 Holds a 4x4 matrix of floats. More...
 
struct  NvMediaIPPPropertyControls
 Holds control properties associated with the camera. More...
 
struct  NvMediaIPPPropertyDynamic
 Holds dynamic properties associated with the camera. More...
 
struct  NvMediaIPPPropertyStatic
 Holds static properties associated with a camera. More...
 
struct  NvMediaIPPPipelineProperty
 Holds the IPP pipeline property. More...
 
struct  NvMediaIPPVersionInfo
 Holds version information for the NvMedia IPP library. More...
 
struct  NvMediaIPPEventData
 Holds additional event information. More...
 
struct  NvMediaIPPPluginInputStreamData
 Holds stream data for Control Algorithm plugin input. More...
 
struct  NvMediaIPPPluginInput
 Holds Control Algorithm plugin input parameters. More...
 
struct  NvMediaIPPPluginOutputStreamSettings
 Holds stream-specific settings of Control Algorithm plugin output. More...
 
struct  NvMediaIPPPluginOutputEx
 Holds Control Algorithm plugin output parameters for bracketed exposure. More...
 
struct  NvMediaIPPPluginSupportFuncs
 Holds the Control Algorithm plugin support functions descriptor. More...
 
struct  NvMediaIPPPluginFuncs
 Holds the Control Algorithm plugin function descriptor. More...
 
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_VERSION_MAJOR   2u
 Major Version number. More...
 
#define NVMEDIA_IPP_VERSION_MINOR   17u
 Minor Version number. More...
 
#define NVMEDIA_IPP_VERSION_INFO   (((uint8_t)'N' << 24) | ((uint8_t)'V' << 16) | (NVMEDIA_IPP_VERSION_MAJOR << 8) | NVMEDIA_IPP_VERSION_MINOR)
 Version information. More...
 
#define NVMEDIA_MAX_COMPONENTS_PER_PIPELINE
 Maximum number of IPP components in IPP pipeline. More...
 
#define NVMEDIA_MAX_PIPELINES_PER_MANAGER
 Maximum number of IPP pipelines in IPP manager. More...
 
#define NVMEDIA_IPP_STREAM_MAX_TYPES   2
 Maximum number of streams. More...
 
#define NVMEDIA_IPP_MAX_KNEEPOINTS   24
 Maximum numbers of knee points for companding curve. More...
 
#define NVMEDIA_IPP_MAX_EXPOSURE_SETS   8
 Maximum numbers of exposure sets for bracketed exposure. More...
 
#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 void NvMediaIPPManager
 A handle representing IPP manager object. More...
 
typedef void NvMediaIPPPipeline
 A handle representing IPP pipeline object. More...
 
typedef void NvMediaIPPComponent
 A handle representing an IPP component object. More...
 
typedef NvMediaStatus NvMediaIPPGetAbsoluteGlobalTime (void *clientContext, NvMediaGlobalTime *timeValue)
 Defines the global time callback function prototype. More...
 
typedef void NvMediaIPPEventCallback (void *clientContext, NvMediaIPPComponentType componentType, NvMediaIPPComponent *ippComponent, NvMediaIPPEventType eventType, NvMediaIPPEventData *eventData)
 Defines a function prototype for event callbacks. More...
 
typedef void NvMediaIPPPlugin
 Holds an opaque handle representing a Control Algorithm plugin. More...
 
typedef NvMediaStatus NvMediaIPPGetSensorAttr (NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaISCSensorAttrType type, uint32_t size, void *attribute)
 Defines a function prototype that gets a sensor attribute. More...
 
typedef NvMediaStatus NvMediaIPPluginCreateFunc (NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaIPPPluginSupportFuncs *supportFunctions, NvMediaIPPPropertyStatic *staticProperties, void *clientContext, NvMediaIPPPlugin **pluginHandle, NvMediaIPPISPVersion ispVersion)
 Creates a Plugin Control Algorithm callback. More...
 
typedef void NvMediaIPPPluginDestroyFunc (NvMediaIPPPlugin *pluginHandle)
 Creates a Plugin Control Algorithm Destroy callback function. More...
 
typedef NvMediaStatus NvMediaIPPPluginProcessExFunc (NvMediaIPPPlugin *pluginHandle, NvMediaIPPPluginInput *pluginInput, NvMediaIPPPluginOutputEx *pluginOutput)
 Creates the Plugin Control Algorithm Process callback function for bracketed exposure. More...
 
typedef NvMediaStatus(* NvMediaIPPImgGrpReadCallback )(void *clientContext, NvMediaImageGroup *imageGroup)
 Defines the prototype for the file-reader image-read callback function. More...
 

Enumerations

enum  NvMediaIPPISPVersion {
  NVMEDIA_IPP_ISP_VERSION_4,
  NVMEDIA_IPP_ISP_VERSION_5
}
 Specifies the IPP ISP version. More...
 
enum  NvMediaIPPComponentType {
  NVMEDIA_IPP_COMPONENT_ICP,
  NVMEDIA_IPP_COMPONENT_ISP,
  NVMEDIA_IPP_COMPONENT_ALG,
  NVMEDIA_IPP_COMPONENT_ISC,
  NVMEDIA_IPP_COMPONENT_OUTPUT,
  NVMEDIA_IPP_COMPONENT_FILE_READER,
  NVMEDIA_IPP_COMPONENT_ICP_EX
}
 Specifies IPP component types. More...
 
enum  NvMediaIPPAeAntiFlickerMode {
  NVMEDIA_IPP_AE_ANTI_FLICKER_MODE_OFF,
  NVMEDIA_IPP_AE_ANTI_FLICKER_MODE_50Hz,
  NVMEDIA_IPP_AE_ANTI_FLICKER_MODE_60Hz,
  NVMEDIA_IPP_AE_ANTI_FLICKER_MODE_AUTO
}
 Specifies flicker detection/correction modes. More...
 
enum  NvMediaIPPComputedAntiFlicker {
  NVMEDIA_IPP_COMPUTED_ANTI_FLICKER_MODE_NONE,
  NVMEDIA_IPP_COMPUTED_ANTI_FLICKER_MODE_50Hz,
  NVMEDIA_IPP_COMPUTED_ANTI_FLICKER_MODE_60Hz
}
 Defines detected flicker modes. More...
 
enum  NvMediaIPPAeState {
  NVMEDIA_IPP_AE_STATE_INACTIVE,
  NVMEDIA_IPP_AE_STATE_SEARCHING,
  NVMEDIA_IPP_AE_STATE_CONVERGED,
  NVMEDIA_IPP_AE_STATE_TIMEOUT
}
 Defines auto exposure current states. More...
 
enum  NvMediaIPPAwbState {
  NVMEDIA_IPP_AWB_STATE_INACTIVE,
  NVMEDIA_IPP_AWB_STATE_SEARCHING,
  NVMEDIA_IPP_AWB_STATE_CONVERGED,
  NVMEDIA_IPP_AWB_STATE_TIMEOUT
}
 Defines various auto white balance states. More...
 
enum  NvMediaIPPPipelinePropertyType {
  NVMEDIA_IPP_PIPELINE_PROPERTY_ONLY_EMB_STATS = 0,
  NVMEDIA_IPP_PIPELINE_PROPERTY_TRIGGER_BASED_CAPTURE,
  NVMEDIA_IPP_PIPELINE_PROPERTY_SETTINGS_DELAY
}
 Defines IPP pipeline property types. More...
 
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...
 
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

NvMediaStatus NvMediaIPPPipelineSetProperties (NvMediaIPPPipeline *ippPipeline, uint32_t numProperties, NvMediaIPPPipelineProperty *properties)
 Sets the IPP pipeline properties. More...
 
NvMediaStatus NvMediaIPPGetVersionInfo (NvMediaIPPVersionInfo *versionInfo)
 Returns the version information for the NvMedia IPP library. More...
 
NvMediaIPPManagerNvMediaIPPManagerCreate (uint32_t versionInfo, NvMediaDevice *device)
 Allocates an Image Processing Pipeline manager object. More...
 
void NvMediaIPPManagerDestroy (NvMediaIPPManager *ippManager)
 Destroys an IPP manager object. More...
 
NvMediaStatus NvMediaIPPManagerSetTimeSource (NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPGetAbsoluteGlobalTime getAbsoluteGlobalTime)
 Sets the callback function for image time-stamping. More...
 
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...
 
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...
 
NvMediaIPPComponentNvMediaIPPComponentCreateNew (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsNew **bufferPools, void *componentConfig)
 Creates an IPP component object for image group processing. More...
 
NvMediaIPPComponentNvMediaIPPComponentCreateImgGrp (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...