NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvavtp.h File Reference

Detailed Description

NVIDIA Ethernet Audio/Video Bridge API

Description: This file contains the Ethernet Audio/Video Bridge API.

Definition in file nvavtp.h.

Go to the source code of this file.

Data Structures

struct  tagNvAvtp1722Header
 Defines the AVTP 1722 header structure. More...
 
struct  tagNvAvtp618836Fsd3Hdr
 Defines the AVTP 61883-6 header structure. More...
 
struct  tagNvAvtp618834Fsd3Hdr
 Holds the AVTP 61883-4 header structure. More...
 
struct  tagNvAvtpCvfFsd2Hdr
 Holds the AVTP CVF header structure fsd2. More...
 
struct  tagNvAvtpCvfFsd3Hdr
 Holds the AVTP CVF header structure. More...
 
struct  tagNvAvtpCvfH264PayloadHdr
 
struct  tagNvAvtp1722AAFFsd2
 Defines the 1722 AVTP audio format fsd2. More...
 
struct  tagNvAvtp1722AAFFsd3Hdr
 Defines the 1722 AVTP audio format header. More...
 
struct  tagNvAvtpEthernetHeader
 Defines the Ethernet header structure. More...
 
struct  tagNvAvtpCRFHeader
 
struct  tagNvAvtpInputParams
 Specifies the AVTP input parameters structure. More...
 
struct  tagNvAvtp1722AAFParams
 Defines the AVTP AAF input parameter structure. More...
 
struct  tagNvAvtpCRFParams
 Defines the CRF input parameters structure. More...
 

Macros

#define NVAVTP_ETH_INT_MAX   64
 
#define NV_AVTP_ETHERNET_HEADER_SIZE   sizeof(NvAvtpEthernetHeader)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_ETHERNET_HEADER_WITHOUT_QTAG_SIZE   (sizeof(NvAvtpEthernetHeader) - 4)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_1722_HEADER_SIZE   sizeof(NvAvtp1722Header)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_CRF_HEADER_SIZE   sizeof(NvAvtpCRFHeader)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_61883_6_FSD3_HEADER_SIZE   sizeof(NvAvtp618836Fsd3Hdr)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_61883_4_FSD3_HEADER_SIZE   sizeof(NvAvtp618834Fsd3Hdr)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_1722_AAF_FSD3_HEADER_SIZE   sizeof(NvAvtp1722AAFFsd3Hdr)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_1722_61883_HEADER_SIZE   8
 
#define NV_AVTP_CVF_FSD3_HEADER_SIZE   sizeof(NvAvtpCvfFsd3Hdr)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NV_AVTP_H264_PAYLOAD_HEADER_SIZE   sizeof(NvAvtpH264PayloadHdr)
 Macro for header offsets. See Ethernet Audio/Video Bridge API. More...
 
#define NVAVTP_TSP_SIZE   188
 
#define NV_AVTP_MPEGTS_MAX_TS_PER_PKT   7
 
#define NV_AVTP_ETHER_TYPE_OFFSET   12
 
#define NVAVTP_ETH_INT_MAX   64
 

Typedefs

typedef unsigned char U8
 
typedef unsigned short U16
 
typedef unsigned int U32
 
typedef unsigned long long U64
 
typedef signed char S8
 
typedef signed short S16
 
typedef signed int S32
 
typedef signed long long S64
 
typedef enum tagNvAvtpSubHeaderType ENvAvtpSubHeaderType
 Defines AVTP sub-header types. More...
 
typedef enum tagNvAvtpStatus ENvAvtpStatus
 Indicates results from an AVTP function. More...
 
typedef enum tagNvAvtpBool ENvAvtpBool
 Defines Boolean flags for true/false states. More...
 
typedef struct tagNvAvtp1722Header NvAvtp1722Header
 Defines the AVTP 1722 header structure. More...
 
typedef struct tagNvAvtp618836Fsd3Hdr NvAvtp618836Fsd3Hdr
 Defines the AVTP 61883-6 header structure. More...
 
