|
NVIDIA DRIVE OS Linux SDK API Reference
|
5.1.15.0 Release For Test and Development only
|
Go to the documentation of this file.
21 #ifndef _NVMEDIA_IPP_H
22 #define _NVMEDIA_IPP_H
33 #include "nvmedia_isp_legacy.h"
64 #define NVMEDIA_IPP_VERSION_MAJOR 2u
66 #define NVMEDIA_IPP_VERSION_MINOR 18u
68 #define NVMEDIA_IPP_VERSION_INFO (((uint8_t)'N' << 24) | ((uint8_t)'V' << 16) | (NVMEDIA_IPP_VERSION_MAJOR << 8) | NVMEDIA_IPP_VERSION_MINOR)
79 #define NVMEDIA_MAX_COMPONENTS_PER_PIPELINE 32
85 #define NVMEDIA_MAX_PIPELINES_PER_MANAGER 16
130 #define NVMEDIA_IPP_STREAM_MAX_TYPES 2
339 #define NVMEDIA_IPP_MAX_KNEEPOINTS 24
425 uint32_t numProperties,
484 uint32_t versionInfo,
775 NvMediaISPStatsHistogramMeasurement *histogramStats[2];
777 NvMediaISPStatsLacMeasurementV4 *lacStats[2];
783 NvMediaISPStatsHistogramMeasurementV5 *histogramStats[2];
785 NvMediaISPStatsLacMeasurementV5 *lacStats[2];
834 NvMediaISPStatsHistogramSettingsV4 histogramSettings[2];
841 NvMediaISPStatsLacSettingsV4 lacSettings[2];
857 NvMediaISPStatsHistogramSettingsV5 histogramSettings[2];
864 NvMediaISPStatsLacSettingsV5 lacSettings[2];
879 #define NVMEDIA_IPP_MAX_EXPOSURE_SETS 8
1135 void *clientContext,
1163 #define NVMEDIA_IPP_ISP_OUTPUT2_MODE_MASK (7 << 4)
1164 #define NVMEDIA_IPP_ISP_OUTPUT2_MODE_NONE 0
1344 void *componentConfig
1377 void *componentConfig
1457 uint32_t millisecondTimeout,
1519 uint32_t millisecondTimeout,
@ NVMEDIA_IPP_PORT_IMAGE_1
Image port 1.
NvMediaStatus NvMediaIPPGetVersionInfo(NvMediaIPPVersionInfo *versionInfo)
Returns the version information for the NvMedia IPP library.
@ NVMEDIA_RAW_PIXEL_ORDER_CCCC
CCCC order.
@ NVMEDIA_IPP_EVENT_INFO_EOF
Specifies event Info: End of file.
void NvMediaIPPPlugin
Holds an opaque handle representing a Control Algorithm plugin.
@ NVMEDIA_RAW_PIXEL_ORDER_CCCR
CCCR order.
NvMediaStatus NvMediaIPPComponentReturnOutput(NvMediaIPPComponent *component, NvMediaIPPComponentOutput *output)
Returns output to a component.
void NvMediaIPPEventCallback(void *clientContext, NvMediaIPPComponentType componentType, NvMediaIPPComponent *ippComponent, NvMediaIPPEventType eventType, NvMediaIPPEventData *eventData)
Defines a function prototype for event callbacks.
NvMediaStatus NvMediaIPPManagerSetEventCallback(NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPEventCallback eventCallback)
Sets a callback function for IPP events.
NvMediaIPPIspAttrFlags
Specifies IPP ISP attribute flags.
NvMediaStatus NvMediaIPPManagerSetTimeSource(NvMediaIPPManager *ippManager, void *clientContext, NvMediaIPPGetAbsoluteGlobalTime getAbsoluteGlobalTime)
Sets the callback function for image time-stamping.
@ NVMEDIA_RAW_PIXEL_ORDER_BCCR
BCCR order.
@ NVMEDIA_IPP_EVENT_INFO_FRAME_CAPTURE
Specifies event info: One frame captured.
@ NVMEDIA_RAW_PIXEL_ORDER_RCCC
RCCC order.
@ NVMEDIA_IPP_ISP_OUTPUT2_MODE_3
Indicates the second ISP output mode 3 is selected, the output image is generated after noise reducti...
@ NVMEDIA_IPP_PORT_IMAGE_2
Specifies image port 2.
NvMediaStatus NvMediaIPPPipelineApplyControlProperties(NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *controlProperties)
Applies control properties to the pipeline.
NvMediaStatus NvMediaIPPComponentReturnOutputImgGrp(NvMediaIPPComponent *component, NvMediaIPPComponentOutputImgGrp *output)
Returns image group output to a component.
NvMediaStatus NvMediaIPPPipelineStop(NvMediaIPPPipeline *ippPipeline)
Stops the IPP pipeline.
NvMediaStatus NvMediaIPPPipelineSingleCapture(NvMediaIPPPipeline *ippPipeline)
Triggers the pipeline to do a single capture.
@ NVMEDIA_IPP_METADATA_IMAGE_INFO
Specifies image information.
uint64_t NvMediaGlobalTime
Media global time, measured in microseconds.
@ NVMEDIA_IPP_ISP_MODE_NONHDR
Indicates a NON-HDR ISP pipeline must be set in the ISP component.
NvMediaStatus NvMediaIPPGetAbsoluteGlobalTime(void *clientContext, NvMediaGlobalTime *timeValue)
Defines the global time callback function prototype.
void NvMediaIPPComponent
A handle representing an IPP component object.
@ NVMEDIA_IPP_METADATA_DYNAMIC_PROPERTIES
Specifies dynamic properties.
@ NVMEDIA_RAW_PIXEL_ORDER_CBRC
CBRC order.
@ NVMEDIA_IPP_METADATA_EMBEDDED_DATA_TOP
Specifies the top embedded line whose size and base register are defined by the size and baseRegAddre...
@ NVMEDIA_IPP_METADATA_MAX_TYPES
Specifies the number of metadata types.
@ NVMEDIA_IPP_METADATA_CONTROL_PROPERTIES
Specifies control properties.
@ NVMEDIA_IPP_EVENT_ERROR_CSI_INPUT_STREAM_FAILURE
Specifies event error: CSI input stream error.
@ NVMEDIA_RAW_PIXEL_ORDER_COUNT
Number of pixel orders.
NvMediaIPPPipeline * NvMediaIPPPipelineCreate(NvMediaIPPManager *ippManager)
Allocates an IPP pipeline object.
NvMediaStatus NvMediaIPPPipelineStart(NvMediaIPPPipeline *ippPipeline)
Starts the IPP pipeline.
void NvMediaIPPManagerDestroy(NvMediaIPPManager *ippManager)
Destroys an IPP manager object.
NvMediaIPPManager * NvMediaIPPManagerCreate(uint32_t versionInfo, NvMediaDevice *device)
Allocates an Image Processing Pipeline manager object.
struct NvMediaDevice NvMediaDevice
An opaque handle representing an NvMediaDevice object.
void NvMediaIPPPipeline
A handle representing IPP pipeline object.
@ NVMEDIA_IPP_METADATA_EMBEDDED_DATA_ISC
Specifies embedded data.
NvMediaStatus NvMediaIPPComponentAddToPipeline(NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponent *ippComponent)
Adds an IPP component to a pipeline.
NvMediaIPPComponent * NvMediaIPPComponentCreateNew(NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsNew **bufferPools, void *componentConfig)
Creates an IPP component object for image group processing.
@ NVMEDIA_IPP_EVENT_ERROR_I2C_TRANSMISSION_FAILURE
Specifies event error: I2C transmission failure.
#define NVMEDIA_MAX_IMAGE_GROUP_SIZE
Maximum number of images in an image group.
@ NVMEDIA_IPP_ISP_VERSION_5
Specifies ISP version 5.
@ NVMEDIA_RAW_PIXEL_ORDER_CRBC
CRBC order.
@ NVMEDIA_IPP_COMPONENT_ICP
Specifies the capture component.
uint32_t NvMediaIPPMetadataGetSize(void *metadata, NvMediaIPPMetadataType type)
Gets the size of the specified metadata type.
NvMediaStatus NvMediaIPPMetadataGetAddress(void *metadata, NvMediaIPPMetadataType type, void **buffer, uint32_t *size)
Gets the address of the data of the specified metadata type.
@ NVMEDIA_IPP_ISP_SINGLE_PIPELINE_MODE
Indicates the single ISP pipeline mode is enabled.
@ NVMEDIA_RAW_PIXEL_ORDER_GBRG
GBRG order.
@ NVMEDIA_IPP_ISP_OUTPUT2_MODE_4
Indicates the second ISP output mode 4 is selected, the output image is generated after color correct...
@ NVMEDIA_IPP_COMPONENT_ISP
Specifies the image signal processing component.
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.
@ NVMEDIA_IPP_PORT_IMAGE_CAPTURE_AGGREGATE
Specifies capture port for aggregate images.
@ NVMEDIA_IPP_COMPONENT_ISC
Specifies the sensor control component.
NvMediaStatus NvMediaIPPMetadataGet(void *metadata, NvMediaIPPMetadataType type, void *buffer, uint32_t size)
Gets the data of the specified metadata type.
@ NVM_SURF_ALLOC_ATTR_MAX
Specifies the maximum number of surface allocation attributes.
@ NVMEDIA_IPP_EVENT_INFO_PROCESSING_DONE
Specifies event info: Component processed one frame.
#define NVMEDIA_IPP_MAX_EXPOSURE_SETS
Maximum numbers of exposure sets for bracketed exposure.
void NvMediaIPPComponentDestroy(NvMediaIPPComponent *ippComponent)
Destroys an IPP component object.
@ NVMEDIA_IPP_PORT_STATS_1
Specifies statistics port 1.
@ NVMEDIA_IPP_ISP_OUTPUT2_MODE_1
Indicates the second ISP output mode 1 is selected, the output image is generated after Demosaicing.
void NvMediaIPPPluginDestroyFunc(NvMediaIPPPlugin *pluginHandle)
Creates a Plugin Control Algorithm Destroy callback function.
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
@ NVMEDIA_IPP_COMPONENT_OUTPUT
Specifies the image output component.
NvMediaStatus NvMediaIPPPipelineGetDefaultControlsProperties(NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyControls *defaultControlsProperties)
Gets default control properties for the pipeline.
@ NVMEDIA_IPP_COMPONENT_ICP_EX
Specifies the CaptureEx component.
@ NVMEDIA_IPP_METADATA_EMBEDDED_DATA_BOTTOM
Specifies the bottom embedded line whose size and base register are defined by the size and baseRegAd...
NvMediaStatus NvMediaIPPComponentGetOutput(NvMediaIPPComponent *component, uint32_t millisecondTimeout, NvMediaIPPComponentOutput *output)
Gets output from a component.
NvMediaStatus NvMediaIPPPluginProcessExFunc(NvMediaIPPPlugin *pluginHandle, NvMediaIPPPluginInput *pluginInput, NvMediaIPPPluginOutputEx *pluginOutput)
Creates the Plugin Control Algorithm Process callback function for bracketed exposure.
@ NVMEDIA_RAW_PIXEL_ORDER_GRBG
GRBG order.
NvMediaStatus
Defines all possible error codes.
NvMediaIPPComponentType
Specifies IPP component types.
NvMediaRawPixelOrder
Pixel order in a raw image.
NvMediaStatus NvMediaIPPluginCreateFunc(NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaIPPPluginSupportFuncs *supportFunctions, NvMediaIPPPropertyStatic *staticProperties, void *clientContext, NvMediaIPPPlugin **pluginHandle, NvMediaIPPISPVersion ispVersion)
Creates a Plugin Control Algorithm callback.
@ NVMEDIA_RAW_PIXEL_ORDER_RGGB
RGGB order.
@ NVMEDIA_IPP_ISP_OUTPUT2_MODE_2
Indicates the second ISP output mode 2 is selected, the output image is generated after Demosaicing a...
#define NVMEDIA_IPP_STREAM_MAX_TYPES
Maximum number of streams.
NvMediaIPPPortType
Specifies IPP port types.
NvMediaStatus(* NvMediaIPPImgGrpReadCallback)(void *clientContext, NvMediaImageGroup *imageGroup)
Defines the prototype for the file-reader image-read callback function.
NvMediaIPPMetadataType
Specifies metadata types.
@ NVMEDIA_IPP_EVENT_WARNING_CSI_FRAME_DISCONTINUITY
Specifies event warning: CSI frame discontinuity.
@ NVMEDIA_RAW_PIXEL_ORDER_RCCB
RCCB order.
@ NVMEDIA_IPP_ISP_OUTPUT2_MODE_5
Indicates the second ISP output mode 5 is selected, the output image is generated after local tone ma...
NvMediaIPPISPVersion
Specifies the IPP ISP version.
@ NVMEDIA_IPP_COMPONENT_FILE_READER
Specifies the file reader.
NvMediaBitsPerPixel
Specifies bits per pixel.
@ NVMEDIA_RAW_PIXEL_ORDER_BGGR
BGGR order.
NvMediaIPPComponent * NvMediaIPPComponentCreateImgGrp(NvMediaIPPPipeline *ippPipeline, NvMediaIPPComponentType componentType, NvMediaIPPBufferPoolParamsImgGrp **bufferPools, void *componentConfig)
Creates an IPP component object for image group processing.
NvMediaStatus NvMediaIPPGetSensorAttr(NvMediaIPPComponent *parentControlAlgorithmHandle, NvMediaISCSensorAttrType type, uint32_t size, void *attribute)
Defines a function prototype that gets a sensor attribute.
NvMediaStatus NvMediaIPPComponentGetOutputImgGrp(NvMediaIPPComponent *component, uint32_t millisecondTimeout, NvMediaIPPComponentOutputImgGrp *output)
Gets image group output from a component.
@ NVMEDIA_RAW_PIXEL_ORDER_CCRC
CCRC order.
@ NVMEDIA_IPP_ISP_VERSION_4
Specifies ISP version 4.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
NvMediaIPPEventType
Specifies event types.
NvMediaStatus NvMediaIPPPipelineGetStaticProperties(NvMediaIPPPipeline *ippPipeline, NvMediaIPPPropertyStatic *staticProperties)
Gets static properties of the pipeline, that is, properties that do not change during the pipeline's ...
@ NVMEDIA_IPP_EVENT_WARNING_CAPTURE_FRAME_DROP
Specifies event warning: Capture frame drop.
@ NVMEDIA_IPP_PORT_SENSOR_CONTROL_1
Specifies sensor control port 1.
void NvMediaIPPManager
A handle representing IPP manager object.
@ NVMEDIA_IPP_COMPONENT_ALG
Specifies the Control Algorithm component.
@ NVMEDIA_IPP_EVENT_ERROR_INTERNAL_FAILURE
Specifies event error: Internal failure.
@ NVMEDIA_RAW_PIXEL_ORDER_CRCC
CRCC order.
void NvMediaIPPPipelineDestroy(NvMediaIPPPipeline *ippPipeline)
Destroys an IPP pipeline object and all components created with the handle.
NvMediaTimeBase
Defines clock base for NvMediaTime.