NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Image Capture

Detailed Description

Captures uncompressed image data, writing the results to an NvMediaImage.

A specific NvMedia implementation may support capturing multiple types of uncompressed image data. However, NvMediaICP objects are able to capture only a specific type of uncompressed image data. This type must be specified during creation.

Data Structures

struct  NvMediaICPInputFormat
 Holds the capture input format. More...
 
struct  NvMediaICPSettings
 Holds image capture settings for the CSI format. More...
 
struct  NvMediaICPSettingsEx
 Holds the image capture settings for the CSI format per virtual group. More...
 
struct  NvMediaICPEx
 Holds an image capture object created by NvMediaICPCreateEx(). More...
 
struct  NvMediaICPErrorInfo
 Holds the capture error information populated by NvMediaICPGetErrorInfo(). More...
 

Macros

#define NVMEDIA_ICP_VERSION_MAJOR   4
 Major version number. More...
 
#define NVMEDIA_ICP_VERSION_MINOR   19
 Minor version number. More...
 
#define NVMEDIA_IMAGE_CAPTURE_TIMEOUT_INFINITE
 Defines an infinite timeout for NvMediaICPGetImageGroup(). More...
 
#define NVMEDIA_ICP_MAX_VIRTUAL_GROUPS   4u
 Defines the maximum number of virtual groups. More...
 
#define NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS   3u
 Defines the maximum number of virtual channels per virtual group. More...
 
#define NVMEDIA_ICP_HANDLER(icpEx, groupIdx)   (icpEx->icp[groupIdx].hIcp)
 A macro that gets an NvMediaICP handler from an NvMediaICPEx handler. More...
 
#define NVMEDIA_ICP_SETTINGS_HANDLER(icpSettingsEx, groupIdx, vcIdx)   (&icpSettingsEx.virtualGroups[groupIdx].virtualChannels[vcIdx].icpSettings)
 A macro that gets the NvMediaICPSettings handler from an NvMediaICPSettingsEx object. More...
 
#define NVMEDIA_ICP_ERROR(_type_, _error_, _value_, _desc_)   NVMEDIA_ICP_##_type_##_ERROR_##_error_ = _value_##u,
 A macro that creates an enumerator in enum NvMediaICPErrorStatus. More...
 
#define NVMEDIA_MAX_ICP_FRAME_BUFFERS
 Maximum number of capture buffers. More...
 

Typedefs

typedef struct NvMediaICP NvMediaICP
 Holds an image capture object per virtual group. More...
 

Enumerations

enum  NvMediaICPInterfaceType {
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_A,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_B,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_AB,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_C,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_D,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_CD,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_E,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_F,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_EF,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_G,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_H,
  NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_GH
}
 Specifies the image capture interface type for the CSI interface. More...
 
enum  NvMediaICPInputFormatType {
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422_10,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV444,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RGB888,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW6,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW7,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW8,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW10,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW12,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW14,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW16,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW20,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_1,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_2,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_3,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_4,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_5,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_6,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_7,
  NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_8
}
 Specifies the image capture input format type. More...
 
enum  NvMediaBitsPerPixel {
  NVMEDIA_BITS_PER_PIXEL_8 = 0,
  NVMEDIA_BITS_PER_PIXEL_10,
  NVMEDIA_BITS_PER_PIXEL_12,
  NVMEDIA_BITS_PER_PIXEL_14,
  NVMEDIA_BITS_PER_PIXEL_16,
  NVMEDIA_BITS_PER_PIXEL_20
}
 Specifies bits per pixel. More...
 
enum  NvMediaICPCsiPhyMode {
  NVMEDIA_ICP_CSI_DPHY_MODE = 0,
  NVMEDIA_ICP_CSI_CPHY_MODE
}
 Specifies the CSI phy mode. More...
 
enum  NvMediaICPErrorStatus {
  NVMEDIA_ICP_ERROR_STATUS_NONE,
  NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTFRAME,
  NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTSTREAM,
  NVMEDIA_ICP_ERROR_STATUS_PIXEL_FAULT,
  NVMEDIA_ICP_ERROR_STATUS_FRAME_FAULT,
  NVMEDIA_ICP_ERROR_STATUS_MEMORYWRITE
}
 Defines error status codes. More...
 
enum  NvMediaICPCsiInputFrameError
 
enum  NvMediaICPCsiInputStreamError
 