typedef struct tagNvAvtp618834Fsd3Hdr NvAvtp618834Fsd3Hdr
 Holds the AVTP 61883-4 header structure. More...
 
typedef struct tagNvAvtpCvfFsd2Hdr NvAvtpCvfFsd2Hdr
 Holds the AVTP CVF header structure fsd2. More...
 
typedef struct tagNvAvtpCvfFsd3Hdr NvAvtpCvfFsd3Hdr
 Holds the AVTP CVF header structure. More...
 
typedef struct tagNvAvtpCvfH264PayloadHdr NvAvtpH264PayloadHdr
 
typedef struct tagNvAvtp1722AAFFsd2 NvAvtp1722AAFFsd2
 Defines the 1722 AVTP audio format fsd2. More...
 
typedef struct tagNvAvtp1722AAFFsd3Hdr NvAvtp1722AAFFsd3Hdr
 Defines the 1722 AVTP audio format header. More...
 
typedef struct tagNvAvtpEthernetHeader NvAvtpEthernetHeader
 Defines the Ethernet header structure. More...
 
typedef struct tagNvAvtpCRFHeader NvAvtpCRFHeader
 
typedef struct tagNvAvtpInputParams NvAvtpInputParams
 Specifies the AVTP input parameters structure. More...
 
typedef struct tagNvAvtp1722AAFParams NvAvtp1722AAFParams
 Defines the AVTP AAF input parameter structure. More...
 
typedef struct tagNvAvtpCRFParams NvAvtpCRFParams
 Defines the CRF input parameters structure. More...
 
typedef voidNvAvtpContextHandle
 

Enumerations

enum  tagNvAvtpSubHeaderType {
  eNvAudio,
  eNvMpegts,
  eNvAAF,
  eNvCRF,
  eNvRawVideo,
  eNvCvf
}
 Defines AVTP sub-header types. More...
 
enum  tagNvAvtpStatus {
  eNvAvtpSuccess,
  eNvAvtpFail,
  eNvAvtpInvalidPointer,
  eNvAvtpAllocError,
  eNvAvtpUnsupported,
  eNvAvtpInvalidParam
}
 Indicates results from an AVTP function. More...
 
enum  tagNvAvtpBool {
  eNvAvtpFalse,
  eNvAvtpTrue
}
 Defines Boolean flags for true/false states. More...
 

Functions

ENvAvtpStatus NvAvtpInit (NvAvtpInputParams *pNvAvtpInpParams, NvAvtpContextHandle *phContext)
 Initializes prerequisites to start AVB communication, This function performs the following tasks: More...
 
ENvAvtpStatus NvAvtpDeinit (NvAvtpContextHandle hContext)
 Deinitializes AVB initializations and destroys the AVB context structure instance. More...
 
ENvAvtpStatus NvAvtpSetStaticAvtpHeader (NvAvtpContextHandle hContext, U8 *pPacket)
 Sets the static header part of the AVTP header. More...
 
ENvAvtpStatus NvAvtpSetPacketSize (NvAvtpContextHandle hContext, U16 numSampleUnits)
 Sets the AVTP packet size (header + payload) based on the number of samples to be sent per packet. More...
 
U32 NvAvtpGetPacketSize (NvAvtpContextHandle hContext)
 Gets the AVTP packet size required for the header and payload. More...
 
ENvAvtpStatus NvAvtpSetDestAdd (NvAvtpContextHandle hContext, U8 *pPacket, U8 *pDestAddr)
 Sets the Destination MAC Address in the packet header. More...
 
ENvAvtpStatus NvAvtpSetSrcAdd (NvAvtpContextHandle hContext, U8 *pPacket, U8 *pSrcAddr)
 Sets the Source MAC Address in the packet header. More...
 
ENvAvtpStatus NvAvtpSetQTagFields (NvAvtpContextHandle hContext, U8 *pPacket, U32 priority, U32 vid)
 Sets the QTag fields of the AVTP header. More...
 
ENvAvtpStatus NvAvtpSetSIDValid (NvAvtpContextHandle hContext, U8 *pPacket, U8 sidValid)
 Sets Stream ID validity. More...
 
