16 #ifndef _NVMEDIA_IPP_H
17 #define _NVMEDIA_IPP_H
28 #include "nvmedia_isp_legacy.h"
54 #define NVMEDIA_IPP_VERSION_MAJOR 2u
56 #define NVMEDIA_IPP_VERSION_MINOR 18u
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 16
120 #define NVMEDIA_IPP_STREAM_MAX_TYPES 2
329 #define NVMEDIA_IPP_MAX_KNEEPOINTS 24
414 NvMediaIPPPipeline *ippPipeline,
415 uint32_t numProperties,
474 uint32_t versionInfo,
485 NvMediaIPPManager *ippManager
526 NvMediaIPPManager *ippManager,
546 NvMediaIPPManager *ippManager
558 NvMediaIPPPipeline *ippPipeline
572 NvMediaIPPPipeline *ippPipeline
626 NvMediaIPPComponent *ippComponent,
651 NvMediaIPPManager *ippManager,
673 NvMediaIPPPipeline *ippPipeline
692 NvMediaIPPPipeline *ippPipeline
706 NvMediaIPPPipeline *ippPipeline,
722 NvMediaIPPPipeline *ippPipeline,
738 NvMediaIPPPipeline *ippPipeline,
765 NvMediaISPStatsHistogramMeasurement *histogramStats[2];
767 NvMediaISPStatsLacMeasurementV4 *lacStats[2];
773 NvMediaISPStatsHistogramMeasurementV5 *histogramStats[2];
775 NvMediaISPStatsLacMeasurementV5 *lacStats[2];
824 NvMediaISPStatsHistogramSettingsV4 histogramSettings[2];
831 NvMediaISPStatsLacSettingsV4 lacSettings[2];
847 NvMediaISPStatsHistogramSettingsV5 histogramSettings[2];
854 NvMediaISPStatsLacSettingsV5 lacSettings[2];
869 #define NVMEDIA_IPP_MAX_EXPOSURE_SETS 8
922 NvMediaIPPComponent *parentControlAlgorithmHandle,
965 NvMediaIPPComponent *parentControlAlgorithmHandle,
969 NvMediaIPPPlugin **pluginHandle,
981 NvMediaIPPPlugin *pluginHandle);
1000 NvMediaIPPPlugin *pluginHandle,
1125 void *clientContext,
1153 #define NVMEDIA_IPP_ISP_OUTPUT2_MODE_MASK (7 << 4)
1154 #define NVMEDIA_IPP_ISP_OUTPUT2_MODE_NONE 0
1324 NvMediaIPPComponent *
1326 NvMediaIPPPipeline *ippPipeline,
1329 void *componentConfig
1357 NvMediaIPPComponent *
1359 NvMediaIPPPipeline *ippPipeline,
1362 void *componentConfig
1382 NvMediaIPPPipeline *ippPipeline,
1383 NvMediaIPPComponent *ippComponent);
1402 NvMediaIPPPipeline *ippPipeline,
1403 NvMediaIPPComponent *srcComponent,
1404 NvMediaIPPComponent *dstComponent,
1441 NvMediaIPPComponent *component,
1442 uint32_t millisecondTimeout,
1472 NvMediaIPPComponent *component,
1503 NvMediaIPPComponent *component,
1504 uint32_t millisecondTimeout,
1521 NvMediaIPPComponent *component,
1538 NvMediaIPPComponent *ippComponent
NvMediaStatus NvMediaIPPManagerSetTimeSource(NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPGetAbsoluteGlobalTime getAbsoluteGlobalTime)
Sets the callback function for image time-stamping.
NvMediaBitsPerPixel
Specifies bits per pixel.
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.
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.
struct NvMediaDevice NvMediaDevice
An opaque handle representing an NvMediaDevice object.
#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
Defines 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.
Specifies event error: Internal failure.
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.
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.
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.
NvMediaRawPixelOrder
Pixel order in a raw image.