enum  NvMediaICPPixelFaultError
 
enum  NvMediaICPFrameFaultError
 
enum  NvMediaICPMemoryWriteError
 

Functions

NvMediaStatus NvMediaICPGetVersion (NvMediaVersion *version)
 Gets the version of the NvMedia ICP library. More...
 
NvMediaICPExNvMediaICPCreateEx (NvMediaICPSettingsEx *settings)
 Creates an image capture object used to capture various formats of input into an NvMediaImage. More...
 
void NvMediaICPDestroyEx (NvMediaICPEx *icpEx)
 Destroys an image capture object created by NvMediaICPCreateEx(). More...
 
NvMediaStatus NvMediaICPRegisterImageGroup (NvMediaICP *icp, NvMediaImageGroup *imageGrp)
 Maps an image group to the capture engine. More...
 
NvMediaStatus NvMediaICPFeedImageGroup (NvMediaICP *icp, NvMediaImageGroup *imageGrp, unsigned int millisecondTimeout)
 Adds an image group to the image capture pool. More...
 
NvMediaStatus NvMediaICPGetImageGroup (NvMediaICP *icp, uint32_t millisecondTimeout, NvMediaImageGroup **imageGrp)
 Gets a captured image group with frame status. More...
 
NvMediaStatus NvMediaICPUnregisterImageGroup (NvMediaICP *icp, NvMediaImageGroup *imageGrp)
 Unmaps a frame from the capture engine. More...
 
NvMediaStatus NvMediaICPReleaseImageGroup (NvMediaICP *icp, NvMediaImageGroup **imageGrp)
 Gets an image group from the internal pool that the client previously supplied with NvMediaICPFeedImageGroup(). More...
 
NvMediaStatus NvMediaICPGetErrorInfo (NvMediaICP *icp, NvMediaICPErrorInfo *icpErrorInfo)
 Gets capture error information. More...
 

Macro Definition Documentation

#define NVMEDIA_ICP_ERROR (   _type_,
  _error_,
  _value_,
  _desc_ 
)    NVMEDIA_ICP_##_type_##_ERROR_##_error_ = _value_##u,

A macro that creates an enumerator in enum NvMediaICPErrorStatus.

Parameters
_type_The hardware module that originated the error: CSI or VI.
_error_A symbolic code that represents the error; used to construct the enumerator's symbol.
_value_A numeric value that represents nth bit field.
_desc_A string that describes the error.

Definition at line 82 of file nvmedia_icp.h.

#define NVMEDIA_ICP_HANDLER (   icpEx,
  groupIdx 
)    (icpEx->icp[groupIdx].hIcp)

A macro that gets an NvMediaICP handler from an NvMediaICPEx handler.

Parameters
[in]icpExAn NvMediaICPEx handler returned by NvMediaICPCreateEx().
[in]groupIdxThe index of the capture group instance.

Definition at line 63 of file nvmedia_icp.h.

#define NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS   3u

Defines the maximum number of virtual channels per virtual group.

Definition at line 56 of file nvmedia_icp.h.

#define NVMEDIA_ICP_MAX_VIRTUAL_GROUPS   4u

Defines the maximum number of virtual groups.

Definition at line 53 of file nvmedia_icp.h.

#define NVMEDIA_ICP_SETTINGS_HANDLER (   icpSettingsEx,
  groupIdx,
  vcIdx 
)    (&icpSettingsEx.virtualGroups[groupIdx].virtualChannels[vcIdx].icpSettings)

A macro that gets the NvMediaICPSettings handler from an NvMediaICPSettingsEx object.

Parameters
[in]icpSettingsExAn NvMediaICPSettingsEx object passed to NvMediaICPCreateEx().
[in]groupIdxThe index of the capture group instance.
[in]vcIdxThe index of the capture virtual channel instance.

Definition at line 72 of file nvmedia_icp.h.

#define NVMEDIA_ICP_VERSION_MAJOR   4

Major version number.

Definition at line 42 of file nvmedia_icp.h.

#define NVMEDIA_ICP_VERSION_MINOR   19

Minor version number.

Definition at line 44 of file nvmedia_icp.h.

#define NVMEDIA_IMAGE_CAPTURE_TIMEOUT_INFINITE

Defines an infinite timeout for NvMediaICPGetImageGroup().

Definition at line 50 of file nvmedia_icp.h.

