NVIDIA DRIVE OS Linux API Reference

5.1.0.2 Release

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

Detailed Description

NVIDIA Media Interface: Parser

Description: This file provides the NvMedia Parser API.

Definition in file nvmedia_parser.h.

Go to the source code of this file.

Data Structures

struct  NvMediaBitStreamPkt
 Holds the bitstream packet input for parsing. More...
 
struct  NvMediaDecRefFrame
 Holds decoded reference frame information. More...
 
struct  NvMediaDecCurrFrame
 Holds decoded current frame information. More...
 
struct  NvMediaDPBInfo
 Holds decoded Picture Buffer information. More...
 
struct  NvMediaParserSeqInfo
 Holds video sequence information. More...
 
struct  NvMediaParserPictureData
 Holds picture information for the current frame decode operation. More...
 
struct  NvMediaParserClientCb
 
struct  NvMediaParserParams
 Holds initialization parameters for the decoder class. More...
 

Macros

#define MAX_SEQ_HDR_LEN
 Defines the maximum size of the sequence header. More...
 

Typedefs

typedef int32_t(* pfnCbNvMediaBeginSequence )(void *, const NvMediaParserSeqInfo *)
 
typedef NvMediaStatus(* pfnCbNvMediaDecodePicture )(void *, NvMediaParserPictureData *)
 
typedef NvMediaStatus(* pfnCbNvMediaDisplayPicture )(void *, NvMediaRefSurface *, int64_t)
 
typedef void(* pfnCbNvMediaUnhandledNALU )(void *, const uint8_t *, int32_t)
 
typedef NvMediaStatus(* pfnCbNvMediaAllocPictureBuffer )(void *, NvMediaRefSurface **)
 
typedef void(* pfnCbNvMediaRelease )(void *, NvMediaRefSurface *)
 
typedef void(* pfnCbNvMediaAddRef )(void *, NvMediaRefSurface *)
 
typedef NvMediaStatus(* pfnCbNvMediaCreateDecrypter )(void *, uint16_t width, uint16_t height)
 
typedef NvMediaStatus(* pfnCbNvMediaDecryptHdr )(void *, NvMediaParserPictureData *)
 
typedef NvMediaStatus(* pfnCbNvMediaSliceDecode )(void *, NvMediaSliceDecodeData *)
 
typedef NvMediaStatus(* pfnCbNvMediaGetClearHdr )(void *, NvMediaParserPictureData *)
 
typedef NvMediaStatus(* pfnCbNvMediaGetBackwardUpdates )(void *, NvMediaVP9BackwardUpdates *)
 
typedef void(* pfnCbNvMediaGetDpbInfoForMetadata )(void *, NvMediaRefSurface *, NvMediaDPBInfo *)
 
typedef void NvMediaParser
 An opaque handle representing an NvMediaParser object. More...
 

Enumerations

enum  NvMediaVideoFormatType {
  NvMVideoFormat_Component = 0,
  NvMVideoFormat_PAL,
  NvMVideoFormat_NTSC,
  NvMVideoFormat_SECAM,
  NvMVideoFormat_MAC,
  NvMVideoFormat_Unspecified,
  NvMVideoFormat_Reserved6,
  NvMVideoFormat_Reserved7
}
 Defines video format types. More...
 
enum  NvMediaColorRangeType {
  NvMColorRange_Reduced = 0,
  NvMColorRange_Full
}
 Defines Color Range types. More...
 
enum  NvMediaColorPrimariesType {
  NvMColorPrimaries_Forbidden = 0,
  NvMColorPrimaries_BT709,
  NvMColorPrimaries_Unspecified,
  NvMColorPrimaries_Reserved,
  NvMColorPrimaries_BT470M,
  NvMColorPrimaries_BT470BG,
  NvMColorPrimaries_SMPTE170M,
  NvMColorPrimaries_SMPTE240M,
  NvMColorPrimaries_GenericFilm,
  NvMColorPrimaries_BT2020
}
 Defines color_primaries types. More...
 
enum  NvMediaMatrixCoeffsType {
  NvMMatrixCoeffs_Forbidden =0,
  NvMMatrixCoeffs_BT709,
  NvMMatrixCoeffs_Unspecified,
  NvMMatrixCoeffs_Reserved,
  NvMMatrixCoeffs_FCC,
  NvMMatrixCoeffs_BT470BG,
  NvMMatrixCoeffs_SMPTE170M,
  NvMMatrixCoeffs_SMPTE240M,
  NvMMatrixCoeffs_YCgCo,
  NvMMatrixCoeffs_BT2020_nc,
  NvMMatrixCoeffs_BT2020_c
}
 Defines matrix_coefficients types. More...
 
