16 #ifndef _NVMEDIA_IPP_H
17 #define _NVMEDIA_IPP_H
54 #define NVMEDIA_IPP_VERSION_MAJOR 2u
56 #define NVMEDIA_IPP_VERSION_MINOR 16u
58 #define NVMEDIA_IPP_VERSION_INFO (((uint8_t)'N' << 24) | ((uint8_t)'V' << 16) | (NVMEDIA_IPP_VERSION_MAJOR << 8) | NVMEDIA_IPP_VERSION_MINOR)
69 #define NVMEDIA_MAX_COMPONENTS_PER_PIPELINE 32
75 #define NVMEDIA_MAX_PIPELINES_PER_MANAGER 12
120 #define NVMEDIA_IPP_STREAM_MAX_TYPES 2
295 #define NVMEDIA_IPP_MAX_KNEEPOINTS 24
380 NvMediaIPPPipeline *ippPipeline,
381 uint32_t numProperties,
440 uint32_t versionInfo,
451 NvMediaIPPManager *ippManager
492 NvMediaIPPManager *ippManager,
512 NvMediaIPPManager *ippManager
524 NvMediaIPPPipeline *ippPipeline
538 NvMediaIPPPipeline *ippPipeline
592 NvMediaIPPComponent *ippComponent,
617 NvMediaIPPManager *ippManager,
639 NvMediaIPPPipeline *ippPipeline
658 NvMediaIPPPipeline *ippPipeline
672 NvMediaIPPPipeline *ippPipeline,
688 NvMediaIPPPipeline *ippPipeline,
704 NvMediaIPPPipeline *ippPipeline,
835 #define NVMEDIA_IPP_MAX_EXPOSURE_SETS 8
888 NvMediaIPPComponent *parentControlAlgorithmHandle,
931 NvMediaIPPComponent *parentControlAlgorithmHandle,
935 NvMediaIPPPlugin **pluginHandle,
947 NvMediaIPPPlugin *pluginHandle);
966 NvMediaIPPPlugin *pluginHandle,
1091 void *clientContext,
1119 #define NVMEDIA_IPP_ISP_OUTPUT2_MODE_MASK (7 << 4)
1120 #define NVMEDIA_IPP_ISP_OUTPUT2_MODE_NONE 0
1287 NvMediaIPPComponent *
1289 NvMediaIPPPipeline *ippPipeline,
1292 void *componentConfig
1320 NvMediaIPPComponent *
1322 NvMediaIPPPipeline *ippPipeline,
1325 void *componentConfig
1345 NvMediaIPPPipeline *ippPipeline,
1346 NvMediaIPPComponent *ippComponent);
1365 NvMediaIPPPipeline *ippPipeline,
1366 NvMediaIPPComponent *srcComponent,
1367 NvMediaIPPComponent *dstComponent,
1404 NvMediaIPPComponent *component,
1405 uint32_t millisecondTimeout,
1435 NvMediaIPPComponent *component,
1466 NvMediaIPPComponent *component,
1467 uint32_t millisecondTimeout,
1484 NvMediaIPPComponent *component,
1501 NvMediaIPPComponent *ippComponent
NvMediaStatus NvMediaIPPManagerSetTimeSource(NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPGetAbsoluteGlobalTime getAbsoluteGlobalTime)
Sets the callback function for image time-stamping.
void NvMediaIPPPipelineDestroy(NvMediaIPPPipeline *ippPipeline)
Destroys an IPP pipeline object and all components created with the handle.
#define NVMEDIA_IPP_STREAM_MAX_TYPES
Maximum number of streams.
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
NvMediaStatus NvMediaIPPComponentReturnOutput(NvMediaIPPComponent *component, NvMediaIPPComponentOutput *output)
Returns output to a component.
void NvMediaIPPManager
A handle representing IPP manager object.
void NvMediaIPPPipeline
A handle representing IPP pipeline object.
Specifies the bottom embedded line whose size and base register are defined by the size and baseRegAd...
NvMediaIPPIspAttrFlags
Specifies IPP ISP attribute flags.
Indicates the second ISP output mode 3 is selected.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
NvMediaStatus NvMediaIPPPipelineApplyControlProperties(NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *controlProperties)
Applies control properties to the pipeline.
Indicates a NON-HDR ISP pipeline must be set in the ISP component.
void NvMediaIPPEventCallback(void *clientContext, NvMediaIPPComponentType componentType, NvMediaIPPComponent *ippComponent, NvMediaIPPEventType eventType, NvMediaIPPEventData *eventData)
Defines a function prototype for event callbacks.
Specifies statistics port 1.
Indicates the second ISP output mode 5 is selected.
void NvMediaIPPPlugin
Holds an opaque handle representing a Control Algorithm plugin.
NvMediaIPPComponentType
Specifies IPP component types.
Specifies event error: CSI input stream error.
Specifies event info: One frame captured.
NvMediaStatus NvMediaIPPComponentReturnOutputImgGrp(NvMediaIPPComponent *component, NvMediaIPPComponentOutputImgGrp *output)
Returns image group output to a component.
Specifies the capture component.
NvMediaISCSensorAttrType
ISC sensor attributes.
NvMediaStatus NvMediaIPPluginCreateFunc(NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaIPPPluginSupportFuncs *supportFunctions, NvMediaIPPPropertyStatic *staticProperties, void *clientContext, NvMediaIPPPlugin **pluginHandle, NvMediaIPPISPVersion ispVersion)
Creates a Plugin Control Algorithm callback.
NvMediaStatus NvMediaIPPGetAbsoluteGlobalTime(void *clientContext, NvMediaGlobalTime *timeValue)
Defines the global time callback function prototype.
NvMediaStatus(* NvMediaIPPImgGrpReadCallback)(void *clientContext, NvMediaImageGroup *imageGroup)
Defines the prototype for the file-reader image-read callback function.
#define NVMEDIA_MAX_IMAGE_GROUP_SIZE
Maximum number of images in an image group.
NvMediaIPPComponent * NvMediaIPPComponentCreateNew(NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsNew **bufferPools, void *componentConfig)
Creates an IPP component object for image group processing.
NvMediaIPPPipeline * NvMediaIPPPipelineCreate(NvMediaIPPManager *ippManager)
Allocates an IPP pipeline object.
NvMediaIPPISPVersion
Specifies the IPP ISP version.
NvMediaStatus NvMediaIPPPipelineGetStaticProperties(NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyStatic *staticProperties)
Gets static properties of the pipeline, that is, properties that do not change during the pipeline's ...
void NvMediaIPPPluginDestroyFunc(NvMediaIPPPlugin *pluginHandle)
Creates a Plugin Control Algorithm Destroy callback function.
#define NVMEDIA_IPP_MAX_EXPOSURE_SETS
Maximum numbers of exposure sets for bracketed exposure.
Specifies capture port for aggregate images.
void NvMediaIPPComponent
A handle representing an IPP component object.
uint32_t NvMediaIPPMetadataGetSize(void *metadata, NvMediaIPPMetadataType type)
Gets the size of the specified metadata type.
NvMediaStatus NvMediaIPPComponentAddToPipeline(NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponent *ippComponent)
Adds an IPP component to a pipeline.
Specifies the image output component.
NvMediaStatus NvMediaIPPPluginProcessExFunc(NvMediaIPPPlugin *pluginHandle, NvMediaIPPPluginInput *pluginInput, NvMediaIPPPluginOutputEx *pluginOutput)
Creates the Plugin Control Algorithm Process callback function for bracketed exposure.
NvMediaStatus
The set of all possible error codes.
Indicates the second ISP output mode 4 is selected.
void NvMediaIPPComponentDestroy(NvMediaIPPComponent *ippComponent)
Destroys an IPP component object.
! Maximum number of surface allocation attributes
NvMediaIPPEventType
Specifies event types.
NvMediaStatus NvMediaIPPMetadataGetAddress(void *metadata, NvMediaIPPMetadataType type, void **buffer, uint32_t *size)
Gets the address of the data of the specified metadata type.
Indicates the single ISP pipeline mode is enabled.
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...
Specifies event info: Component processed one frame.
NvMediaStatus NvMediaIPPComponentGetOutput(NvMediaIPPComponent *component, uint32_t millisecondTimeout, NvMediaIPPComponentOutput *output)
Gets output from a component.
NvMediaStatus NvMediaIPPMetadataGet(void *metadata, NvMediaIPPMetadataType type, void *buffer, uint32_t size)
Gets the data of the specified metadata type.
Specifies the file reader.
Specifies the sensor control component.
Specifies the image signal processing component.
NvMediaISPSelect
Specifies which ISP to use.
Specifies event error: Internal failure.
void NvMediaDevice
An opaque handle representing a NvMediaDevice object.
uint64_t NvMediaGlobalTime
Media global time, measured in microseconds.
Specifies the top embedded line whose size and base register are defined by the size and baseRegAddre...
Specifies event Info: End of file.
NvMediaStatus NvMediaIPPPipelineGetDefaultControlsProperties(NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *defaultControlsProperties)
Gets default control properties for the pipeline.
Specifies event warning: CSI frame discontinuity.
Specifies dynamic properties.
NvMediaStatus NvMediaIPPComponentGetOutputImgGrp(NvMediaIPPComponent *component, uint32_t millisecondTimeout, NvMediaIPPComponentOutputImgGrp *output)
Gets image group output from a component.
Specifies image information.
NvMediaStatus NvMediaIPPPipelineStop(NvMediaIPPPipeline *ippPipeline)
Stops the IPP pipeline.
NvMediaStatus NvMediaIPPGetSensorAttr(NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaISCSensorAttrType type, uint32_t size, void *attribute)
Defines a function prototype that gets a sensor attribute.
NvMediaIPPPortType
Specifies IPP port types.
Specifies the CaptureEx component.
void NvMediaIPPManagerDestroy(NvMediaIPPManager *ippManager)
Destroys an IPP manager object.
NvMediaIPPManager * NvMediaIPPManagerCreate(uint32_t versionInfo, NvMediaDevice *device)
Allocates an Image Processing Pipeline manager object.
NvMediaTimeBase
Defines clock base for NvMediaTime.
NvMediaStatus NvMediaIPPManagerSetEventCallback(NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPEventCallback eventCallback)
Sets a callback function for IPP events.
Specifies control properties.
NvMediaIPPMetadataType
Specifies metadata types.
Indicates the second ISP output mode 2 is selected.
NvMediaBitsPerPixel
Bits per pixel.
Indicates the second ISP output mode 1 is selected.
NvMediaIPPComponent * NvMediaIPPComponentCreateImgGrp(NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsImgGrp **bufferPools, void *componentConfig)
Creates an IPP component object for image group processing.
NvMediaStatus NvMediaIPPPipelineSingleCapture(NvMediaIPPPipeline *ippPipeline)
Triggers the pipeline to do a single capture.
NvMediaRawPixelOrder
Pixel order in a raw image.
Specifies the number of metadata types.
NvMediaStatus NvMediaIPPPipelineStart(NvMediaIPPPipeline *ippPipeline)
Starts the IPP pipeline.
Specifies sensor control port 1.
NvMediaStatus NvMediaIPPGetVersionInfo(NvMediaIPPVersionInfo *versionInfo)
Returns the version information for the NvMedia IPP library.
Specifies event warning: Capture frame drop.
Specifies the Control Algorithm component.
Specifies event error: I2C transmission failure.