#define NVMEDIA_MAX_ICP_FRAME_BUFFERS

Maximum number of capture buffers.

Definition at line 89 of file nvmedia_icp.h.

Typedef Documentation

typedef struct NvMediaICP NvMediaICP

Holds an image capture object per virtual group.

Definition at line 305 of file nvmedia_icp.h.

Enumeration Type Documentation

Specifies bits per pixel.

Enumerator
NVMEDIA_BITS_PER_PIXEL_8 

Specifies 8 bits per pixel.

NVMEDIA_BITS_PER_PIXEL_10 

Specifies 10 bits per pixel.

NVMEDIA_BITS_PER_PIXEL_12 

Specifies 12 bits per pixel.

NVMEDIA_BITS_PER_PIXEL_14 

Specifies 14 bits per pixel.

NVMEDIA_BITS_PER_PIXEL_16 

Specifies 16 bits per pixel.

NVMEDIA_BITS_PER_PIXEL_20 

Specifies 20 bits per pixel.

Definition at line 171 of file nvmedia_icp.h.

Definition at line 402 of file nvmedia_icp.h.

Definition at line 417 of file nvmedia_icp.h.

Specifies the CSI phy mode.

Enumerator
NVMEDIA_ICP_CSI_DPHY_MODE 

Specifies that CSI is in DPHY mode.

NVMEDIA_ICP_CSI_CPHY_MODE 

Specifies that CSI is in CPHY mode.

Definition at line 200 of file nvmedia_icp.h.

Defines error status codes.

Enumerators are defined by the NVMEDIA_ICP_ERROR macro. In the following table, Module, Type, and Code represent macro parameters. For example:

%NVMEDIA_ICP_ERROR(CSI, FS_FAULT, 6, "A frame start occurred before previous frame end")