enum  NvMediaTransferCharacteristicsType {
  NvMTransferCharacteristics_Forbidden =0,
  NvMTransferCharacteristics_BT709,
  NvMTransferCharacteristics_Unspecified,
  NvMTransferCharacteristics_Reserved,
  NvMTransferCharacteristics_BT470M,
  NvMTransferCharacteristics_BT470BG,
  NvMTransferCharacteristics_SMPTE170M,
  NvMTransferCharacteristics_SMPTE240M,
  NvMTransferCharacteristics_Linear,
  NvMTransferCharacteristics_Log100,
  NvMTransferCharacteristics_Log316,
  NvMTransferCharacteristics_IEC61966_2_4,
  NvMTransferCharacteristics_BT1361,
  NvMTransferCharacteristics_IEC61966_2_1,
  NvMTransferCharacteristics_BT2020_1,
  NvMTransferCharacteristics_BT2020_2,
  NvMTransferCharacteristics_SMPTE2084,
  NvMTransferCharacteristics_ST418_1,
  NvMTransferCharacteristics_HLG
}
 Defines transfer characteristics types. More...
 
enum  NvMediaParserDecodeMode {
  NvMParserDecodeMode_Normal = 0,
  NvMParserDecodeMode_SyncToKeyFrame
}
 Defines the parser decode modes. More...
 
enum  NvMediaParserChromaFormat {
  NvMediaParserChromaFormat_400 = 0,
  NvMediaParserChromaFormat_420,
  NvMediaParserChromaFormat_422,
  NvMediaParserChromaFormat_444
}
 Defines the chroma formats of video content. More...
 
enum  NvMediaParserAttr {
  NvMParseAttr_h264DisableDpb = 100,
  NvMParseAttr_DecodeIDRFrameOnly,
  NvMParseAttr_DecodeMode,
  NvMParseAttr_DropMPEG2BFrames,
  NvMParseAttr_MaxDecFrameBuffering,
  NvMParseAttr_AbortDecodeOnParserError,
  NvMParseAttr_h265DisableDpb,
  NvMParseAttr_DpbSize_SetTo_MaxRefFrames,
  NvMParseAttr_FilterTimestamps = 200,
  NvMParseAttr_UseFrameTimingInfo,
  NvMParseAttr_SetFramerate,
  NvMParseAttr_SetDefaultFramerate,
  NvMParseAttr_SecureDecode = 300,
  NvMParseAttr_EnableVC1APInterlaced = 400,
  NvMParseAttr_SetMaxRes,
  NvMParseAttr_GenerateSliceOffsets,
  NvMParseAttr_ErrorStatusReporting,
  NvMParseAttr_GetBitstreamError,
  NvMParseAttr_PrevFrameLostFlag,
  NvMParseAttr_SliceLevelDecode
}
 Defines parser attributes, which sets/gets decoder properties to parse as per the client/app requirement. More...
 

Functions

NvMediaParserNvMediaParserCreate (NvMediaParserParams *pParserParams)
 Creates a video decoder parser object. More...
 
void NvMediaParserDestroy (NvMediaParser *pParser)
 Destroys a video decoder parser object. More...
 
NvMediaStatus NvMediaParserParse (NvMediaParser *pParser, NvMediaBitStreamPkt *pStreamPacket)
 Parses or decodes bitstream data. More...
 
NvMediaStatus NvMediaParserScan (NvMediaParser *pParser, NvMediaBitStreamPkt *pStreamPacket)
 Performs the first pass handling for encrypted content data. More...
 
NvMediaStatus NvMediaParserSetEncryption (NvMediaParser *pParser, NvMediaAESParams *pAesParams)
 Provides the parser object with encryption metadata for the current buffer. More...
 
void NvMediaParserFlush (NvMediaParser *pParser)
 Flushes the parser decode session. More...
 
NvMediaStatus NvMediaParserSetAttribute (NvMediaParser *pParser, NvMediaParserAttr eAttributeType, uint32_t uAttributeSize, void *pAttribute)
 Sets attributes for the decode parser object. More...
 
NvMediaStatus NvMediaParserGetAttribute (NvMediaParser *pParser, NvMediaParserAttr eAttributeType, uint32_t uAttributeSize, void *pAttribute)
 Gets attributes for the decode parser object. More...