51 #ifndef DW_SENSORS_CAMERA_CAMERA_H_ 52 #define DW_SENSORS_CAMERA_CAMERA_H_ 59 #include <nvscisync.h> 167 typedef enum dwCameraSIPLInterfaceProviderType {
230 #define DW_CAMERA_MAX_DEVICE_GPIOS 8U 260 #define DW_CAMERA_MAX_CAMERAMODULES_PER_BLOCK 4U 365 dwCameraFrameHandle_t
const frame);
391 dwCameraFrameHandle_t
const frame);
503 uint32_t
const modeIdx,
666 DW_DEPRECATED(
"This API is deprecated and will be removed in the next major release, please use dwSensor_stop/dwSensor_reset per use case")
693 #endif // DW_SENSORS_CAMERA_CAMERA_H_ NVIDIA DriveWorks API: Core Types
uint8_t uLinkMask
Holds the device block link mask.
uint32_t numGpioIdxs
Holds the number of GPIO indices in the array.
dwCameraRawFormat rawFormat
bool isRemoteError
Set to true if remote (serializer) error detected, valid only for device block event.
DW_API_PUBLIC dwStatus dwSensorCamera_readFrame(dwCameraFrameHandle_t *const frameHandle, dwTime_t const timeoutUs, dwSensorHandle_t const sensor)
Reads a frame handle from the camera sensor.
DW_API_PUBLIC dwStatus dwSensorCamera_getCUDAStream(cudaStream_t *const stream, dwSensorHandle_t const sensor)
Gets the CUDA stream used.
Pipeline event, indicates a discontinuity was detected in parsed embedded data frame sequence number...
float float32_t
Specifies POD types.
struct dwImageObject * dwImageHandle_t
Struct of the detailed error info from SIPL.
dwCameraExposureControl
Enum of exposure control types.
DW_API_PUBLIC dwStatus dwSensorCamera_appendAllocationAttributes(dwImageProperties *const imgProps, dwCameraOutputType const outputType, dwSensorHandle_t const sensor)
Append the allocation attribute such that images allocated by the application and given to the camera...
DW_API_PUBLIC dwStatus dwSensorCamera_getImage(dwImageHandle_t *const image, dwCameraOutputType const type, dwCameraFrameHandle_t const frame)
Gets the output image/s image in a format specified by the output type.
DW_API_PUBLIC dwStatus dwSensorCamera_disableLink(dwSensorHandle_t const sensor)
Disable the camera link This method should only be called after dwSensor_start() and before dwSensor_...
Device block event, indicates a deserializer failure.
size_t sizeWritten
Holds size of error written to the buffer, filled by driver.
dwCameraSIPLNotificationData eNotifyType
Holds the notification event type.
Pipeline event, indicates auto control processing is finished.
DW_API_PUBLIC dwStatus dwSensorCamera_returnFrame(dwCameraFrameHandle_t *const frameHandle)
Returns a frame to the camera after it has been consumed.
Pipeline and device block event, indicates an unexpected internal failure.
Device block event, indicates a sensor failure.
DW_API_PUBLIC dwStatus dwSensorCamera_getImageAsync(dwImageHandle_t *const image, dwCameraOutputType const type, dwCameraFrameHandle_t const frame)
Gets the output image/s image in a format specified by the output type.
Pipeline event, indicates ICP bad input stream.
dwCameraSIPLEErrorDetails deserializerErrorInfo
Error info for deserializer, valid only for device block event.
Pipeline event, indicates CDI processing is finished.
Specifies a pool of images.
uint8_t linkErrorMask
Store link mask for link error state, valid only for device block event (1 in index position indicate...
Pipeline event, indicates CDI set sensor control failure.
uint32_t numCameraModules
Number of the camera modules, valid only for device block event.
Exposure control using user's custom callback.
Pipeline event, indicates ICP processing is finished.
Pipeline event, indicates occurrence of timeout while capturing.
Default exposure control.
NVIDIA DriveWorks API: Image Conversion and Streaming Functionality
DW_API_PUBLIC dwStatus dwSensorCamera_getNumSupportedCaptureModes(uint32_t *const numModes, dwSensorHandle_t const sensor)
Gets number of supported capture modes.
dwCameraType
Enum of available camera sensors.
DW_API_PUBLIC dwStatus dwSensorCamera_getImageProperties(dwImageProperties *const imageProperties, dwCameraOutputType const outputType, dwSensorHandle_t const sensor)
Gets information about the image properties for a given 'dwCameraImageOutputType'.
void(* dwCameraCallback)(dwCameraSIPLNotification *notification, dwSensorHandle_t sensor)
Function type of the camera error event handling.
DW_API_PUBLIC dwStatus dwSensorCamera_setEventCallback(dwCameraCallback blkCallback, dwCameraCallback lineCallback, dwSensorHandle_t sensor)
Set the Camera Error Handling callbacks.
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
dwStatus
Status definition.
NVIDIA DriveWorks API: Sensors
Pipeline event, indicates ISP processing failure.
other YUV processed outputs (see devguide)
Device block event, indicates a serializer failure.
uint32_t uIndex
Holds the ID of each camera sensor.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
DW_API_PUBLIC dwStatus dwSensorCamera_setSyncObject(NvSciSyncObj syncObj, dwCameraOutputType outputType, dwSensorHandle_t sensor)
Set the sync obj to which the camera pipeline will signal EOF fences.
for processed images RGBA image supported in all processed use cases
dwCameraFOV
Enum of available FOV in degrees for camera lenses.
simple yuv420 semiplanar output, supported in most use cases (see doc)
DW_API_PUBLIC dwStatus dwSensorCamera_getTimestamp(dwTime_t *const timestamp, dwCameraFrameHandle_t const frameHandle)
Gets the timestamp of the current camera frame.
Notification Data from SIPL.
#define DW_DEPRECATED(msg)
uint8_t const * errorBuffer
Pointer to buffer which is filled by driver with error information.
DW_API_PUBLIC dwStatus dwSensor_reset(dwSensorHandle_t const sensor)
Resets the sensor.
DW_API_PUBLIC dwStatus dwSensorCamera_getNvMediaIPPManager(NvMediaIPPManager **const manager, dwSensorHandle_t const sensor)
Gets the NvMediaIPPManager used for GMSL camera IPP setup and event callback.
Pipeline event, indicates auto control processing failure.
uint64_t frameCaptureTSC
Holds the TSC timestamp of the frame capture.
Pipeline event, indicates embedded data parsing failure.
Pipeline event, indicates pipeline was forced to drop a frame due to a slow consumer or system issues...
DW_API_PUBLIC dwStatus dwSensorCamera_getEOFFence(NvSciSyncFence *syncFence, dwCameraOutputType outputType, dwCameraFrameHandle_t const frameHandle)
Get EOF fence of the current camera frame.
Defines a two-element unsigned-integer vector.
simple yuv420 output, supported in most use cases (see doc)
DW_API_PUBLIC dwStatus dwSensorCamera_fillSyncAttributes(NvSciSyncAttrList syncAttrList, dwCameraOutputType outputType, dwSensorHandle_t sensor)
Fill the sync attributes for the camera pipeline to signal EOF fences.
Unknown exposure control.
#define DW_CAMERA_MAX_DEVICE_GPIOS
Indicates the maximum number of gpio indices.
struct dwCameraFrame * dwCameraFrameHandle_t
Handle to captured frame.
#define DW_CAMERA_MAX_CAMERAMODULES_PER_BLOCK
Indicates the maximum number of camera modules per device block.
DW_API_PUBLIC dwStatus dwSensorCamera_readEEPROM(uint32_t const paramId, void *const buffer, uint32_t const size, dwSensorHandle_t const sensor)
Read data associated with a parameter stored on the EEPROM device and write to the provided buffer...
dwCameraNotificationData data
NotificationData from SIPL, pipeline & device block event.
DW_API_PUBLIC dwStatus dwSensor_start(dwSensorHandle_t const sensor)
Starts the sensor previously successfully created with 'dwSAL_createSensor()'.
DW_API_PUBLIC dwStatus dwSensorCamera_getSIPLInterfaceProvider(void **const interfaceProvider, dwSensorHandle_t const sensor, dwSIPLCameraInterfaceProviderType const type)
Gets SIPL Interface provider for a custom camera sensor.
DW_API_PUBLIC dwStatus dwSensorCamera_getSensorProperties(dwCameraProperties *const properties, dwSensorHandle_t const sensor)
Gets information about the camera sensor.
Pipeline event, indicates ISP processing is finished.
dwCameraOutputType
Output types supported by the camera.
DW_API_PUBLIC dwStatus dwSensorCamera_enableLink(dwSensorHandle_t const sensor, bool const resetModule)
Enable the camera link This method enables a given link and, if reset is asserted, reconfigures the camera module to reestablish the link.
other YUV processed outputs (see devguide)
other YUV processed outputs (see devguide)
Device block event, indicates a deserializer link error. Deprecated in the future.
dwSIPLCameraInterfaceProviderType
Enum of available SIPL interface provider types.
dwCameraExposureControl exposure
dwCameraRawFormat
Raw encoding formats pixel-order.
DW_API_PUBLIC dwStatus dwSensorCamera_getSupportedCaptureMode(dwCameraProperties *const captureMode, uint32_t const modeIdx, dwSensorHandle_t const sensor)
Gets capture modes by specified index.
dwCameraSIPLNotificationData
Enum of available SIPL event notification type (Copy from nvsipl::NvSIPLPipelineNotifier::Notificatio...
Pipeline event, indicates ICP capture failure.
dwStatus dwSensorCamera_setImagePool(dwImagePool imagePool, dwSensorHandle_t const sensor)
Sets a pool of image to be used as output by the camera layer.
DW_API_PUBLIC dwStatus dwSensorCamera_setCUDAStream(cudaStream_t const stream, dwSensorHandle_t const sensor)
Sets the CUDA stream used by getImageAsync during internal cuda related operations.
processed images (usually be YUV420 planar or RGB planar)
Defines the properties of the image.
NotificationData from SIPL.
Exposure control with bracketed auto exposure.