ENvAvtpStatus NvAvtpSetStreamID (NvAvtpContextHandle hContext, U8 *pPacket, U8 *stream_id)
 Sets the stream ID in the packet header. More...
 
ENvAvtpStatus NvAvtpGetCurrentGptpTimeStamp (NvAvtpContextHandle hContext, U32 *pPtpTime)
 Gets the current time from PHC. More...
 
ENvAvtpStatus NvAvtpSetDynamicAvtpHeader (NvAvtpContextHandle hContext, U8 *pPacket)
 Sets the dynamic part of the packet header. More...
 
ENvAvtpStatus NvAvtpFillDataPayload (NvAvtpContextHandle hContext, U8 *pPacket, U8 *pPayload, U16 numSample)
 Sets the data payload in the AVTP packet. More...
 
U32 NvAvtpGetTimeStamp (NvAvtpContextHandle hContext, U8 *pPacket)
 Gets the timestamp in the 1722 header. More...
 
U8 NvAvtpGetSequenceNum (NvAvtpContextHandle hContext, U8 *pPacket)
 Gets the sequence number in the 1722 header. More...
 
U64 NvAvtpGetStreamId (NvAvtpContextHandle hContext, U8 *pPacket)
 Gets the stream id in the 1722 header. More...
 
ENvAvtpStatus NvAvtpGetStreamLength (NvAvtpContextHandle hContext, U8 *pPacket, U32 *streamLength)
 Gets the length of the data payload in the packet. More...
 
ENvAvtpStatus NvAvtpExtractDataPayload (NvAvtpContextHandle hContext, U8 *pPacket, U8 *pPayload)
 Gets the data payload from the AVTP packet. More...
 
ENvAvtpBool NvAvtpIs1722Packet (U8 *pPacket)
 Determines whether the Ethernet packet is an AVTP 1722 packet. More...
 
ENvAvtpStatus NvAvtpGetAAFParams (NvAvtpContextHandle hContext, U8 *pPacket, NvAvtp1722AAFParams *pAvtp1722AAFParameters)
 Gets the recorded AAF parameters from context. More...
 
ENvAvtpStatus NvAvtpParseAAFHeaders (NvAvtpContextHandle hContext, U8 *pPacket)
 Parses the AVTP AAF headers and populates the AAF parameter structure specified with hContext. More...
 
ENvAvtpStatus NvAvtpSetAAFParams (NvAvtpContextHandle hContext, NvAvtp1722AAFParams *pAvtp1722AAFParameters)
 Sets the AAF parameters into the context. More...
 
ENvAvtpStatus NvAvtpSetAAFDefaultParams (NvAvtpContextHandle hContext)
 Sets the default AAF parameters into the context. More...
 
ENvAvtpStatus NvAvtpSetStaticAAFHeader (NvAvtpContextHandle hContext, U8 *pPacket)
 Sets the static header part of the AVTP header. More...
 
ENvAvtpStatus NvAvtpParseAvtpPacket (NvAvtpContextHandle hContext, U8 *pPacket, ENvAvtpSubHeaderType *peDataType)
 Parses the AVTP packet and populates the header offsets specified with hContext. More...
 
ENvAvtpStatus NvAvtpGetMpegtsDataPayloadSize (NvAvtpContextHandle hContext, U8 *pPacket, U32 *dataPayloadSize)
 Gets the payload size of the AVTP MPEGTS packet. More...
 
ENvAvtpStatus NvAvtpGetCvfDataPayloadSize (NvAvtpContextHandle hContext, U8 *pPacket, U32 *dataPayloadSize)
 Gets the payload size of the AVTP H264 packet. More...
 
ENvAvtpStatus NvAvtpGetAudioDataPayloadSize (NvAvtpContextHandle hContext, U8 *pPacket, U32 *dataPayloadSize)
 Gets the payload size of the AVTP audio packet. More...
 
ENvAvtpStatus NvAvtpGetCRFParams (NvAvtpContextHandle hContext, U8 *pPacket, NvAvtpCRFParams *pAvtpCRFParameters)
 Gets the recorded CRF parameters from the context. More...