|
NVIDIA DRIVE OS Linux SDK API Reference
|
5.1.15.0 Release For Test and Development only
|
Go to the documentation of this file.
42 #define NVMEDIA_ICP_VERSION_MAJOR 4
44 #define NVMEDIA_ICP_VERSION_MINOR 22
50 #define NVMEDIA_IMAGE_CAPTURE_TIMEOUT_INFINITE 0xFFFFFFFFu
53 #define NVMEDIA_ICP_MAX_VIRTUAL_GROUPS 4u
56 #define NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS 3u
63 #define NVMEDIA_ICP_HANDLER(icpEx, groupIdx) (icpEx->icp[groupIdx].hIcp)
72 #define NVMEDIA_ICP_SETTINGS_HANDLER(icpSettingsEx, groupIdx, vcIdx) \
73 (&icpSettingsEx.virtualGroups[groupIdx].virtualChannels[vcIdx].icpSettings)
82 #define NVMEDIA_ICP_ERROR(_type_, _error_, _value_, _desc_) \
83 NVMEDIA_ICP_##_type_##_ERROR_##_error_ = _value_##u,
89 #define NVMEDIA_MAX_ICP_FRAME_BUFFERS 32u
92 #define NVMEDIA_ICP_MIN_IMAGE_WIDTH 640u
95 #define NVMEDIA_ICP_MAX_IMAGE_WIDTH 3848u
98 #define NVMEDIA_ICP_MIN_IMAGE_HEIGHT 480u
101 #define NVMEDIA_ICP_MAX_IMAGE_HEIGHT 2168u
104 #define NVMEDIA_ICP_MIN_FRAME_RATE 10U
107 #define NVMEDIA_ICP_MAX_FRAME_RATE 60U
109 #if (NV_IS_SAFETY == 1)
111 #define NVMEDIA_ICP_MAX_EMBEDDED_LINES 28u
114 #define NVMEDIA_ICP_PIXEL_FREQUENCY 0U
117 #define NVMEDIA_ICP_THS_SETTLE_TIME 0U
120 #define NVMEDIA_ICP_MAX_EMBEDDED_LINES 256u
230 #if (NV_IS_SAFETY == 1)
235 NVMEDIA_ICP_CSI_MIPISPEED_297000 = 297000,
236 NVMEDIA_ICP_CSI_MIPISPEED_633000 = 633000,
237 NVMEDIA_ICP_CSI_MIPISPEED_800000 = 800000,
238 NVMEDIA_ICP_CSI_MIPISPEED_1700000 = 1700000
239 } NvMediaICPCsiMipiSpeed;
451 NVMEDIA_ICP_ERROR(CSI, FS_FAULT, 7,
"A frame start occurred before previous frame end")
452 NVMEDIA_ICP_ERROR(CSI, FE_FORCED_FAULT, 8,
"A frame end was injected by the CSI hardware")
453 NVMEDIA_ICP_ERROR(CSI, FE_FRAMEID_FAULT, 9,
"Frame ID for FE packet does not match that of FS packet")
454 NVMEDIA_ICP_ERROR(CSI, PXL_ENABLE_FAULT , 10,
"An illegal pixel encoding has been detected")
456 NVMEDIA_ICP_ERROR(CSI, PH_ECC_DPHY, 21,
"Single bit error correction code in DPHY packet header")
458 NVMEDIA_ICP_ERROR(CSI, LINE_SHORT, 23,
"Packet Payload is less than word count in packet header")
459 NVMEDIA_ICP_ERROR(CSI, PH_CRC_CPHY, 24,
"One of the CPHY packet headers CRC error")
465 NVMEDIA_ICP_ERROR(CSI, SPURIOUS_DATA, 0,
"FIFO data was found in the gap between frame start and frame end")
469 NVMEDIA_ICP_ERROR(CSI, FIFO_OVERFLOW, 1,
"An overflow occurred in a stream FIFO")
471 NVMEDIA_ICP_ERROR(CSI, FIFO_BADPKT, 3,
"An unknown packet type has been received on a stream")
478 NVMEDIA_ICP_ERROR(VI, PXL_MISSING_LE, 5,
"Two LS packets were detected without a LE packet between them")
480 NVMEDIA_ICP_ERROR(VI, PXL_SPURIOUS, 7,
"A pixel data packet was received without a LS packet first")
481 NVMEDIA_ICP_ERROR(VI, PXL_LONG_LINE, 8,
"More pixels were received than expected in a line")
482 NVMEDIA_ICP_ERROR(VI, PXL_SHORT_LINE, 9,
"Fewer pixels were received than expected in a line")
483 NVMEDIA_ICP_ERROR(VI, EMB_MISSING_LE, 10,
"Two LS packets were detected without a LE packet between them in emb data")
484 NVMEDIA_ICP_ERROR(VI, EMB_RUNAWAY, 11,
"More lines were received than expected in emb data")
485 NVMEDIA_ICP_ERROR(VI, EMB_SPURIOUS, 12,
"A pixel data packet was received without a LS packet first in emb data")
486 NVMEDIA_ICP_ERROR(VI, EMB_LONG_LINE, 13,
"More pixels were received than expected in a line in emb data")
487 NVMEDIA_ICP_ERROR(VI, EMB_INFRINGE, 14,
"Embedded data was received on a frame where no embedded data was expected")
488 NVMEDIA_ICP_ERROR(VI, DTYPE_MISMATCH, 15,
"The pixel datatype changed in the middle of the line")
489 NVMEDIA_ICP_ERROR(VI, FORCED_FE, 16,
"FE didn't arrive within expected frame duration, capture engine injected FE")
490 NVMEDIA_ICP_ERROR(VI, PXL_INCOMPLETE, 17,
"Fewer lines of pixels in a frame were received than expected")
491 NVMEDIA_ICP_ERROR(VI, EMB_INCOMPLETE, 18,
"Fewer lines of emb data in a frame were received than expected")
492 NVMEDIA_ICP_ERROR(VI, PFSD_FAULT, 19,
"Permanent Fault Software Diagnostic is detected from engine status")
497 NVMEDIA_ICP_ERROR(VI, SHORT_FRAME, 0,
"FE packet arrived before the normal number of pixels has appeared ")
498 NVMEDIA_ICP_ERROR(VI, SHORT_EMB, 1,
"FE of EMB Data packet arrived before the normal number of pixels has appeared ")
499 NVMEDIA_ICP_ERROR(VI, PFSD_FAULT_NOTIFED, 2,
"Permanent Fault Software Diagnostic is detected between frames")
500 NVMEDIA_ICP_ERROR(VI, FAULT_FE, 3,
"FE is inserted due to a stream reset or early abort")
501 NVMEDIA_ICP_ERROR(VI, NOMATCH, 4,
"CSI packets are discarded due to no matched capture channels")
502 NVMEDIA_ICP_ERROR(VI, COLLISION, 5,
"An FS packet matches a channel which is not done processing a previously matching frame")
503 NVMEDIA_ICP_ERROR(VI, LOAD_FRAMED, 6,
"A LOAD command is received for a channel while that channel is currently in a frame")
508 NVMEDIA_ICP_ERROR(VI, PACKET_OVERFLOW, 0,
"The FIFO for a surface packer has overflowed")
509 NVMEDIA_ICP_ERROR(VI, FRAME_TRUNCATED, 1,
"A packer has dropped a partial frame")
633 uint32_t millisecondTimeout
662 uint32_t millisecondTimeout,
711 #if (NV_IS_SAFETY == 0)
#define NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS
Defines the maximum number of virtual channels per virtual group.
#define NVMEDIA_ICP_MAX_VIRTUAL_GROUPS
Defines the maximum number of virtual groups.
@ NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTFRAME
NvMediaICPInterfaceType
Specifies the image capture interface type for the CSI interface.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_8
Specifies User defined 8 (0x37).
@ NVMEDIA_ICP_CSI_DPHY_MODE
Specifies that CSI is in DPHY mode.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW10
Specifies RAW 10.
NvMediaICPCsiInputStreamError
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_5
Specifies User defined 5 (0x34).
@ NVMEDIA_ICP_ERROR_STATUS_MEMORYWRITE
@ NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTSTREAM
#define NVMEDIA_ICP_ERROR(_type_, _error_, _value_, _desc_)
A macro that creates an enumerator in enum NvMediaICPErrorStatus.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_4
Specifies User defined 4 (0x33).
@ NVMEDIA_BITS_PER_PIXEL_12
Specifies 12 bits per pixel.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_C
Specifies CSI port C.
NvMediaICPFrameFaultError
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_CD
Specifies CSI port CD.
NvMediaStatus NvMediaICPGetVersion(NvMediaVersion *version)
Gets the version of the NvMedia ICP library.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW14
Specifies RAW 14.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW20
Specifies RAW 20.
struct NvMediaICP NvMediaICP
Holds an image capture object per virtual group.
void NvMediaICPDestroyEx(NvMediaICPEx *icpEx)
Destroys an image capture object created by NvMediaICPCreateEx().
@ NVMEDIA_ICP_ERROR_STATUS_FRAME_FAULT
NvMediaStatus NvMediaICPReleaseImageGroup(const NvMediaICP *icp, NvMediaImageGroup **imageGrp) NVM_DEPRECATED_MSG("Use NvMediaICPGetImageGroup")
Gets an image group from the internal pool that the client previously supplied with NvMediaICPFeedIma...
NvMediaICPEx * NvMediaICPCreateEx(NvMediaICPSettingsEx *settings)
Creates an image capture object used to capture various formats of input into an NvMediaImage.
@ NVMEDIA_BITS_PER_PIXEL_14
Specifies 14 bits per pixel.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_A
Specifies CSI port A.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422_10
Specifies YUV 4:2:2 10 bits.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_AB
Specifies CSI port AB.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW7
Specifies RAW 7.
@ NVMEDIA_BITS_PER_PIXEL_16
Specifies 16 bits per pixel.
NvMediaICPPixelFaultError
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW8
Specifies RAW 8.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RGB888
Specifies RGB.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_2
Specifies User defined 2 (0x31).
NvMediaICPCsiInputFrameError
@ NVMEDIA_ICP_CSI_CPHY_MODE
Specifies that CSI is in CPHY mode.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_EF
Specifies CSI port EF.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422
Specifies YUV 4:2:2 8 bits.
@ NVMEDIA_ICP_ERROR_STATUS_PIXEL_FAULT
NvMediaStatus NvMediaICPFeedImageGroup(const NvMediaICP *icp, NvMediaImageGroup *imageGrp, uint32_t millisecondTimeout)
Adds an image group to the image capture pool.
NvMediaStatus NvMediaICPGetErrorInfo(const NvMediaICP *icp, NvMediaICPErrorInfo *icpErrorInfo)
Gets capture error information.
@ NVMEDIA_ICP_ERROR_STATUS_NONE
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
NvMediaICPCsiPhyMode
Specifies the CSI phy mode.
NvMediaStatus
Defines all possible error codes.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_H
Specifies CSI port H.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_B
Specifies CSI port B.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_E
Specifies CSI port E.
NvMediaStatus NvMediaICPRegisterImageGroup(const NvMediaICP *icp, const NvMediaImageGroup *imageGrp)
Maps an image group to the capture engine.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_7
Specifies User defined 7 (0x36).
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW6
Specifies RAW 6.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV444
Specifies YUV 4:4:4.
@ NVMEDIA_BITS_PER_PIXEL_10
Specifies 10 bits per pixel.
NvMediaBitsPerPixel
Specifies bits per pixel.
@ NVMEDIA_BITS_PER_PIXEL_20
Specifies 20 bits per pixel.
NvMediaICPErrorStatus
Defines error status codes.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_D
Specifies CSI port D.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW12
Specifies RAW 12.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_GH
Specifies CSI port GH.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_3
Specifies User defined 3 (0x32).
NvMediaICPInputFormatType
Specifies the image capture input format type.
NvMediaStatus NvMediaICPGetImageGroup(const NvMediaICP *icp, uint32_t millisecondTimeout, NvMediaImageGroup **imageGrp)
Gets a captured image group with frame status.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW16
Specifies RAW 16.
@ NVMEDIA_BITS_PER_PIXEL_8
Specifies 8 bits per pixel.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_6
Specifies User defined 6 (0x35).
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_G
Specifies CSI port G.
NvMediaICPMemoryWriteError
NvMediaStatus NvMediaICPUnregisterImageGroup(const NvMediaICP *icp, const NvMediaImageGroup *imageGrp)
Unmaps an image group from the capture engine.
@ NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_F
Specifies CSI port F.
@ NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_1
Specifies User defined 1 (0x30).