NVIDIA DRIVE OS Linux SDK API Reference

5.1.15.2 Release
For Test and Development only
nvmedia_parser.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
8 
9 #ifndef NVMEDIA_PARSER_H
10 #define NVMEDIA_PARSER_H
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include "nvmedia_common_decode.h"
17 #include "nvmedia_core.h"
18 #include "nvmedia_drm.h"
19 
35 // RVCT compiler doesn't allow anonymous structures or unions by default.
36 #if defined(__CC_ARM)
37 #pragma anon_unions
38 #endif
39 
41 typedef enum {
59 
61 typedef enum {
67 
69 typedef enum {
91 
93 typedef enum {
117 
119 typedef enum {
159 
161 typedef enum
162 {
168 
170 typedef enum
171 {
181 
185 typedef enum
186 {
203 
212 
213  /* Security group */
214 
217 
222  /* Other: Generate slice offsets with CompletePicture mode. */
234 
236 typedef struct
237 {
239  const uint8_t *pByteStream;
241  uint32_t uDataLength;
243  int64_t llPts;
259 
261 typedef struct
262 {
264  uint8_t uPresentFlag;
266  uint8_t uIDRFrame;
268  uint8_t uLTRefFrame;
272  uint8_t uPredicted;
276  uint32_t uFrameNum;
278  uint32_t uLTRFrameIdx;
280 
282 typedef struct
283 {
285  uint8_t uRefFrame;
287  uint8_t uIDRFrame;
289  uint8_t uLTRefFrame;
291  uint8_t uReserve0;
295  uint32_t uFrameNum;
297  uint32_t uLTRFrameIdx;
299 
301 typedef struct
302 {
304  uint32_t poc_fn_bits;
313  NvMediaDecRefFrame RPSList[16];
315 
321 #define MAX_SEQ_HDR_LEN 512U
322 
328 typedef struct
329 {
330  /* Codec information */
331 
334 
335  /* Frame information */
336 
338  double fFrameRate;
340  uint32_t uDecodeBuffers;
342  uint8_t bProgSeq;
344  uint32_t uBitrate;
345 
346  /* Sequence information */
347 
353  uint8_t SequenceHeaderData[MAX_SEQ_HDR_LEN];
354 
355  /* Frame size information */
356 
358  uint16_t uCodedWidth;
360  uint16_t uCodedHeight;
362  uint16_t uDisplayWidth;
364  uint16_t uDisplayHeight;
366  uint16_t uActualWidth;
368  uint16_t uActualHeight;
373 
374  /* Aspect ratio information */
375 
377  uint16_t uDARWidth;
379  uint16_t uDARHeight;
381  uint16_t uSARWidth;
383  uint16_t uSARHeight;
384 
385  /* Color information */
386 
416 
417 
425 typedef struct
426 {
428  uint16_t uDARWidth;
430  uint16_t uDARHeight;
431 
436 
438  uint16_t uDisplayWidth;
440  uint16_t uDisplayHeight;
441 
443  int64_t llFrameTime;
445  int64_t llTimeBase;
446 
449 
451  int32_t field_pic_flag;
455  int32_t second_field;
463  int32_t ref_pic_flag;
465  int32_t intra_pic_flag;
467  int32_t chroma_format;
470 
475  uint8_t *pBitstreamData;
477  uint32_t uNumSlices;
479  uint32_t *pSliceDataOffsets;
481  uint32_t nal_ref_idc;
484 
486  union {
501 #if NV_BUILD_CONFIGURATION_EXPOSING_T23X
502  /* picture parameter information for av1 \ref NvMediaPictureInfoAV1*/
503  NvMediaPictureInfoAV1 av1;
504 #endif
505  } CodecSpecificInfo;
506 
509 
516 
520 typedef int32_t (*pfnCbNvMediaBeginSequence)(void *, const NvMediaParserSeqInfo *);
523 typedef void (*pfnCbNvMediaUnhandledNALU)(void *, const uint8_t *, int32_t);
525 typedef void (*pfnCbNvMediaRelease)(void *, NvMediaRefSurface *);
526 typedef void (*pfnCbNvMediaAddRef)(void *, NvMediaRefSurface *);
527 typedef NvMediaStatus (*pfnCbNvMediaCreateDecrypter)(void *, uint16_t width, uint16_t height);
535 typedef struct
536 {
590 
592 typedef struct
593 {
597  void *pClientCtx;
601  uint16_t uErrorThreshold;
607 
611 typedef void NvMediaParser;
612 
626  const NvMediaParserParams *pParserParams
627 );
628 
632 void
634  NvMediaParser *pParser
635 );
636 
674  const NvMediaParser *pParser,
675  const NvMediaBitStreamPkt *pStreamPacket
676 );
677 
704  const NvMediaParser *pParser,
705  const NvMediaBitStreamPkt *pStreamPacket
706 );
707 
723  const NvMediaParser *pParser,
724  const NvMediaAESParams *pAesParams
725 );
726 
740 void
742  const NvMediaParser *pParser
743 );
744 
761  NvMediaParser *pParser,
762  NvMediaParserAttr eAttributeType,
763  uint32_t uAttributeSize,
764  void *pAttribute
765 );
766 
783  const NvMediaParser *pParser,
784  NvMediaParserAttr eAttributeType,
785  uint32_t uAttributeSize,
786  void *pAttribute
787 );
788 
791 #ifdef __cplusplus
792 }; /* extern "C" */
793 #endif
794 
795 #endif /* NVMEDIA_PARSER_H */
NvMediaParserPictureData::llFrameTime
int64_t llFrameTime
Frame time in time_base units if NvMParseAttr_UseFrameTimingInfo is enabled.
Definition: nvmedia_parser.h:443
NvMediaParserClientCb::BeginSequence
pfnCbNvMediaBeginSequence BeginSequence
callback to provide sequence level information to client Client will use this to create NvMediaVideoD...
Definition: nvmedia_parser.h:543
NvMTransferCharacteristics_SMPTE2084
@ NvMTransferCharacteristics_SMPTE2084
transfer characteristics: SMPTE2084
Definition: nvmedia_parser.h:153
NvMTransferCharacteristics_Forbidden
@ NvMTransferCharacteristics_Forbidden
transfer characteristics: Forbidden
Definition: nvmedia_parser.h:121
NvMediaBitStreamPkt::bEOS
NvMediaBool bEOS
NVMEDIA_TRUE if this is an End-Of-Stream packet (flush everything)
Definition: nvmedia_parser.h:245
NvMediaDecRefFrame::uFrameNum
uint32_t uFrameNum
Frame Num.
Definition: nvmedia_parser.h:276
NvMediaParserPictureData::uDisplayLeftOffset
uint16_t uDisplayLeftOffset
Left offset for display.
Definition: nvmedia_parser.h:433
NvMVideoFormat_Reserved7
@ NvMVideoFormat_Reserved7
video format: Reserved
Definition: nvmedia_parser.h:57
NvMediaParserClientCb::DecodePicture
pfnCbNvMediaDecodePicture DecodePicture
callback to provide one frame/field worth of data required to achieve decoding using NvMediaVideoDeco...
Definition: nvmedia_parser.h:551
pfnCbNvMediaDecryptHdr
NvMediaStatus(* pfnCbNvMediaDecryptHdr)(void *, NvMediaParserPictureData *)
Definition: nvmedia_parser.h:528
NvMediaParserSeqInfo::eVideoFormat
NvMediaVideoFormatType eVideoFormat
Color info: Specifies the Video Format.
Definition: nvmedia_parser.h:394
pfnCbNvMediaUnhandledNALU
void(* pfnCbNvMediaUnhandledNALU)(void *, const uint8_t *, int32_t)
Definition: nvmedia_parser.h:523
NvMediaParserSeqInfo::uDARWidth
uint16_t uDARWidth
Aspect ratio info: Displays Aspect Ratio = uDARWidth.
Definition: nvmedia_parser.h:377
NvMediaParserParams::pExternalSeqInfo
NvMediaParserSeqInfo * pExternalSeqInfo
Optional external sequence header data.
Definition: nvmedia_parser.h:605
NvMediaParserSeqInfo::bProgSeq
uint8_t bProgSeq
Frame info: Specifies whether the bitstream is progressive or not.
Definition: nvmedia_parser.h:342
NvMediaMasteringDisplayData
Mastering display data for an H.265 picture.
Definition: nvmedia_common_decode.h:347
NvMediaParserSeqInfo
Holds video sequence information.
Definition: nvmedia_parser.h:328
NvMTransferCharacteristics_BT2020_2
@ NvMTransferCharacteristics_BT2020_2
transfer characteristics: BT2020_2
Definition: nvmedia_parser.h:151
NvMColorRange_Full
@ NvMColorRange_Full
color range: full
Definition: nvmedia_parser.h:65
NvMediaPictureInfoVP9
Holds picture parameter information for a VP9 picture.
Definition: nvmedia_common_decode.h:1267
NvMediaBitStreamPkt::pByteStream
const uint8_t * pByteStream
Pointer to byte stream data.
Definition: nvmedia_parser.h:239
NvMediaVideoFormatType
NvMediaVideoFormatType
Defines video format types.
Definition: nvmedia_parser.h:41
NvMParserDecodeMode_SyncToKeyFrame
@ NvMParserDecodeMode_SyncToKeyFrame
only decode key frames
Definition: nvmedia_parser.h:166
NvMediaParserSeqInfo::uChromaLocTopField
uint8_t uChromaLocTopField
chroma info: chroma_sample_loc_type_top_field
Definition: nvmedia_parser.h:412
NvMColorPrimaries_SMPTE170M
@ NvMColorPrimaries_SMPTE170M
color primaries: SMPTE170M
Definition: nvmedia_parser.h:83
NvMColorPrimaries_Reserved
@ NvMColorPrimaries_Reserved
color primaries: Reserved
Definition: nvmedia_parser.h:77
NvMediaParser
void NvMediaParser
An opaque handle representing an NvMediaParser object.
Definition: nvmedia_parser.h:611
NvMediaColorRangeType
NvMediaColorRangeType
Defines Color Range types.
Definition: nvmedia_parser.h:61
NvMediaParserSeqInfo::uBitDepthChromaMinus8
uint8_t uBitDepthChromaMinus8
Color info: Specifies the Chroma bit depth (0=8bit)
Definition: nvmedia_parser.h:392
NvMediaSliceDecodeData
slice level data used with slice level decoding
Definition: nvmedia_common_decode.h:386
NvMediaMatrixCoeffsType
NvMediaMatrixCoeffsType
Defines matrix_coefficients types.
Definition: nvmedia_parser.h:93
NvMMatrixCoeffs_FCC
@ NvMMatrixCoeffs_FCC
matrix coefficients: FCC
Definition: nvmedia_parser.h:103
NvMediaDecCurrFrame::uFrameNum
uint32_t uFrameNum
frame number
Definition: nvmedia_parser.h:295
NvMColorPrimaries_BT470M
@ NvMColorPrimaries_BT470M
color primaries: BT470M
Definition: nvmedia_parser.h:79
NvMediaPictureInfoMPEG4Part2
Holds picture parameter information for an MPEG-4 Part 2 picture.
Definition: nvmedia_common_decode.h:787
NvMediaParserSeqInfo::eTransferCharacteristics
NvMediaTransferCharacteristicsType eTransferCharacteristics
Color info: Specifies the Transfer Characteristics.
Definition: nvmedia_parser.h:400
NvMediaParserPictureData::SliceData
NvMediaSliceDecodeData SliceData
Pass slice level data if slice level decoding enabled.
Definition: nvmedia_parser.h:508
NvMediaParserSeqInfo::uSequenceHeaderSize
uint32_t uSequenceHeaderSize
Sequence info: Specifies the number of bytes in SequenceHeaderData.
Definition: nvmedia_parser.h:349
pfnCbNvMediaSliceDecode
NvMediaStatus(* pfnCbNvMediaSliceDecode)(void *, NvMediaSliceDecodeData *)
Definition: nvmedia_parser.h:529
NvMediaParserPictureData::AesMetaData
NvMediaAESMetaData AesMetaData
Encrypted content decoding specific parameters.
Definition: nvmedia_parser.h:512
NvMColorRange_Reduced
@ NvMColorRange_Reduced
color range: limited
Definition: nvmedia_parser.h:63
NvMediaDPBInfo
Holds decoded Picture Buffer information.
Definition: nvmedia_parser.h:301
NvMediaParserPictureData::uBitstreamDataLen
uint32_t uBitstreamDataLen
Bitstream data.
Definition: nvmedia_parser.h:473
NvMediaParserSeqInfo::bMasteringDispDataPresent
NvMediaBool bMasteringDispDataPresent
Color info: Specifies that mastering display data is present.
Definition: nvmedia_parser.h:404
NvMediaDPBInfo::uActiveRefFrames
uint32_t uActiveRefFrames
number of valid entries in RPS
Definition: nvmedia_parser.h:308
NvMediaParserAttr
NvMediaParserAttr
Defines parser attributes, which sets/gets decoder properties to parse as per the client/app requirem...
Definition: nvmedia_parser.h:185
NvMediaParserSetEncryption
NvMediaStatus NvMediaParserSetEncryption(const NvMediaParser *pParser, const NvMediaAESParams *pAesParams)
Provides the parser object with encryption metadata for the current buffer.
NvMediaBitStreamPkt::llPts
int64_t llPts
Presentation Time Stamp for this packet (clock rate specified at initialization)
Definition: nvmedia_parser.h:243
NvMMatrixCoeffs_BT2020_nc
@ NvMMatrixCoeffs_BT2020_nc
matrix coefficients: BT2020 non-constant luminance system
Definition: nvmedia_parser.h:113
NvMVideoFormat_Unspecified
@ NvMVideoFormat_Unspecified
video format: Unspecified
Definition: nvmedia_parser.h:53
NvMTransferCharacteristics_BT709
@ NvMTransferCharacteristics_BT709
transfer characteristics: BT709
Definition: nvmedia_parser.h:123
NvMTransferCharacteristics_SMPTE170M
@ NvMTransferCharacteristics_SMPTE170M
transfer characteristics: SMPTE170M
Definition: nvmedia_parser.h:133
pfnCbNvMediaAllocPictureBuffer
NvMediaStatus(* pfnCbNvMediaAllocPictureBuffer)(void *, NvMediaRefSurface **)
Definition: nvmedia_parser.h:524
NvMTransferCharacteristics_IEC61966_2_1
@ NvMTransferCharacteristics_IEC61966_2_1
transfer characteristics: IEC61966_2_1
Definition: nvmedia_parser.h:147
NvMediaParserClientCb::GetClearHdr
pfnCbNvMediaGetClearHdr GetClearHdr
callback to get clear header data from NvMediaVideoDecrypter.
Definition: nvmedia_parser.h:578
NvMediaParserSeqInfo::uDecodeBuffers
uint32_t uDecodeBuffers
Frame info: Specifies the number of decode buffers required.
Definition: nvmedia_parser.h:340
NvMediaParserChromaFormat_422
@ NvMediaParserChromaFormat_422
chroma format YUV422
Definition: nvmedia_parser.h:177
NvMediaParserSeqInfo::uActualWidth
uint16_t uActualWidth
Frame size info: Specifies the actual Width.
Definition: nvmedia_parser.h:366
NvMediaParserPictureData::hevc
NvMediaPictureInfoH265 hevc
picture parameter information for h265 NvMediaPictureInfoH265
Definition: nvmedia_parser.h:498
NvMParseAttr_AbortDecodeOnParserError
@ NvMParseAttr_AbortDecodeOnParserError
Frame management: Abort decoding when unsupported features or erroneous bitstream.
Definition: nvmedia_parser.h:198
NvMediaParserPictureData::repeat_first_field
int32_t repeat_first_field
For 3:2 pulldown (number of additional fields, 2=frame doubling, 4=frame tripling)
Definition: nvmedia_parser.h:461
NvMediaParserDestroy
void NvMediaParserDestroy(NvMediaParser *pParser)
Destroys a video decoder parser object.
NvMediaParserClientCb
Definition: nvmedia_parser.h:535
NvMediaParserClientCb::UnhandledNALU
pfnCbNvMediaUnhandledNALU UnhandledNALU
Callback to report unhandled NALU.
Definition: nvmedia_parser.h:555
NvMediaContentLightLevelInfo
Content Light Level info for an H.265 picture.
Definition: nvmedia_common_decode.h:369
NvMediaParserPictureData::uDisplayTopOffset
uint16_t uDisplayTopOffset
Top offset for display.
Definition: nvmedia_parser.h:435
NvMediaParserPictureData::field_pic_flag
int32_t field_pic_flag
0=frame picture, 1=field picture
Definition: nvmedia_parser.h:451
NvMediaParserSeqInfo::uCodedWidth
uint16_t uCodedWidth
Frame size info: Specifies the coded Picture Width.
Definition: nvmedia_parser.h:358
NvMMatrixCoeffs_BT470BG
@ NvMMatrixCoeffs_BT470BG
matrix coefficients: BT470BG
Definition: nvmedia_parser.h:105
NvMediaAESMetaData
Holds re-encrypted data information that the video decoder returns to the parser.
Definition: nvmedia_drm.h:109
NvMVideoFormat_MAC
@ NvMVideoFormat_MAC
video format: MAC
Definition: nvmedia_parser.h:51
NvMediaParserSeqInfo::eColorPrimaries
NvMediaColorPrimariesType eColorPrimaries
Color info: Specifies the Color Primaries.
Definition: nvmedia_parser.h:398
NvMediaParserPictureData::encryptParams
NvMediaEncryptParams encryptParams
contains encrypted metadata for pass1
Definition: nvmedia_parser.h:514
NvMediaParserClientCb::DecryptHdr
pfnCbNvMediaDecryptHdr DecryptHdr
Callback to pass encrypted data for decryption of frame-headers.
Definition: nvmedia_parser.h:570
NvMediaParserChromaFormat_400
@ NvMediaParserChromaFormat_400
chroma format YUV400 (Only Y component)
Definition: nvmedia_parser.h:173
NvMParseAttr_ErrorStatusReporting
@ NvMParseAttr_ErrorStatusReporting
Other: Enable error status reporting.
Definition: nvmedia_parser.h:225
NvMediaParserParse
NvMediaStatus NvMediaParserParse(const NvMediaParser *pParser, const NvMediaBitStreamPkt *pStreamPacket)
Parses or decodes bitstream data.
NvMediaParserSeqInfo::uSARHeight
uint16_t uSARHeight
Aspect ratio info: Specifies the sample Aspect Ratio = uSARHeight.
Definition: nvmedia_parser.h:383
NvMColorPrimaries_BT2020
@ NvMColorPrimaries_BT2020
color primaries: BT2020
Definition: nvmedia_parser.h:89
NvMColorPrimaries_SMPTE240M
@ NvMColorPrimaries_SMPTE240M
color primaries: SMPTE240M
Definition: nvmedia_parser.h:85
NvMediaDecRefFrame::uPredicted
uint8_t uPredicted
value 0 or 1 : whether the frame is motion predicted for the current frame as specified in slice head...
Definition: nvmedia_parser.h:272
NvMediaParserSeqInfo::eChromaFormat
NvMediaParserChromaFormat eChromaFormat
Color info: Specifies the chroma format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4)
Definition: nvmedia_parser.h:388
NvMediaParserSeqInfo::fFrameRate
double fFrameRate
Frame info: Specifies the frame rate of the bitstream.
Definition: nvmedia_parser.h:338
NvMediaBitStreamPkt::uDataLength
uint32_t uDataLength
Data length for this packet.
Definition: nvmedia_parser.h:241
NvMediaBitStreamPkt::bCompleteSlice
NvMediaBool bCompleteSlice
NVMEDIA_TRUE if this packet contains complete Slice.
Definition: nvmedia_parser.h:253
NvMParseAttr_SecureDecode
@ NvMParseAttr_SecureDecode
Security: Enable m_pSlhData allocation for encrypted streams in parser.
Definition: nvmedia_parser.h:216
NvMediaParserCreate
NvMediaParser * NvMediaParserCreate(const NvMediaParserParams *pParserParams)
Creates a video decoder parser object.
NvMediaParserSeqInfo::MasteringDispData
NvMediaMasteringDisplayData MasteringDispData
Color info: Specifies Only: Mastering display data if present.
Definition: nvmedia_parser.h:406
NvMediaParserSeqInfo::eCodec
NvMediaVideoCodec eCodec
Codec info: Specifies the compression standard.
Definition: nvmedia_parser.h:333
NvMediaParserPictureData::progressive_frame
int32_t progressive_frame
Frame is progressive or not.
Definition: nvmedia_parser.h:457
NvMParseAttr_GenerateSliceOffsets
@ NvMParseAttr_GenerateSliceOffsets
Definition: nvmedia_parser.h:223
NvMediaParserSeqInfo::uSARWidth
uint16_t uSARWidth
Aspect ratio info: Specifies the sample Aspect Ratio = uSARWidth.
Definition: nvmedia_parser.h:381
NvMediaVP9BackwardUpdates
Holds VP9 counters for adaptive entropy contexts.
Definition: nvmedia_common_decode.h:1102
NvMediaParserParams::eCodec
NvMediaVideoCodec eCodec
Codec type.
Definition: nvmedia_parser.h:603
NvMediaParserParams::pClientCtx
void * pClientCtx
Client context.
Definition: nvmedia_parser.h:597
NvMParseAttr_SliceLevelDecode
@ NvMParseAttr_SliceLevelDecode
Other: Enable slice-level decode for the current session.
Definition: nvmedia_parser.h:232
NvMMatrixCoeffs_BT709
@ NvMMatrixCoeffs_BT709
matrix coefficients: BT709
Definition: nvmedia_parser.h:97
NvMMatrixCoeffs_Reserved
@ NvMMatrixCoeffs_Reserved
matrix coefficients: Reserved
Definition: nvmedia_parser.h:101
NvMediaParserPictureData::mpeg4
NvMediaPictureInfoMPEG4Part2 mpeg4
picture parameter information for mpeg4 NvMediaPictureInfoMPEG4Part2
Definition: nvmedia_parser.h:490
NvMediaParserPictureData::top_field_first
int32_t top_field_first
Frame pictures only.
Definition: nvmedia_parser.h:459
NvMTransferCharacteristics_Unspecified
@ NvMTransferCharacteristics_Unspecified
transfer characteristics: Unspecified
Definition: nvmedia_parser.h:125
NvMColorPrimaries_Forbidden
@ NvMColorPrimaries_Forbidden
color primaries: Forbidden
Definition: nvmedia_parser.h:71
NvMediaParserPictureData::uDisplayHeight
uint16_t uDisplayHeight
Display Height.
Definition: nvmedia_parser.h:440
NvMediaDecCurrFrame::uLTRFrameIdx
uint32_t uLTRFrameIdx
LongTermFrameIdx of a picture.
Definition: nvmedia_parser.h:297
NvMediaVideoCodec
NvMediaVideoCodec
Video codec type.
Definition: nvmedia_common_encode_decode.h:38
NvMediaBitStreamPkt::bDecodeNextSlice
NvMediaBool bDecodeNextSlice
NVMEDIA_TRUE if this packet belongs to the same frame currently being decoded.
Definition: nvmedia_parser.h:255
NvMediaParserPictureData::vp9
NvMediaPictureInfoVP9 vp9
picture parameter information for vp9 NvMediaPictureInfoVP9
Definition: nvmedia_parser.h:500
NvMediaParserClientCb::DisplayPicture
pfnCbNvMediaDisplayPicture DisplayPicture
Callback to pass frame-buffer with its timestamp in display order for display.
Definition: nvmedia_parser.h:553
NvMediaBitStreamPkt::bPTSValid
NvMediaBool bPTSValid
NVMEDIA_TRUE if llPTS is valid (also used to detect frame boundaries for VC1 SP/MP)
Definition: nvmedia_parser.h:247
NvMediaParserParams::pClient
NvMediaParserClientCb * pClient
Should always be present if using parsing functionality.
Definition: nvmedia_parser.h:595
NvMediaParserPictureData
Holds picture information for the current frame decode operation.
Definition: nvmedia_parser.h:425
NvMVideoFormat_NTSC
@ NvMVideoFormat_NTSC
video format: NTSC
Definition: nvmedia_parser.h:47
NvMediaParserSeqInfo::uActualHeight
uint16_t uActualHeight
Frame size info: Specifies the actual Height.
Definition: nvmedia_parser.h:368
_NvMediaAESParams
Holds encrypted metadata information that the client sends to the parser.
Definition: nvmedia_drm.h:130
NvMediaParserPictureData::bottom_field_flag
int32_t bottom_field_flag
0=top field, 1=bottom field (ignored if field_pic_flag=0)
Definition: nvmedia_parser.h:453
NvMParserDecodeMode_Normal
@ NvMParserDecodeMode_Normal
normal decode mode
Definition: nvmedia_parser.h:164
NvMTransferCharacteristics_Linear
@ NvMTransferCharacteristics_Linear
transfer characteristics: Linear
Definition: nvmedia_parser.h:137
NvMediaParserClientCb::GetDpbInfoForMetadata
pfnCbNvMediaGetDpbInfoForMetadata GetDpbInfoForMetadata
callback to pass internal DPB information to the client.
Definition: nvmedia_parser.h:588
NvMediaParserSeqInfo::uDisplayTopOffset
uint16_t uDisplayTopOffset
Frame size info: Specifies the top offset for display.
Definition: nvmedia_parser.h:372
NvMediaParserSeqInfo::uBitDepthLumaMinus8
uint8_t uBitDepthLumaMinus8
Color info: Specifies the Luma bit depth (0=8bit)
Definition: nvmedia_parser.h:390
NvMediaParserParams::uErrorThreshold
uint16_t uErrorThreshold
Threshold for deciding to bypass of picture (0=do not decode, 100=always decode)
Definition: nvmedia_parser.h:601
NvMediaBitStreamPkt::uRTP_NALUSizeFieldWidthInBytes
uint32_t uRTP_NALUSizeFieldWidthInBytes
if it is 0 then it is non-RTP
Definition: nvmedia_parser.h:257
NvMediaDecRefFrame::uLTRFrameIdx
uint32_t uLTRFrameIdx
LongTermFrameIdx of the frame.
Definition: nvmedia_parser.h:278
NvMediaDecCurrFrame::uLTRefFrame
uint8_t uLTRefFrame
value 0 or 1 : indicating long term reference
Definition: nvmedia_parser.h:289
NvMediaDecCurrFrame::uPictureOrderCnt
uint32_t uPictureOrderCnt
picture order counter
Definition: nvmedia_parser.h:293
NvMParseAttr_EnableVC1APInterlaced
@ NvMParseAttr_EnableVC1APInterlaced
Other: Enable VC-1 advanced profile interlaced.
Definition: nvmedia_parser.h:219
NvMColorPrimaries_Unspecified
@ NvMColorPrimaries_Unspecified
color primaries: Unspecified
Definition: nvmedia_parser.h:75
NvMediaParserPictureData::uNumSlices
uint32_t uNumSlices
Number of slices in this picture.
Definition: nvmedia_parser.h:477
NvMediaDPBInfo::poc_fn_bits
uint32_t poc_fn_bits
Specify the max number of bits used to derive frame number.
Definition: nvmedia_parser.h:304
NvMVideoFormat_SECAM
@ NvMVideoFormat_SECAM
video format: SECAM
Definition: nvmedia_parser.h:49
NvMediaParserPictureData::ref_pic_flag
int32_t ref_pic_flag
Frame is a reference frame.
Definition: nvmedia_parser.h:463
NvMediaDPBInfo::currentFrame
NvMediaDecCurrFrame currentFrame
Specify the property of current decoded frame.
Definition: nvmedia_parser.h:306
NvMediaParserPictureData::chroma_format
int32_t chroma_format
Chroma Format (should match sequence info)
Definition: nvmedia_parser.h:467
pfnCbNvMediaDisplayPicture
NvMediaStatus(* pfnCbNvMediaDisplayPicture)(void *, NvMediaRefSurface *, int64_t)
Definition: nvmedia_parser.h:522
NvMediaParserClientCb::AddRef
pfnCbNvMediaAddRef AddRef
Callback to increase ref counting of buffer by 1 when surface is used as reference.
Definition: nvmedia_parser.h:566
NvMediaBitStreamPkt
Holds the bitstream packet input for parsing.
Definition: nvmedia_parser.h:236
NvMediaParserPictureData::intra_pic_flag
int32_t intra_pic_flag
Frame is entirely intra coded (no temporal dependencies)
Definition: nvmedia_parser.h:465
NvMTransferCharacteristics_Reserved
@ NvMTransferCharacteristics_Reserved
transfer characteristics: Reserved
Definition: nvmedia_parser.h:127
NvMediaEncryptParams
Holds encrypted metadata information that the parser passes to the video decoder component.
Definition: nvmedia_drm.h:74
NvMediaPictureInfoMPEG1Or2
Holds picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: nvmedia_common_decode.h:716
NvMediaParserSeqInfo::ContentLightLevelInfo
NvMediaContentLightLevelInfo ContentLightLevelInfo
Color info: Specifies Only: Content Light Level data if present.
Definition: nvmedia_parser.h:410
NvMediaParserClientCb::Release
pfnCbNvMediaRelease Release
Callback to tell client to decrement the buffer reference count by 1.
Definition: nvmedia_parser.h:562
NvMediaParserSeqInfo::uDisplayHeight
uint16_t uDisplayHeight
Frame size info: Specifies the displayed Vertical Size.
Definition: nvmedia_parser.h:364
NvMTransferCharacteristics_BT1361
@ NvMTransferCharacteristics_BT1361
transfer characteristics: BT1361
Definition: nvmedia_parser.h:145
NvMediaParserClientCb::GetBackwardUpdates
pfnCbNvMediaGetBackwardUpdates GetBackwardUpdates
callback to get backward prabability data for VP9 codec.
Definition: nvmedia_parser.h:583
NvMediaParserSeqInfo::uDisplayWidth
uint16_t uDisplayWidth
Frame size info: Specifies the displayed Horizontal Size.
Definition: nvmedia_parser.h:362
NvMMatrixCoeffs_Unspecified
@ NvMMatrixCoeffs_Unspecified
matrix coefficients: Unspecified
Definition: nvmedia_parser.h:99
NvMTransferCharacteristics_BT470BG
@ NvMTransferCharacteristics_BT470BG
transfer characteristics: BT470BG
Definition: nvmedia_parser.h:131
NvMediaParserPictureData::uDARWidth
uint16_t uDARWidth
Display Aspect Ratio = uDARWidth.
Definition: nvmedia_parser.h:428
NvMediaParserSeqInfo::uCodedHeight
uint16_t uCodedHeight
Frame size info: Specifies the coded Picture Height.
Definition: nvmedia_parser.h:360
NvMediaParserChromaFormat
NvMediaParserChromaFormat
Defines the chroma formats of video content.
Definition: nvmedia_parser.h:170
NvMParseAttr_MaxDecFrameBuffering
@ NvMParseAttr_MaxDecFrameBuffering
Frame management: Set default H.264 max_dec_frame_buffering.
Definition: nvmedia_parser.h:196
NvMediaTransferCharacteristicsType
NvMediaTransferCharacteristicsType
Defines transfer characteristics types.
Definition: nvmedia_parser.h:119
NvMTransferCharacteristics_BT2020_1
@ NvMTransferCharacteristics_BT2020_1
transfer characteristics: BT2020_1
Definition: nvmedia_parser.h:149
NvMediaDecRefFrame
Holds decoded reference frame information.
Definition: nvmedia_parser.h:261
NvMMatrixCoeffs_BT2020_c
@ NvMMatrixCoeffs_BT2020_c
matrix coefficients: BT2020 constant luminance system
Definition: nvmedia_parser.h:115
nvmedia_core.h
NVIDIA Media Interface: Core
NvMediaParserPictureData::llTimeBase
int64_t llTimeBase
Base time units per second if NvMParseAttr_UseFrameTimingInfo is enabled.
Definition: nvmedia_parser.h:445
NvMediaParserPictureData::pBitstreamData
uint8_t * pBitstreamData
Pointer to the bitstream data for this picture (slice-layer)
Definition: nvmedia_parser.h:475
pfnCbNvMediaBeginSequence
int32_t(* pfnCbNvMediaBeginSequence)(void *, const NvMediaParserSeqInfo *)
Definition: nvmedia_parser.h:520
NvMediaParserPictureData::mpeg2
NvMediaPictureInfoMPEG1Or2 mpeg2
picture parameter information for mpeg1/2 NvMediaPictureInfoMPEG1Or2
Definition: nvmedia_parser.h:488
NvMediaDecCurrFrame::uRefFrame
uint8_t uRefFrame
value 0 or 1 : indicating current frame is referenced or not
Definition: nvmedia_parser.h:285
NvMMatrixCoeffs_SMPTE240M
@ NvMMatrixCoeffs_SMPTE240M
matrix coefficients: SMPTE240
Definition: nvmedia_parser.h:109
NvMediaDecRefFrame::uLTRefFrame
uint8_t uLTRefFrame
value 0 or 1 : whether the frame is long term ref
Definition: nvmedia_parser.h:268
NvMediaParserPictureData::second_field
int32_t second_field
Second field of a complementary field pair.
Definition: nvmedia_parser.h:455
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:180
NvMVideoFormat_Reserved6
@ NvMVideoFormat_Reserved6
video format: Reserved
Definition: nvmedia_parser.h:55
NvMediaParserSeqInfo::eVideoFullRangeFlag
NvMediaColorRangeType eVideoFullRangeFlag
Color info: Specifies the Video Range (0-255) vs (16-235)
Definition: nvmedia_parser.h:396
NvMediaPictureInfoH265
Holds picture parameter information for an H.265 picture.
Definition: nvmedia_common_decode.h:424
NvMParseAttr_SetMaxRes
@ NvMParseAttr_SetMaxRes
Other: For setting max resolution for creating decoder.
Definition: nvmedia_parser.h:221
NvMTransferCharacteristics_BT470M
@ NvMTransferCharacteristics_BT470M
transfer characteristics: BT470M
Definition: nvmedia_parser.h:129
NvMediaDecRefFrame::uPresentFlag
uint8_t uPresentFlag
value 0 or 1 : whether the frame is present in DPB
Definition: nvmedia_parser.h:264
NvMediaParserPictureData::uDARHeight
uint16_t uDARHeight
Display Aspect Ratio = uDARHeight.
Definition: nvmedia_parser.h:430
NvMColorPrimaries_GenericFilm
@ NvMColorPrimaries_GenericFilm
color primaries: GenericFilm
Definition: nvmedia_parser.h:87
pfnCbNvMediaGetDpbInfoForMetadata
void(* pfnCbNvMediaGetDpbInfoForMetadata)(void *, NvMediaRefSurface *, NvMediaDPBInfo *)
Definition: nvmedia_parser.h:532
NvMediaParserClientCb::SliceDecode
pfnCbNvMediaSliceDecode SliceDecode
Callback to pass slice level data for the slice level decoding use case.
Definition: nvmedia_parser.h:574
NvMediaParserClientCb::CreateDecrypter
pfnCbNvMediaCreateDecrypter CreateDecrypter
Callback to create NvMediaVideoDecrypter component to handle encrypted contents.
Definition: nvmedia_parser.h:568
NvMediaParserChromaFormat_420
@ NvMediaParserChromaFormat_420
chroma format YUV420
Definition: nvmedia_parser.h:175
NvMediaParserPictureData::nal_ref_idc
uint32_t nal_ref_idc
Required only for encrypted h264 bitstreams.
Definition: nvmedia_parser.h:481
NvMediaPictureInfoVC1
Holds picture parameter information for a VC1 picture.
Definition: nvmedia_common_decode.h:872
NvMParseAttr_DropMPEG2BFrames
@ NvMParseAttr_DropMPEG2BFrames
Frame management: Drop MPEG2 B-Frames.
Definition: nvmedia_parser.h:194
NvMTransferCharacteristics_Log100
@ NvMTransferCharacteristics_Log100
transfer characteristics: Log100
Definition: nvmedia_parser.h:139
NvMColorPrimaries_BT709
@ NvMColorPrimaries_BT709
color primaries: BT_709
Definition: nvmedia_parser.h:73
NvMParseAttr_GetBitstreamError
@ NvMParseAttr_GetBitstreamError
Other: Get bitstream error for current input buffer.
Definition: nvmedia_parser.h:227
NvMColorPrimaries_BT470BG
@ NvMColorPrimaries_BT470BG
color primaries: BT470BG
Definition: nvmedia_parser.h:81
pfnCbNvMediaAddRef
void(* pfnCbNvMediaAddRef)(void *, NvMediaRefSurface *)
Definition: nvmedia_parser.h:526
NvMediaParserGetAttribute
NvMediaStatus NvMediaParserGetAttribute(const NvMediaParser *pParser, NvMediaParserAttr eAttributeType, uint32_t uAttributeSize, void *pAttribute)
Gets attributes for the decode parser object.
NvMParseAttr_h265DisableDpb
@ NvMParseAttr_h265DisableDpb
Frame management: Disable DPB logic for low latency H265 playback.
Definition: nvmedia_parser.h:200
pfnCbNvMediaRelease
void(* pfnCbNvMediaRelease)(void *, NvMediaRefSurface *)
Definition: nvmedia_parser.h:525
NvMediaParserSeqInfo::eMatrixCoefficients
NvMediaMatrixCoeffsType eMatrixCoefficients
Color info: Specifies the Matrix Coefficients.
Definition: nvmedia_parser.h:402
NvMediaParserPictureData::vc1
NvMediaPictureInfoVC1 vc1
picture parameter information for vc1 NvMediaPictureInfoVC1
Definition: nvmedia_parser.h:494
NvMediaDecRefFrame::uIDRFrame
uint8_t uIDRFrame
value 0 or 1 : whether the frame is an IDR
Definition: nvmedia_parser.h:266
NvMediaParserSeqInfo::uChromaLocBottomField
uint8_t uChromaLocBottomField
chroma info: chroma_sample_loc_type_bottom_field
Definition: nvmedia_parser.h:414
NvMediaBitStreamPkt::bCompletePicture
NvMediaBool bCompletePicture
NVMEDIA_TRUE if this packet contains complete picture.
Definition: nvmedia_parser.h:251
NvMediaParserParams::uReferenceClockRate
uint32_t uReferenceClockRate
Ticks per second of PTS clock (0=default=10000000=10Mhz)
Definition: nvmedia_parser.h:599
NvMediaDecRefFrame::uPictureOrderCnt
uint32_t uPictureOrderCnt
Picture order counter.
Definition: nvmedia_parser.h:274
NvMTransferCharacteristics_HLG
@ NvMTransferCharacteristics_HLG
transfer characteristics: HLG
Definition: nvmedia_parser.h:157
NvMediaParserSeqInfo::uDARHeight
uint16_t uDARHeight
Aspect ratio info: Displays Aspect Ratio = uDARHeight.
Definition: nvmedia_parser.h:379
nvmedia_drm.h
NVIDIA Media Interface: Video Decryptor (DRM) API
NvMediaParserSeqInfo::uBitrate
uint32_t uBitrate
Frame info: Specifies the Video bitrate (bps)
Definition: nvmedia_parser.h:344
NvMediaBitStreamPkt::bDiscontinuity
NvMediaBool bDiscontinuity
NVMEDIA_TRUE if DecMFT is signalling a discontinuity.
Definition: nvmedia_parser.h:249
NvMediaParserSeqInfo::uMaxBitstreamSize
uint32_t uMaxBitstreamSize
Sequence info: Specifies the maximum size of bitstream buffer.
Definition: nvmedia_parser.h:351
NvMediaColorPrimariesType
NvMediaColorPrimariesType
Defines color_primaries types.
Definition: nvmedia_parser.h:69
NvMediaParserSeqInfo::uDisplayLeftOffset
uint16_t uDisplayLeftOffset
Frame size info: Specifies the left offset for display.
Definition: nvmedia_parser.h:370
pfnCbNvMediaGetClearHdr
NvMediaStatus(* pfnCbNvMediaGetClearHdr)(void *, NvMediaParserPictureData *)
Definition: nvmedia_parser.h:530
NvMParseAttr_PrevFrameLostFlag
@ NvMParseAttr_PrevFrameLostFlag
Other: Indicate whether the previous frame was lost.
Definition: nvmedia_parser.h:229
NvMediaParserPictureData::uDisplayWidth
uint16_t uDisplayWidth
Display Width.
Definition: nvmedia_parser.h:438
NvMMatrixCoeffs_YCgCo
@ NvMMatrixCoeffs_YCgCo
matrix coefficients: YCgCo
Definition: nvmedia_parser.h:111
pfnCbNvMediaDecodePicture
NvMediaStatus(* pfnCbNvMediaDecodePicture)(void *, NvMediaParserPictureData *)
Definition: nvmedia_parser.h:521
NvMParseAttr_DpbSize_SetTo_MaxRefFrames
@ NvMParseAttr_DpbSize_SetTo_MaxRefFrames
Frame management: DPB size is set to max number of reference frames.
Definition: nvmedia_parser.h:202
nvmedia_common_decode.h
NVIDIA Media Interface: Common Types for Video/Image Decode
NvMVideoFormat_Component
@ NvMVideoFormat_Component
video format: Component
Definition: nvmedia_parser.h:43
NvMediaDecCurrFrame
Holds decoded current frame information.
Definition: nvmedia_parser.h:282
NvMMatrixCoeffs_Forbidden
@ NvMMatrixCoeffs_Forbidden
matrix coefficients: Forbidden
Definition: nvmedia_parser.h:95
NvMediaDecCurrFrame::uIDRFrame
uint8_t uIDRFrame
value 0 or 1 : indicating current frame IDR or not
Definition: nvmedia_parser.h:287
NvMTransferCharacteristics_SMPTE240M
@ NvMTransferCharacteristics_SMPTE240M
transfer characteristics: SMPTE240M
Definition: nvmedia_parser.h:135
NvMediaParserFlush
void NvMediaParserFlush(const NvMediaParser *pParser)
Flushes the parser decode session.
pfnCbNvMediaGetBackwardUpdates
NvMediaStatus(* pfnCbNvMediaGetBackwardUpdates)(void *, NvMediaVP9BackwardUpdates *)
Definition: nvmedia_parser.h:531
NvMediaBool
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
NvMediaParserPictureData::bSliceDecode
NvMediaBool bSliceDecode
Flag to indicate that slice level decoding is enabled.
Definition: nvmedia_parser.h:483
NvMediaPictureInfoVP8
Picture parameter information for a VP8 picture.
Definition: nvmedia_common_decode.h:993
NvMediaParserPictureData::vp8
NvMediaPictureInfoVP8 vp8
picture parameter information for VP8 NvMediaPictureInfoVP8
Definition: nvmedia_parser.h:496
NvMediaParserPictureData::picture_order_count
int32_t picture_order_count
picture order count (if known)
Definition: nvmedia_parser.h:469
NvMediaParserScan
NvMediaStatus NvMediaParserScan(const NvMediaParser *pParser, const NvMediaBitStreamPkt *pStreamPacket)
Performs the first pass handling for encrypted content data.
NvMVideoFormat_PAL
@ NvMVideoFormat_PAL
video format: PAL
Definition: nvmedia_parser.h:45
NvMParseAttr_UseFrameTimingInfo
@ NvMParseAttr_UseFrameTimingInfo
Frame timing: Use frame timing info for PTS calculation.
Definition: nvmedia_parser.h:207
NvMediaDecCurrFrame::uReserve0
uint8_t uReserve0
reserved for 4-byte alignment
Definition: nvmedia_parser.h:291
NvMParseAttr_FilterTimestamps
@ NvMParseAttr_FilterTimestamps
Frame timing: Output timestamp in increasing order after filtering.
Definition: nvmedia_parser.h:205
pfnCbNvMediaCreateDecrypter
NvMediaStatus(* pfnCbNvMediaCreateDecrypter)(void *, uint16_t width, uint16_t height)
Definition: nvmedia_parser.h:527
NvMediaParserClientCb::AllocPictureBuffer
pfnCbNvMediaAllocPictureBuffer AllocPictureBuffer
callback to get one free frame-buffer to do current frame decoding.
Definition: nvmedia_parser.h:558
NvMediaParserSeqInfo::bContentLightLevelInfoPresent
NvMediaBool bContentLightLevelInfoPresent
Color info: Specifies Only: Content Light Level data if present.
Definition: nvmedia_parser.h:408
NvMTransferCharacteristics_Log316
@ NvMTransferCharacteristics_Log316
transfer characteristics: Log316
Definition: nvmedia_parser.h:141
NvMParseAttr_DecodeMode
@ NvMParseAttr_DecodeMode
Frame management: 0: Normal decode, 1: KeyFrameDecode.
Definition: nvmedia_parser.h:192
NvMediaParserSetAttribute
NvMediaStatus NvMediaParserSetAttribute(NvMediaParser *pParser, NvMediaParserAttr eAttributeType, uint32_t uAttributeSize, void *pAttribute)
Sets attributes for the decode parser object.
NvMParseAttr_SetDefaultFramerate
@ NvMParseAttr_SetDefaultFramerate
Frame timing: Set default frame rate for PTS calculation (float type)
Definition: nvmedia_parser.h:211
NvMParseAttr_h264DisableDpb
@ NvMParseAttr_h264DisableDpb
Frame management: Disable DPB logic for low latency H264 playback.
Definition: nvmedia_parser.h:188
MAX_SEQ_HDR_LEN
#define MAX_SEQ_HDR_LEN
Defines the maximum size of the sequence header.
Definition: nvmedia_parser.h:321
NvMParseAttr_DecodeIDRFrameOnly
@ NvMParseAttr_DecodeIDRFrameOnly
Frame management: Decode IDR Frames only.
Definition: nvmedia_parser.h:190
NvMediaRefSurface
void NvMediaRefSurface
A generic "reference surface" pointer type.
Definition: nvmedia_common_decode.h:106
NvMParseAttr_SetFramerate
@ NvMParseAttr_SetFramerate
Frame timing: Set frame rate for PTS calculation (float type)
Definition: nvmedia_parser.h:209
NvMediaParserDecodeMode
NvMediaParserDecodeMode
Defines the parser decode modes.
Definition: nvmedia_parser.h:161
NvMediaParserPictureData::h264
NvMediaPictureInfoH264 h264
picture parameter information for h264 NvMediaPictureInfoH264
Definition: nvmedia_parser.h:492
NvMTransferCharacteristics_ST418_1
@ NvMTransferCharacteristics_ST418_1
transfer characteristics: ST418_1
Definition: nvmedia_parser.h:155
NvMMatrixCoeffs_SMPTE170M
@ NvMMatrixCoeffs_SMPTE170M
matrix coefficients: SMPTE170M
Definition: nvmedia_parser.h:107
NvMediaParserPictureData::pCurrPic
NvMediaRefSurface * pCurrPic
Current picture (output)
Definition: nvmedia_parser.h:448
NvMediaParserChromaFormat_444
@ NvMediaParserChromaFormat_444
chroma format YUV444
Definition: nvmedia_parser.h:179
NvMTransferCharacteristics_IEC61966_2_4
@ NvMTransferCharacteristics_IEC61966_2_4
transfer characteristics: IEC61966_2_4
Definition: nvmedia_parser.h:143
NvMediaPictureInfoH264
Picture parameter information for an H.264 picture.
Definition: nvmedia_common_decode.h:214
NvMediaParserParams
Holds initialization parameters for the decoder class.
Definition: nvmedia_parser.h:592
NvMediaParserPictureData::pSliceDataOffsets
uint32_t * pSliceDataOffsets
nNumSlices entries, contains offset of each slice within the bitstream data buffer
Definition: nvmedia_parser.h:479