NVIDIA DRIVE OS Linux SDK API Reference

5.1.6.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_icp.h File Reference

Detailed Description

NVIDIA Media Interface: Image Capture Processing

This file contains the Image Capture Processing API.

Definition in file nvmedia_icp.h.

Go to the source code of this file.

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   16
 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  NvMediaICPCSIErrorType {
  NVMEDIA_ICP_CSI_ERROR_TYPE_DPHY_CLK_LANE_CTRL_ERR = (1 << 0),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_SOT_SB_ERR0 = (1 << 1),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_SOT_MB_ERR0 = (1 << 2),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_CTRL_ERR0 = (1 << 3),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_RXFIFO_FULL_ERR0 = (1 << 4),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_SOT_SB_ERR1 = (1 << 5),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_SOT_MB_ERR1 = (1 << 6),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_CTRL_ERR1 = (1 << 7),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_RXFIFO_FULL_ERR1 = (1 << 8),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DPHY_DESKEW_CALIB_ERR_LANE0 = (1 << 9),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DPHY_DESKEW_CALIB_ERR_LANE1 = (1 << 10),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DPHY_DESKEW_CALIB_ERR_CTRL = (1 << 11),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DPHY_LANE_ALIGN_ERR = (1 << 12),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_ESC_MODE_SYNC_ERR0 = (1 << 13),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_ESC_MODE_SYNC_ERR1 = (1 << 14),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_SOT_2LSB_ERR0 = (1 << 15),
  NVMEDIA_ICP_CSI_ERROR_TYPE_DATA_LANE_SOT_2LSB_ERR1 = (1 << 16),
  NVMEDIA_ICP_CSI_ERROR_TYPE_NOVC_PH_ECC_MULTI_BIT_ERR = (1 << 17),
  NVMEDIA_ICP_CSI_ERROR_TYPE_NOVC_PH_BOTH_CRC_ERR = (1 << 18),
  NVMEDIA_ICP_CSI_ERROR_TYPE_VC_PPFSM_TIMEOUT = (1 << 19),
  NVMEDIA_ICP_CSI_ERROR_TYPE_VC_PH_ECC_SINGLE_BIT_ERR = (1 << 20),
  NVMEDIA_ICP_CSI_ERROR_TYPE_VC_PD_CRC_ERR = (1 << 21),
  NVMEDIA_ICP_CSI_ERROR_TYPE_VC_PD_WC_SHORT_ERR = (1 << 22),
  NVMEDIA_ICP_CSI_ERROR_TYPE_VC_PH_SINGLE_CRC_ERR = (1 << 23)
}
 Defines error status codes that specify the meanings of the "masked" bits in NvMediaICPSettings::csiErrorMask, and the "non-correctable" bits in NvMediaICPSettings::csiErrorType. 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,
  NVMEDIA_ICP_ERROR_STATUS_FATAL
}
 Defines error status codes. More...
 
enum  NvMediaICPCsiInputFrameError
 
enum  NvMediaICPCsiInputStreamError
 
enum  NvMediaICPPixelFaultError
 
enum  NvMediaICPFrameFaultError
 
enum  NvMediaICPMemoryWriteError
 

Functions

NvMediaStatus NvMediaICPGetVersion (NvMediaVersion *version)
 Checks version compatibility for 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 a frame 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 NvMediaICPStop (NvMediaICP *icp)
 Stops the hardware engine from capturing the image. More...
 
NvMediaStatus NvMediaICPResume (NvMediaICP *icp)
 Resumes a stopped image capture operation. 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...
 
NvMediaStatus NvMediaICPWaitForSoF (NvMediaICP *icp) NVM_DEPRECATED_MSG("Use NvMediaICPGetSOFNvSciSyncFence")
 Waits for next SoF (Start of Frame). More...