|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
33 #ifndef DW_IMAGE_IMAGE_H_
34 #define DW_IMAGE_IMAGE_H_
36 #include <dw/core/base/Config.h>
37 #include <dw/core/base/Exports.h>
38 #include <dw/core/base/Types.h>
39 #include <dw/core/base/Status.h>
40 #include <dw/core/context/Context.h>
42 #if (defined(__cplusplus) && (defined(LINUX) || defined(VIBRANTE)))
43 #pragma GCC diagnostic push
44 #pragma GCC diagnostic ignored "-Wold-style-cast"
47 #if (defined(__cplusplus) && (defined(LINUX) || defined(VIBRANTE)))
48 #pragma GCC diagnostic pop
55 #ifdef DW_SDK_BUILD_PVA
72 #define DW_MAX_IMAGE_PLANES 3
73 #define DW_ISP_MAX_COLOR_COMPONENT (4U)
74 #define DW_MAX_NUM_TEMPERATURES 4
76 #define DW_IMAGE_NUM_SPLINE_COMPONENTS 18U
264 #define DW_DEVBLK_CDI_MAX_EXPOSURES 4
288 #define DW_LUMINANCE_CALIB_MATRIX_SIZE 4
330 float64_t luminanceCalibrationFactor
DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in luminanceCalibrationMatrix in this struct");
425 DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in sensorStatistics in this struct");
429 DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in sensorStatistics in this struct");
433 DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in sensorStatistics in this struct");
437 DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in sensorStatistics in this struct");
440 float32_t wbGain[4]
DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in sensorStatistics in this struct");
444 DW_DEPRECATED(
"This structure variable is deprecated and will be removed in the next major release. Please use the new variable in rawProperties in this struct");
866 size_t*
const planeCount,
871 #ifdef DW_SDK_BUILD_PVA
938 #endif // DW_IMAGE_IMAGE_H_
@ DW_IMAGE_FLAGS_SENSOR_TEMPERATURE
Image contains valid sensor temperature info.
struct dwImageMetaData dwImageMetaData
Additional meta information stored with each image.
@ DW_IMAGE_FORMAT_RG_UINT8
Not backed by NvSci.
dwImageMemoryType
Specifies memory type layout.
struct dwImageDataLines dwImageDataLines
Container for data lines from the camera.
uint32_t rawBitDataType
Describes the raw pixel depth, specified like the above format descriptor by 1 - NVM_SURF_ATTR_BITS_P...
#define DW_ISP_MAX_COLOR_COMPONENT
float32_t conversionGain
Specifies the conversion Gain (scalar value)
struct dwImageSensorStatistics dwImageSensorStatistics
Sensor statistics associated with the image.
@ DW_IMAGE_FORMAT_RGBA_FLOAT16
dwTime_t eofTimestampUs
Specifies the time, in microseconds, when the last row of the image was fully exposed,...
@ DW_IMAGE_FORMAT_RGBX_FLOAT16
#define DW_MAX_IMAGE_PLANES
@ DW_IMAGE_FLAGS_SYSMEM
By default CUDA images are created in vidmem on DGPU, this flag forces CUDA image to sysmem Note manu...
DW_API_PUBLIC dwStatus dwImage_getProperties(dwImageProperties *const properties, dwConstImageHandle_t const image)
Retrieves the properties of a dwImageHandle_t.
float32_t autoAwbGain[DW_ISP_MAX_COLOR_COMPONENT]
Holds the total white balance gains, which includes both sensor channel and ISP gains....
size_t imageCount
Number of images in the pool.
dwTime_t timestamp_us
Specifies the time in microseconds from system time epoch, when the image content was updated (ie EOF...
dwImageMemoryType memoryLayout
Memory layout type.
@ DW_IMAGE_FORMAT_RCC_FLOAT32_PLANAR
Not backed by NvSci.
@ DW_IMAGE_FORMAT_VUYX_UINT8
DW_API_PUBLIC dwStatus dwImage_getMetaData(dwImageMetaData *const metaData, dwConstImageHandle_t const image)
Retrieves the metadata of a dwImageHandle_t.
uint8_t * bottomLineData
pointer to the beginning of bottom lines
dwImageFormat
Format of the image represented as DW_IMAGE_FORMAT_COLORSPACE(_PIXELTYPE)(_PIXELORDER)
DW_API_PUBLIC dwStatus dwImage_getCUDA(dwImageCUDA **const imageCUDA, dwImageHandle_t const image)
Retrieves the dwImageCUDA of a dwImageHandle_t.
float64_t luminanceCalibrationMatrix[DW_LUMINANCE_CALIB_MATRIX_SIZE][DW_LUMINANCE_CALIB_MATRIX_SIZE]
Holds the luminance calibration matrix for the sensor.
float32_t wbGain[4]
Specifies the sensor white balance gains : R(0) G1(1) G2(2) B(3) (scalar value)
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
@ DW_IMAGE_FORMAT_YUV420_UINT16_SEMIPLANAR
dwImageProperties prop
Defines the properties of the image.
@ DW_IMAGE_FORMAT_R_FLOAT16
float64_t luminanceCalibrationFactor DW_DEPRECATED("This structure variable is deprecated and will be removed in the next major release. Please use the new variable in luminanceCalibrationMatrix in this struct")
(note: parameter to be deprecated starting 6.0.7.0) Holds a luminance calibration factor ( K / f^2 ) ...
DW_API_PUBLIC dwStatus dwImage_copyConvertAsync(dwImageHandle_t const output, dwConstImageHandle_t const input, cudaStream_t const stream, dwContextHandle_t const context)
Converts CUDA or NvMedia images by copying into an output image, following the properties in the outp...
@ DW_IMAGE_FORMAT_UNKNOWN
Normal formats.
Defines a two-element unsigned-integer vector.
uint8_t numTemperatures
Holds the number of active temperatures.
@ DW_IMAGE_FLAGS_TOTAL_WHITE_BALANCE_GAIN
Holds the total white balance gains, which includes both sensor channel and ISP gains.
@ DW_IMAGE_FORMAT_YUV422_UINT8_SEMIPLANAR
dwExposureDuration exposureDurationUs
Specifies the exposure duration (microsecond)
@ DW_IMAGE_FORMAT_YUV_UINT16_PLANAR
Defines a CPU-based image.
DW_API_PUBLIC dwStatus dwImage_copyConvert(dwImageHandle_t const output, dwConstImageHandle_t const input, dwContextHandle_t const context)
Converts CUDA or NvMedia images by copying into an output image, following the properties in the outp...
dwImageProperties prop
Specifies the properites of the image.
DW_API_PUBLIC dwStatus dwImage_setMetaData(dwImageMetaData const *const metaData, dwImageHandle_t const image)
Sets the metadata of a dwImageHandle_t.
dwImageType type
Specifies the type of image.
@ DW_IMAGE_FORMAT_RGBA_UINT8
struct dwImageAllocationAttrList * dwImageAllocationAttrListHandle_t
dwImage Allocation Attributes List
const WFDPipeline const WFDSource const WFDTransition const WFDRect *const const WFDuint64 timestamp
@ DW_IMAGE_FORMAT_YUV420_UINT8_PLANAR
YUV encoding formats from camera.
DW_API_PUBLIC dwStatus dwImage_create(dwImageHandle_t *const image, dwImageProperties properties, dwContextHandle_t const ctx)
Creates and allocates resources for a dwImageHandle_t based on the properties passed as input.
struct dwImageSplineControlPoint dwImageSplineControlPoint
struct NvSciBufObjRefRec * NvSciBufObj
struct dwImageCPU dwImageCPU
Defines a CPU-based image.
@ DW_IMAGE_FORMAT_R_UINT16
@ DW_IMAGE_FLAGS_HAS_RAW_ORDER_DESCRIPTOR
Image contains details of raw order descriptor.
@ DW_IMAGE_FORMAT_R_INT16
float32_t sceneDynamicRange
Holds the scene dynamic range. (scalar value)
@ DW_IMAGE_FORMAT_YUV_UINT8_PLANAR
DW_API_PUBLIC dwStatus dwImage_createAndBindCUDAArray(dwImageHandle_t *const image, dwImageProperties properties, cudaArray_t const buffers[DW_MAX_IMAGE_PLANES], size_t const bufferCount, dwContextHandle_t const ctx)
Creates a dwImageHandle_t based on the properties passed and binds a cudaArray_t to it.
struct dwImageProperties dwImageProperties
Defines the properties of the image.
float32_t alpha
Holds power factor for isp statistics compression. Valid range: [0.5, 1.0] (scalar value)
void * data[DW_MAX_IMAGE_PLANES]
Specifies the raw image data.
@ DW_IMAGE_FORMAT_RCB_FLOAT32_PLANAR
Not backed by NvSci.
@ DW_IMAGE_FORMAT_RGB_FLOAT16
Not backed by NvSci.
float32_t rawImageMidTone
Holds the midtone value of the raw image. (scalar value)
struct dwImageObject const * dwConstImageHandle_t
dwImageMetaData meta
additional meta information stored with the image. Not all images might provide it
@ DW_IMAGE_FORMAT_R_UINT8
@ DW_IMAGE_FORMAT_RCB_FLOAT16_PLANAR
Not backed by NvSci.
DW_API_PUBLIC dwStatus dwImage_getNvMedia(dwImageNvMedia **imageNvMedia, dwImageHandle_t image)
Retrieves the dwImageNvMedia of a dwImageHandle_t.
@ DW_IMAGE_FORMAT_RGB_UINT8_PLANAR
Not backed by NvSci.
@ DW_IMAGE_MEMORY_TYPE_DEFAULT
the default memory layout for a given image type, can be either pitch or block
@ DW_IMAGE_MEMORY_TYPE_PITCH
pitch linear memory layout
DW_API_PUBLIC dwStatus dwImage_getTimestamp(dwTime_t *const timestamp, dwConstImageHandle_t const image)
Retrieves the timestamp of acquisition of a dwImageHandle_t.
float32_t dataCelsius[DW_MAX_NUM_TEMPERATURES]
Holds the values of active sensor temperatures in degrees Celsius.
@ DW_IMAGE_FORMAT_RGB_UINT16_PLANAR
uint32_t width
Specifies the width of the image in pixels.
@ DW_IMAGE_FORMAT_RAW_UINT16
RAW for images directly from sensory.
DW_API_PUBLIC dwStatus dwImage_getDataLayout(size_t *const elementSize, size_t *const planeCount, uint32_t planeChannelCount[DW_MAX_IMAGE_PLANES], dwVector2ui planeSize[DW_MAX_IMAGE_PLANES], dwImageProperties const *const prop)
Returns the expected data layout of an image given its properties.
#define DW_MAX_NUM_TEMPERATURES
should be the same as the DEVBLK_CDI_MAX_NUM_TEMPERATURES in NvSIPLCDICommon.h of NvSIPL
DW_API_PUBLIC dwStatus dwImage_getNvSciBuf(NvSciBufObj *nvSciBufObj, dwImageHandle_t image)
Retrieve the NvSciBufObj backing the image allocation.
struct dwExposureDuration dwExposureDuration
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
float float32_t
Specifies POD types.
float32_t x
Holds X coordinate of the control point.
@ DW_IMAGE_FORMAT_RGB_FLOAT32
Not backed by NvSci.
@ DW_IMAGE_FORMAT_RGBA_UINT16
@ DW_IMAGE_FORMAT_RG_INT16
bool nightMode
Holds day-night mode (true: Night mode, false: Day mode)
@ DW_IMAGE_FORMAT_RGB_UINT16
Not backed by NvSci.
float32_t data[DW_DEVBLK_CDI_MAX_EXPOSURES]
Specifies the exposure duration (microsecond) Each row of the image is captured using DW_DEVBLK_CDI_M...
DW_API_PUBLIC dwStatus dwImage_destroy(dwImageHandle_t const image)
Destroys the image handle and frees any memory created by dwImage_create().
uint8_t * topLineData
pointer to the beginning of top lines
@ DW_IMAGE_FORMAT_RG_FLOAT32
Not backed by NvSci.
size_t pitch[DW_MAX_IMAGE_PLANES]
Defines the pitch of each plane in bytes.
@ DW_IMAGE_FORMAT_YUV422_UINT8_PACKED
float32_t analogGain
Specifies the analog Gain (scalar value)
DW_API_PUBLIC dwStatus dwImage_getPixelType(dwTrivialDataType *const type, dwImageFormat const format)
Retrieves dwTrivialDataType associated with a specific format.
dwTime_t timestamp_us
Specifies the time in microseconds from system time epoch, when the image content was updated (ie EOF...
float32_t sceneBrightness
Holds the scene brightness level. (scalar value)
struct dwImageCUDA dwImageCUDA
Defines a CUDA image.
dwTime_t subExposureStartTimestampUs[DW_DEVBLK_CDI_MAX_EXPOSURES]
Sub exposure start timestamps in microseconds.
float32_t exposureTime
Specifies the exposure time (microsecond) This variable is deprecated and will be removed in the next...
@ DW_IMAGE_FLAGS_SENSOR_SETTINGS
Image contains valid sensor settings information, such as exposure, gain, whitebalance,...
dwTime_t tscEofTimestampUs
Specifies the TSC time, in microseconds, when the last row of the image was fully exposed in TSC time...
DW_API_PUBLIC dwStatus dwImage_getCPU(dwImageCPU **const imageCPU, dwImageHandle_t const image)
Retrieves the dwImageCPU of a dwImageHandle_t.
uint32_t rawFormatDescriptor
Describes the raw order and used when explicitly creating a DW_IMAGE_NVMEDIA if DW_IMAGE_FLAGS_HAS_RA...
DW_API_PUBLIC dwStatus dwImage_createAndBindBuffer(dwImageHandle_t *const image, dwImageProperties properties, void *const buffersIn[DW_MAX_IMAGE_PLANES], size_t const pitches[DW_MAX_IMAGE_PLANES], size_t const bufferCount, dwContextHandle_t const ctx)
Creates a dwImageHandle_t based on the properties passed and binds a memory buffer provided by the ap...
dwImageHandle_t * images
Pointer to image handles.
@ DW_IMAGE_FORMAT_RAW_FLOAT16
for debayered images
DW_API_PUBLIC dwStatus dwImage_getPlaneCount(size_t *const planeCount, dwImageFormat const format)
Retrieves number of planes of the image format.
uint32_t msbPosition
Specifies the msb of the pixel data.
#define DW_DEVBLK_CDI_MAX_EXPOSURES
@ DW_IMAGE_FORMAT_R_UINT32
@ DW_IMAGE_FLAGS_LUMINANCE_CALIBRATED
Holds a flag to indicating if the luminance is calibrated.
Defines the properties of the image.
@ DW_IMAGE_FORMAT_YUV420_UINT8_SEMIPLANAR
Container for data lines from the camera.
float32_t brightnessKey
Holds the scene brightness key. (scalar value)
dwImageMetaDataFlags
Flags defining the meta information available in an image.
struct dwContextObject * dwContextHandle_t
Context handle.
struct dwImageTimestamps dwImageTimestamps
Image timestamps.
@ DW_IMAGE_MEMORY_TYPE_BLOCK
block memory layout
@ DW_IMAGE_FORMAT_RCC_FLOAT16_PLANAR
Not backed by NvSci.
float64_t slope
Holds slope of the spline curve at the control point.
struct dwImageNvMedia dwImageNvMedia
Defines an NvMedia image.
@ DW_IMAGE_FORMAT_RGB_FLOAT32_PLANAR
Not backed by NvSci.
NVIDIA Software Communications Interface (SCI) : NvSciBuf
dwTime_t moeTimestampUs
This time indicates the middle of the image frame exposure.
struct dwImageObject * dwImageHandle_t
dwImageType
Specifies the image type.
dwImageFormat format
Specifies the format of the image.
@ DW_IMAGE_FORMAT_VUYX_UINT16
struct dwImageRawProperties dwImageRawProperties
dwStatus
Status definition.
Specifies a pool of images.
@ DW_IMAGE_FLAGS_NVSCI_SURF_ATTR
Image contains NvSci surface based attributes.
@ DW_IMAGE_FORMAT_RGB_FLOAT16_PLANAR
Not backed by NvSci.
dwVector2ui embeddedDataSize
this defines the number of rows before and after the image
@ DW_IMAGE_FLAGS_CONTROLINFO
Holds a flag to determine whether or not the control info is valid. If no ISP processing occurs this ...
DW_API_PUBLIC dwStatus dwImage_setTimestamp(dwTime_t const timestamp, dwImageHandle_t const image)
Sets the timestamp of a dwImageHandle_t.
size_t pitch[DW_MAX_IMAGE_PLANES]
Specifies the pitch of the image in bytes.
dwTime_t sofTimestampUs
Rolling shutter timestamp fields: startOfFrameTimestampUs and endOfFrameTimestampUs can be used to co...
@ DW_IMAGE_FLAGS_MAPS_CUPVA
Image maps pointer to CUPVA.
@ DW_IMAGE_FLAGS_EMBEDDED_LINES
If an image was extracted from a camera, additional embedded data lines might be provided The data li...
struct dwImagePool dwImagePool
Specifies a pool of images.
bool rawFormatRJ
Describes if raw order alignment is left justified(msb alligned) or right justified (lsb allignment) ...
@ DW_IMAGE_FLAGS_FRAME_SEQUENCE_NUMBER
Image contains valid frame sequence number.
uint32_t height
Specifies the height of the image in pixels.
dwSyncType
Enum representing a sync type.
float32_t digitalGain
Specifies the digital Gain (scalar value)
DW_API_PUBLIC dwStatus dwImage_createAndBindNvSciBuf(dwImageHandle_t *const image, dwImageProperties const *properties, NvSciBufObj nvscibufObj, dwContextHandle_t const ctx)
Creates a dwImageHandle_t based on the properties passed and binds a memory buffer provided by the ap...
uint32_t bytesPerLine
Number of bytes for each line.
float32_t y
Holds Y coordinate of the control point.
#define DW_IMAGE_NUM_SPLINE_COMPONENTS
float32_t cct
Holds the correlated color temperature. (scalar value)
@ DW_IMAGE_FORMAT_R_FLOAT32
Not backed by NvSci.
#define DW_LUMINANCE_CALIB_MATRIX_SIZE
Defines the length(M) of a MxM luminance calibration matrix.
void * dptr[DW_MAX_IMAGE_PLANES]
Holds the pointer to the image planes.
Sensor statistics associated with the image.
struct dwSensorTemperature dwSensorTemperature
@ DW_IMAGE_FORMAT_RGB_UINT8
Not backed by NvSci.
@ DW_IMAGE_FLAGS_GTM_SPLINE_INFO
Image contains valid global tone map block.
@ DW_IMAGE_FORMAT_RGBA_FLOAT32
Not backed by NvSci.
dwSensorTemperature sensorTemperature
Holds the values of active sensor temperatures in degrees Celsius.
@ DW_IMAGE_GL
This type is provided here for completeness only.
cudaArray_t array[DW_MAX_IMAGE_PLANES]
Holds the CUDA image plane data.