Module Type Code Manifest Constant Description
n/a NONE 0 NVMEDIA_ICP_CAPTURE_ERROR_NONE No error occurred, or error could not be translated.
CSI mux
frame errors
CSI FE_CSI_FAULT 6 NVMEDIA_ICP_CSI_ERROR_FE_CSI_FAULT NVCSI fault received at frame end.
CSI FS_FAULT 7 NVMEDIA_ICP_CSI_ERROR_FS_FAULT Frame start occurred before previous frame end.
CSI FE_FRAMEID_FAULT 8 NVMEDIA_ICP_CSI_ERROR_FE_FRAMEID_FAULT Frame ID for FE packet does not match that of FS packet.
CSI FE_FORCED_FAULT 9 NVMEDIA_ICP_CSI_ERROR_FE_FORCED_FAULT Frame end was injected by the CSI hardware.
CSI PXL_ENABLE_FAULT 10 NVMEDIA_ICP_CSI_ERROR_PXL_ENABLE_FAULT Illegal pixel encoding detected.
CSI PP_FSM_TIMEOUT 20 NVMEDIA_ICP_CSI_ERROR_PP_FSM_TIMEOUT Pixel Parser FSM timeout.
CSI PP_ECC_DPHY 21 NVMEDIA_ICP_CSI_ERROR_PP_ECC_DPHY Single bit error correction code in DPHY packet header.
CSI PAYLOAD_CRC 22 NVMEDIA_ICP_CSI_ERROR_PAYLOAD_CRC Packet payload CRC check failure.
CSI LINE_SHORT 23 NVMEDIA_ICP_CSI_ERROR_LINE_SHORT Packet payload is less than word count in packet header.
CSI PH_CRC_CPHY 24 NVMEDIA_ICP_CSI_ERROR_PH_CRC_CPHY One of the CPHY packet headers contained a CRC error.
CSI EMB_CRC 25 NVMEDIA_ICP_CSI_ERROR_EMB_CRC Embedded line CRC error.
CSI mux
stream errors
CSI SPURIOUS_DATA 0 NVMEDIA_ICP_CSI_ERROR_SPURIOUS_DATA FIFO data was found in the gap between frame start and frame end.
CSI FIFO_OVERFLOW 1 NVMEDIA_ICP_CSI_ERROR_FIFO_OVERFLOW An overflow occurred in a stream FIFO.
CSI FIFO_LOF 2 NVMEDIA_ICP_CSI_ERROR_FIFO_LOF A loss of frame overflow occurred.
CSI FIFO_BADPKT 3 NVMEDIA_ICP_CSI_ERROR_FIFO_BADPKT An unknown packet type has been received on a stream.
VI channel
selection faults
VI FS_TIMEOUT 0 NVMEDIA_ICP_VI_ERROR_FS_TIMEOUT Frame start timeout error.
VI FE_TIMEOUT 1 NVMEDIA_ICP_VI_ERROR_FE_TIMEOUT Frame end timeout error.
VI PXL_MISSING_LE 5 NVMEDIA_ICP_VI_ERROR_PXL_MISSING_LE Two LS packets detected without an LE packet between them.
VI PXL_RUNAWAY 6 NVMEDIA_ICP_VI_ERROR_PXL_RUNAWAY More lines received than expected.
VI PXL_SPURIOUS 7 NVMEDIA_ICP_VI_ERROR_PXL_SPURIOUS Pixel data packet was received without an LS packet first.
VI PXL_LONG_LINE 8 NVMEDIA_ICP_VI_ERROR_PXL_LONG_LINE More pixels received than expected in a line.
VI PXL_SHORT_LINE 9 NVMEDIA_ICP_VI_ERROR_PXL_SHORT_LINE Fewer pixels received than expected in a line.
VI EMB_MISSING_LE 10 NVMEDIA_ICP_VI_ERROR_EMB_MISSING_LE Two LS packets detected without an LE packet between them in emb data.
VI EMB_RUNAWAY 11 NVMEDIA_ICP_VI_ERROR_EMB_RUNAWAY More lines received than expected in emb data.
VI EMB_SPURIOUS 12 NVMEDIA_ICP_VI_ERROR_EMB_SPURIOUS Pixel data packet received without an LS packet first in emb data.
VI EMB_LONG_LINE 13 NVMEDIA_ICP_VI_ERROR_EMB_LONG_LINE More pixels received than expected in a line in emb data.
VI EMB_INFRINGE 14 NVMEDIA_ICP_VI_ERROR_EMB_INFRINGE Embedded data received on a frame where no embedded data was expected.
VI DTYPE_MISMATCH 15 NVMEDIA_ICP_VI_ERROR_DTYPE_MISMATCH Pixel datatype changed in the middle of a line.
VI FORCED_FE 16 NVMEDIA_ICP_VI_ERROR_FORCED_FE FE didn't arrive within expected frame duration, capture engine injected FE.
VI PXL_INCOMPLETE 17 NVMEDIA_ICP_VI_ERROR_PXL_INCOMPLETE, Fewer lines of pixels in a frame were received than expected.
VI EMB_INCOMPLETE 18 NVMEDIA_ICP_VI_ERROR_EMB_INCOMPLETE, Fewer lines of emb data in a frame were received than expected.
VI PFSD_FAULT 19 NVMEDIA_ICP_VI_ERROR_PFSD_FAULT, Permanent Fault Software Diagnostic was detected from engine status.
VI channel
frame faults
VI SHORT_FRAME 0 NVMEDIA_ICP_VI_ERROR_SHORT_FRAME FE packet arrived before the normal number of pixels appeared.
VI SHORT_EMB 1 NVMEDIA_ICP_VI_ERROR_SHORT_EMB FE of EMB Data packet arrived before the normal number of pixels appeared.
VI PFSD_FAULT_NOTIFIED 2 NVMEDIA_ICP_VI_ERROR_PFSD_FAULT_NOTIFIED Permanent Fault Software Diagnostic was detected between frames.
VI FAULT_FE 3 NVMEDIA_ICP_VI_ERROR_FAULT_FE FE was inserted due to a stream reset or early abort.
VI NOMATCH 4 NVMEDIA_ICP_VI_ERROR_NOMATCH CSI packets were discarded due to no matched capture channels.
VI COLLISION 5 NVMEDIA_ICP_VI_ERROR_COLLISION An FS packet matched a channel which was not finished processing a previous matching frame.
VI LOAD_FRAMED 6 NVMEDIA_ICP_VI_ERROR_LOAD_FRAMED A LOAD command was received for a channel that was currently in a frame.
VI memory write
faults
VI PACKET_OVERFLOW 0 NVMEDIA_ICP_VI_ERROR_PACKET_OVERFLOW The FIFO for a surface packer overflowed.
VI FRAME_TRUNCATED 1 NVMEDIA_ICP_VI_ERROR_FRAME_TRUNCATED A packer dropped a partial frame.
VI FRAME_TOSSED 2 NVMEDIA_ICP_VI_ERROR_FRAME_TOSSED A packer dropped an entire frame.

