NVIDIA DRIVE 5.0 Linux SDK API Reference

5.0.5.0 Release

 All Data Structures 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 Processing Pipeline 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
 Defines the control properties associated with the camera. More...
 
struct  NvMediaIPPPropertyDynamic
 Defines the dynamic properties associated with the camera. More...
 
struct  NvMediaIPPPropertyStatic
 Defines the static properties associated with the 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 the 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 functions 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   12u
 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 pipelines in IPP manager. More...
 
#define NVMEDIA_MAX_PIPELINES_PER_MANAGER
 Maximum number of IPP components in IPP pipeline. More...
 
#define NVMEDIA_IPP_STREAM_MAX_TYPES   2
 Max number of streams. More...
 
#define NVMEDIA_IPP_MAX_LTM_DATA_SIZE   (25 * 1024)
 The maximum size of the local tonemap data. 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...
 

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)
 Event callback function prototype. 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)
 Gets the sensor attribute function prototype. More...
 
typedef NvMediaStatus NvMediaIPPluginCreateFunc (NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaIPPPluginSupportFuncs *supportFunctions, NvMediaIPPPropertyStatic *staticProperties, void *clientContext, NvMediaIPPPlugin **pluginHandle, NvMediaIPPISPVersion ispVersion)
 Plugin Control Algorithm Create callback function prototype. More...
 
typedef void NvMediaIPPPluginDestroyFunc (NvMediaIPPPlugin *pluginHandle)
 Plugin Control Algorithm Destroy callback function prototype. More...
 
typedef NvMediaStatus NvMediaIPPPluginProcessExFunc (NvMediaIPPPlugin *pluginHandle, NvMediaIPPPluginInput *pluginInput, NvMediaIPPPluginOutputEx *pluginOutput)
 Defines the Plugin Control Algorithm Process callback function prototype for bracketed exposure. More...
 
typedef NvMediaStatus(* NvMediaIPPImgGrpReadCallback )(void *clientContext, NvMediaImageGroup *imageGroup)
 File-reader image-read callback prototype. 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
}
 Defines 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
}
 Defines 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 the 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
}
 Defines 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
}
 Defines 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 << 3),
  NVMEDIA_IPP_ISP_OUTPUT2_MODE_2 = (1 << 4)
}
 Defines 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_LTM_DATA,
  NVMEDIA_IPP_METADATA_MAX_TYPES
}
 Defines 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. More...
 
NvMediaStatus NvMediaIPPPipelineSingleCapture (NvMediaIPPPipeline *ippPipeline)
 Triggers the pipeline to do the 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 for the pipeline. More...
 
NvMediaStatus NvMediaIPPPipelineGetDefaultControlsProperties (NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *defaultControlsProperties)
 Gets default controls 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. More...
 
NvMediaIPPComponentNvMediaIPPComponentCreateImgGrp (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsImgGrp **bufferPools, void *componentConfig)
 Creates an IPP component object. More...
 
NvMediaStatus NvMediaIPPComponentAddToPipeline (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponent *ippComponent)
 Adds an IPP component to pipeline. More...
 
NvMediaStatus NvMediaIPPComponentAttach (NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponent *srcComponent, NvMediaIPPComponent *dstComponent, NvMediaIPPPortType portType)
 Attaches an IPP source component to 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...