Specifies top-level image capture error types.

The error bits represented by the NvMediaICPCsiInput... enums provide additional detail about individual errors. For example, the NvMediaICPCsiInputStreamError error bits provide additional detail about the NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTFRAME error.

Enumerator
NVMEDIA_ICP_ERROR_STATUS_NONE 
NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTFRAME 
NVMEDIA_ICP_ERROR_STATUS_CSI_INPUTSTREAM 
NVMEDIA_ICP_ERROR_STATUS_PIXEL_FAULT 
NVMEDIA_ICP_ERROR_STATUS_FRAME_FAULT 
NVMEDIA_ICP_ERROR_STATUS_MEMORYWRITE 

Definition at line 393 of file nvmedia_icp.h.

Definition at line 449 of file nvmedia_icp.h.

Specifies the image capture input format type.

Enumerator
NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422 

Specifies YUV 4:2:2 8 bits.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV422_10 

Specifies YUV 4:2:2 10 bits.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_YUV444 

Specifies YUV 4:4:4.

This input format is not supported

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RGB888 

Specifies RGB.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW6 

Specifies RAW 6.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW7 

Specifies RAW 7.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW8 

Specifies RAW 8.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW10 

Specifies RAW 10.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW12 

Specifies RAW 12.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW14 

Specifies RAW 14.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW16 

Specifies RAW 16.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_RAW20 

Specifies RAW 20.

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_1 

Specifies User defined 1 (0x30).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_2 

Specifies User defined 2 (0x31).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_3 

Specifies User defined 3 (0x32).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_4 

Specifies User defined 4 (0x33).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_5 

Specifies User defined 5 (0x34).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_6 

Specifies User defined 6 (0x35).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_7 

Specifies User defined 7 (0x36).

NVMEDIA_IMAGE_CAPTURE_INPUT_FORMAT_TYPE_USER_DEFINED_8 

Specifies User defined 8 (0x37).

Definition at line 124 of file nvmedia_icp.h.

Specifies the image capture interface type for the CSI interface.

Enumerator
NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_A 

Specifies CSI port A.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_B 

Specifies CSI port B.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_AB 

Specifies CSI port AB.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_C 

Specifies CSI port C.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_D 

Specifies CSI port D.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_CD 

Specifies CSI port CD.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_E 

Specifies CSI port E.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_F 

Specifies CSI port F.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_EF 

Specifies CSI port EF.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_G 

Specifies CSI port G.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_H 

Specifies CSI port H.

NVMEDIA_IMAGE_CAPTURE_CSI_INTERFACE_TYPE_CSI_GH 

Specifies CSI port GH.

Definition at line 94 of file nvmedia_icp.h.

Definition at line 460 of file nvmedia_icp.h.

Definition at line 428 of file nvmedia_icp.h.

Function Documentation

NvMediaICPEx* NvMediaICPCreateEx ( NvMediaICPSettingsEx settings)

Creates an image capture object used to capture various formats of input into an NvMediaImage.

The supported surfaces must be obtained by NvMediaSurfaceFormatGetType() with:

void NvMediaICPDestroyEx ( NvMediaICPEx icpEx)

Destroys an image capture object created by NvMediaICPCreateEx().

Parameters
[in]icpExA pointer to the image capture object to be destroyed.
NvMediaStatus NvMediaICPFeedImageGroup ( NvMediaICP icp,
NvMediaImageGroup imageGrp,
unsigned int  millisecondTimeout 
)

Adds an image group to the image capture pool.

The pool size is determined by NVMEDIA_MAX_ICP_FRAME_BUFFERS.

This function will do the following for each image in the image group:

  1. Block until all NvSciSyncFence prefences for the image's virtual channel have posted.
  2. Submit the image to the capture engine.
  3. Remove all prefences for the image's virtual channel.
Parameters
[in]icpThe image capture object to be used.
[in]imageGrpThe NvMedia image group to be added to the pool.
[in]millisecondTimeoutA timeout in milliseconds. Represents time elapsed from the VI hardware start of processing the capture request to the time when a frame start occurs. It helps catch frame errors early, before the capture completion timeout.

Take care when programming the frame start timeout for the first frame, for which the time required to set up the sensor to start streaming must be included.
Return values
NVMEDIA_STATUS_OKindicates that the operation was successful.
NVMEDIA_STATUS_TIMED_OUTindicates that the operation timed out.
NVMEDIA_STATUS_ERRORindicates any other error.
NvMediaStatus NvMediaICPGetErrorInfo ( NvMediaICP icp,
NvMediaICPErrorInfo icpErrorInfo 
)

Gets capture error information.

This function provides capture error details such as CSI stream ID, frame ID, and error status. You can use this information to determine a suitable response to a CSI capture error.

Parameters
[in]icpA pointer to the image capture object to be used.
[out]icpErrorInfoA pointer to the structure where information is to be put.
Return values
NVMEDIA_STATUS_OKindicates that the operation was successful.
NVMEDIA_STATUS_BAD_PARAMETERindicates that icp or icpErrorInfo was NULL, and thus no error information is returned.
NvMediaStatus NvMediaICPGetImageGroup ( NvMediaICP icp,
uint32_t  millisecondTimeout,
NvMediaImageGroup **  imageGrp 
)

Gets a captured image group with frame status.

This function blocks until a frame is available, or until a timeout occurs.

Parameters
[in]icpA pointer to the image capture object to be used.
[in]millisecondTimeoutTimeout in milliseconds. To block without a timeout, specify NVMEDIA_IMAGE_CAPTURE_TIMEOUT_INFINITE.
[in,out]imageGrpAn indirect pointer to the NvMedia image group that is ready for use.
Return values
NVMEDIA_STATUS_OKindicates that the image is valid.
NVMEDIA_STATUS_NONE_PENDINGindicates that image is NULL, there is no fed frame, or the internal pool is empty.
NVMEDIA_STATUS_TIMED_OUTindicates that image is NULL because the frame is not ready for use.
NVMEDIA_STATUS_ERRORindicates that image is NULL because the hardware engine has stopped trying to capture images.
NvMediaStatus NvMediaICPGetVersion ( NvMediaVersion version)

Gets the version of the NvMedia ICP library.

The client should compare the version of the NvMedia ICP library with NVMEDIA_ICP_VERSION_MAJOR and NVMEDIA_ICP_VERSION_MINOR to ensure compatibility.

Parameters
[out]versionA pointer to a version information structure that the function will write the library version to.
Return values
NVMEDIA_STATUS_OKindicates that the library version has been successfully written to version.
NVMEDIA_STATUS_BAD_PARAMETERindicates that version is NULL.
NvMediaStatus NvMediaICPRegisterImageGroup ( NvMediaICP icp,
NvMediaImageGroup imageGrp 
)

Maps an image group to the capture engine.

Parameters
[in]icpA pointer to the image capture object to be used.
[in]imageGrpA pointer to the NvMedia image group to be mapped to the capture engine.
Returns
A status code; NVMEDIA_STATUS_OK if the operation was successful, or NVMEDIA_STATUS_ERROR otherwise.
NvMediaStatus NvMediaICPReleaseImageGroup ( NvMediaICP icp,
NvMediaImageGroup **  imageGrp 
)

Gets an image group from the internal pool that the client previously supplied with NvMediaICPFeedImageGroup().

If this function is called when there is only one image group in the internal pool, then it will remove the image group from the pool, stop the capture channel, and return NVMEDIA_STATUS_NONE_PENDING.

When the client needs to stop the capture channel, call this function repeatedly until returns NVMEDIA_STATUS_NONE_PENDING

Parameters
[in]icpA pointer to the image capture object to be used.
[in,out]imageGrpThe image group that was fed from user but hardware gives up to capture.
Return values
NVMEDIA_STATUS_OKindicates that the function has returned the image group that the user fed.
NVMEDIA_STATUS_ERRORindicates that an error occurred while returning the image group.
NVMEDIA_STATUS_NONE_PENDINGindicates that there is nothing to return.
NvMediaStatus NvMediaICPUnregisterImageGroup ( NvMediaICP icp,
NvMediaImageGroup imageGrp 
)

Unmaps a frame from the capture engine.

Parameters
[in]icpA pointer to the image capture object to be used.
[in]imageGrpA pointer to the NvMedia image group to be unmapped.
Returns
A status code; NVMEDIA_STATUS_OK if the operation was successful, or NVMEDIA_STATUS_ERROR otherwise.