NVIDIA DRIVE OS Linux SDK API Reference

6.0.5 Release
nvmedia_parser.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 
14 #ifndef NVMEDIA_PARSER_H
15 #define NVMEDIA_PARSER_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdint.h>
22 #include <stdbool.h>
23 
24 #include "nvmedia_common_decode.h"
25 #include "nvmedia_core.h"
26 #include "nvmedia_drm.h"
27 
43 // RVCT compiler doesn't allow anonymous structures or unions by default.
44 #if defined(__CC_ARM)
45 #pragma anon_unions
46 #endif
47 
49 typedef enum {
67 
69 typedef enum {
75 
77 typedef enum {
99 
101 typedef enum {
125 
127 typedef enum {
167 
169 typedef enum
170 {
176 
178 typedef enum
179 {
189 
193 typedef enum
194 {
211 
220 
221  /* Security group */
222 
225 
230  /* Other: Generate slice offsets with CompletePicture mode. */
250 
252 typedef struct
253 {
255  const uint8_t *pByteStream;
257  uint32_t uDataLength;
259  int64_t llPts;
261  uint32_t bEOS;
263  uint32_t bPTSValid;
265  uint32_t bDiscontinuity;
269  uint32_t bCompleteSlice;
275 
277 typedef struct
278 {
280  uint8_t uPresentFlag;
282  uint8_t uIDRFrame;
284  uint8_t uLTRefFrame;
288  uint8_t uPredicted;
292  uint32_t uFrameNum;
294  uint32_t uLTRFrameIdx;
296 
298 typedef struct
299 {
301  uint8_t uRefFrame;
303  uint8_t uIDRFrame;
305  uint8_t uLTRefFrame;
307  uint8_t uReserve0;
311  uint32_t uFrameNum;
313  uint32_t uLTRFrameIdx;
315 
317 typedef struct
318 {
320  uint32_t poc_fn_bits;
329  NvMediaDecRefFrame RPSList[16];
331 
337 #define MAX_SEQ_HDR_LEN 512U
338 
344 typedef struct
345 {
346  /* Codec information */
347 
350 
351  /* Frame information */
352 
354  double fFrameRate;
356  uint32_t uDecodeBuffers;
358  uint8_t bProgSeq;
360  uint32_t uBitrate;
361 
362  /* Sequence information */
363 
369  uint8_t SequenceHeaderData[MAX_SEQ_HDR_LEN];
370 
371  /* Frame size information */
372 
374  uint16_t uCodedWidth;
376  uint16_t uCodedHeight;
378  uint16_t uDisplayWidth;
380  uint16_t uDisplayHeight;
382  uint16_t uActualWidth;
384  uint16_t uActualHeight;
389 
390  /* Aspect ratio information */
391 
393  uint16_t uDARWidth;
395  uint16_t uDARHeight;
397  uint16_t uSARWidth;
399  uint16_t uSARHeight;
400 
401  /* Color information */
402 
432 
433 
441 typedef struct
442 {
444  uint16_t uDARWidth;
446  uint16_t uDARHeight;
447 
452 
454  uint16_t uDisplayWidth;
456  uint16_t uDisplayHeight;
457 
459  int64_t llFrameTime;
461  int64_t llTimeBase;
462 
465 
467  int32_t field_pic_flag;
471  int32_t second_field;
479  int32_t ref_pic_flag;
481  int32_t intra_pic_flag;
483  int32_t chroma_format;
486 
491  uint8_t *pBitstreamData;
493  uint32_t uNumSlices;
495  uint32_t *pSliceDataOffsets;
497  uint32_t nal_ref_idc;
499  uint32_t bSliceDecode;
500 
502  union {
517  /* picture parameter information for av1 @ref NvMediaPictureInfoAV1*/
519  } CodecSpecificInfo;
520 
523 
526  NvMediaAESMetaData AesMetaData;
528  NvMediaEncryptParams encryptParams;
530 
534 typedef int32_t (*pfnCbNvMediaBeginSequence)(void *, const NvMediaParserSeqInfo *);
537 typedef void (*pfnCbNvMediaUnhandledNALU)(void *, const uint8_t *, int32_t);
539 typedef void (*pfnCbNvMediaRelease)(void *, NvMediaRefSurface *);
540 typedef void (*pfnCbNvMediaAddRef)(void *, NvMediaRefSurface *);
541 typedef NvMediaStatus (*pfnCbNvMediaCreateDecrypter)(void *, uint16_t width, uint16_t height);
549 typedef struct
550 {
604 
606 typedef struct
607 {
611  void *pClientCtx;
615  uint16_t uErrorThreshold;
621 
625 typedef void NvMediaParser;
626 
653  const NvMediaParserParams *pParserParams
654 );
655 
673 void
675  NvMediaParser *pParser
676 );
677 
730  const NvMediaParser *pParser,
731  const NvMediaBitStreamPkt *pStreamPacket
732 );
733 
775  const NvMediaParser *pParser,
776  const NvMediaBitStreamPkt *pStreamPacket
777 );
778 
808  const NvMediaParser *pParser,
809  const NvMediaAESParams *pAesParams
810 );
811 
840 void
842  const NvMediaParser *pParser
843 );
844 
875  NvMediaParser *pParser,
876  NvMediaParserAttr eAttributeType,
877  uint32_t uAttributeSize,
878  void *pAttribute
879 );
880 
912  const NvMediaParser *pParser,
913  NvMediaParserAttr eAttributeType,
914  uint32_t uAttributeSize,
915  void *pAttribute
916 );
917 
920 #ifdef __cplusplus
921 } /* extern "C" */
922 #endif
923 
924 #endif /* NVMEDIA_PARSER_H */
NvMTransferCharacteristics_SMPTE170M
@ NvMTransferCharacteristics_SMPTE170M
transfer characteristics: SMPTE170M
Definition: nvmedia_parser.h:141
NvMParseAttr_SecureDecode
@ NvMParseAttr_SecureDecode
Security: Enable m_pSlhData allocation for encrypted streams in parser.
Definition: nvmedia_parser.h:224
NvMediaParserPictureData::llFrameTime
int64_t llFrameTime
Frame time in time_base units if NvMParseAttr_UseFrameTimingInfo is enabled.
Definition: nvmedia_parser.h:459
NvMediaParserClientCb::BeginSequence
pfnCbNvMediaBeginSequence BeginSequence
callback to provide sequence level information to client Client will use this to create NvMediaIDE ba...
Definition: nvmedia_parser.h:557
NvMParseAttr_av1AnnexBDecode
@ NvMParseAttr_av1AnnexBDecode
Other: Set AnnexB stream in case of AV1 SVC stream.
Definition: nvmedia_parser.h:248
NvMediaTransferCharacteristicsType
NvMediaTransferCharacteristicsType
Defines transfer characteristics types.
Definition: nvmedia_parser.h:127
NvMediaDecRefFrame::uFrameNum
uint32_t uFrameNum
Frame Num.
Definition: nvmedia_parser.h:292
NvMParseAttr_h265DisableDpb
@ NvMParseAttr_h265DisableDpb
Frame management: Disable DPB logic for low latency H265 playback.
Definition: nvmedia_parser.h:208
NvMParseAttr_SliceLevelDecode
@ NvMParseAttr_SliceLevelDecode
Other: Enable slice-level decode for the current session.
Definition: nvmedia_parser.h:240
NvMediaParserScan
NvMediaStatus NvMediaParserScan(const NvMediaParser *pParser, const NvMediaBitStreamPkt *pStreamPacket)
Performs the first pass handling for encrypted content data.
NvMTransferCharacteristics_BT2020_1
@ NvMTransferCharacteristics_BT2020_1
transfer characteristics: BT2020_1
Definition: nvmedia_parser.h:157
NvMediaParserPictureData::uDisplayLeftOffset
uint16_t uDisplayLeftOffset
Left offset for display.
Definition: nvmedia_parser.h:449
NvMParserDecodeMode_Normal
@ NvMParserDecodeMode_Normal
normal decode mode
Definition: nvmedia_parser.h:172
NvMVideoFormat_SECAM
@ NvMVideoFormat_SECAM
video format: SECAM
Definition: nvmedia_parser.h:57
NvMParseAttr_FilterTimestamps
@ NvMParseAttr_FilterTimestamps
Frame timing: Output timestamp in increasing order after filtering.
Definition: nvmedia_parser.h:213
NvMediaParserSetEncryption
NvMediaStatus NvMediaParserSetEncryption(const NvMediaParser *pParser, const NvMediaAESParams *pAesParams)
Provides the parser object with encryption metadata for the current buffer.
NvMediaParserClientCb::DecodePicture
pfnCbNvMediaDecodePicture DecodePicture
callback to provide one frame/field worth of data required to achieve decoding using NvMediaIDE compo...
Definition: nvmedia_parser.h:565
NvMediaParserSeqInfo::eVideoFormat
NvMediaVideoFormatType eVideoFormat
Color info: Specifies the Video Format.
Definition: nvmedia_parser.h:410
NvMediaParserSeqInfo::uDARWidth
uint16_t uDARWidth
Aspect ratio info: Displays Aspect Ratio = uDARWidth.
Definition: nvmedia_parser.h:393
NvMediaParserParams::pExternalSeqInfo
NvMediaParserSeqInfo * pExternalSeqInfo
Optional external sequence header data.
Definition: nvmedia_parser.h:619
NvMediaParserSeqInfo::bProgSeq
uint8_t bProgSeq
Frame info: Specifies whether the bitstream is progressive or not.
Definition: nvmedia_parser.h:358
NvMediaMasteringDisplayData
Mastering display data for an H.265 picture.
Definition: nvmedia_common_decode.h:461
NvMParseAttr_EnableVC1APInterlaced
@ NvMParseAttr_EnableVC1APInterlaced
Other: Enable VC-1 advanced profile interlaced.
Definition: nvmedia_parser.h:227
NvMediaParserSeqInfo
Holds video sequence information.
Definition: nvmedia_parser.h:344
NvMMatrixCoeffs_Reserved
@ NvMMatrixCoeffs_Reserved
matrix coefficients: Reserved
Definition: nvmedia_parser.h:109
NvMediaPictureInfoVP9
Holds picture parameter information for a VP9 picture.
Definition: nvmedia_common_decode.h:1379
NvMediaBitStreamPkt::pByteStream
const uint8_t * pByteStream
Pointer to byte stream data.
Definition: nvmedia_parser.h:255
NvMediaParserSeqInfo::uChromaLocTopField
uint8_t uChromaLocTopField
chroma info: chroma_sample_loc_type_top_field
Definition: nvmedia_parser.h:428
NvMTransferCharacteristics_Reserved
@ NvMTransferCharacteristics_Reserved
transfer characteristics: Reserved
Definition: nvmedia_parser.h:135
NvMediaParserSeqInfo::uBitDepthChromaMinus8
uint8_t uBitDepthChromaMinus8
Color info: Specifies the Chroma bit depth (0=8bit)
Definition: nvmedia_parser.h:408
NvMediaSliceDecodeData
slice level data used with slice level decoding
Definition: nvmedia_common_decode.h:500
NvMVideoFormat_Unspecified
@ NvMVideoFormat_Unspecified
video format: Unspecified
Definition: nvmedia_parser.h:61
MAX_SEQ_HDR_LEN
#define MAX_SEQ_HDR_LEN
Defines the maximum size of the sequence header.
Definition: nvmedia_parser.h:337
NvMediaDecCurrFrame::uFrameNum
uint32_t uFrameNum
frame number
Definition: nvmedia_parser.h:311
NvMediaPictureInfoMPEG4Part2
Holds picture parameter information for an MPEG-4 Part 2 picture.
Definition: nvmedia_common_decode.h:899
NvMediaParserSeqInfo::eTransferCharacteristics
NvMediaTransferCharacteristicsType eTransferCharacteristics
Color info: Specifies the Transfer Characteristics.
Definition: nvmedia_parser.h:416
NvMediaParserPictureData::SliceData
NvMediaSliceDecodeData SliceData
Pass slice level data if slice level decoding enabled.
Definition: nvmedia_parser.h:522
NvMediaParserSeqInfo::uSequenceHeaderSize
uint32_t uSequenceHeaderSize
Sequence info: Specifies the number of bytes in SequenceHeaderData.
Definition: nvmedia_parser.h:365
NvMediaParserPictureData::AesMetaData
NvMediaAESMetaData AesMetaData
Encrypted content decoding specific parameters.
Definition: nvmedia_parser.h:526
NvMediaDPBInfo
Holds decoded Picture Buffer information.
Definition: nvmedia_parser.h:317
NvMColorPrimaries_Reserved
@ NvMColorPrimaries_Reserved
color primaries: Reserved
Definition: nvmedia_parser.h:85
NvMMatrixCoeffs_FCC
@ NvMMatrixCoeffs_FCC
matrix coefficients: FCC
Definition: nvmedia_parser.h:111
NvMediaParserAttr
NvMediaParserAttr
Defines parser attributes, which sets/gets decoder properties to parse as per the client/app requirem...
Definition: nvmedia_parser.h:193
NvMParseAttr_MaxDecFrameBuffering
@ NvMParseAttr_MaxDecFrameBuffering
Frame management: Set default H.264 max_dec_frame_buffering.
Definition: nvmedia_parser.h:204
NvMediaParserPictureData::uBitstreamDataLen
uint32_t uBitstreamDataLen
Bitstream data.
Definition: nvmedia_parser.h:489
NvMediaDPBInfo::uActiveRefFrames
uint32_t uActiveRefFrames
number of valid entries in RPS
Definition: nvmedia_parser.h:324
NvMediaBitStreamPkt::llPts
int64_t llPts
Presentation Time Stamp for this packet (clock rate specified at initialization)
Definition: nvmedia_parser.h:259
NvMColorRange_Reduced
@ NvMColorRange_Reduced
color range: limited
Definition: nvmedia_parser.h:71
NvMediaParserClientCb::GetClearHdr
pfnCbNvMediaGetClearHdr GetClearHdr
callback to get clear header data from NvMediaVideoDecrypter.
Definition: nvmedia_parser.h:592
NvMParseAttr_DpbSize_SetTo_MaxRefFrames
@ NvMParseAttr_DpbSize_SetTo_MaxRefFrames
Frame management: DPB size is set to max number of reference frames.
Definition: nvmedia_parser.h:210
NvMediaParserSeqInfo::uDecodeBuffers
uint32_t uDecodeBuffers
Frame info: Specifies the number of decode buffers required.
Definition: nvmedia_parser.h:356
NvMMatrixCoeffs_YCgCo
@ NvMMatrixCoeffs_YCgCo
matrix coefficients: YCgCo
Definition: nvmedia_parser.h:119
NvMediaParserSeqInfo::uActualWidth
uint16_t uActualWidth
Frame size info: Specifies the actual Width.
Definition: nvmedia_parser.h:382
NvMediaParserPictureData::hevc
NvMediaPictureInfoH265 hevc
picture parameter information for h265 NvMediaPictureInfoH265
Definition: nvmedia_parser.h:514
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:477
NvMParseAttr_DecodeMode
@ NvMParseAttr_DecodeMode
Frame management: 0: Normal decode, 1: KeyFrameDecode.
Definition: nvmedia_parser.h:200
NvMediaParserClientCb
Definition: nvmedia_parser.h:549
NvMediaParserClientCb::UnhandledNALU
pfnCbNvMediaUnhandledNALU UnhandledNALU
Callback to report unhandled NALU.
Definition: nvmedia_parser.h:569
NvMMatrixCoeffs_BT470BG
@ NvMMatrixCoeffs_BT470BG
matrix coefficients: BT470BG
Definition: nvmedia_parser.h:113
NvMediaContentLightLevelInfo
Content Light Level info for an H.265 picture.
Definition: nvmedia_common_decode.h:483
NvMediaParserSeqInfo::bContentLightLevelInfoPresent
uint32_t bContentLightLevelInfoPresent
Color info: Specifies Only: Content Light Level data if present.
Definition: nvmedia_parser.h:424
NvMediaParserPictureData::uDisplayTopOffset
uint16_t uDisplayTopOffset
Top offset for display.
Definition: nvmedia_parser.h:451
NvMediaParserPictureData::field_pic_flag
int32_t field_pic_flag
0=frame picture, 1=field picture
Definition: nvmedia_parser.h:467
NvMediaParserSeqInfo::uCodedWidth
uint16_t uCodedWidth
Frame size info: Specifies the coded Picture Width.
Definition: nvmedia_parser.h:374
NvMediaParserSeqInfo::bMasteringDispDataPresent
uint32_t bMasteringDispDataPresent
Color info: Specifies that mastering display data is present.
Definition: nvmedia_parser.h:420
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:104
NvMTransferCharacteristics_SMPTE2084
@ NvMTransferCharacteristics_SMPTE2084
transfer characteristics: SMPTE2084
Definition: nvmedia_parser.h:161
NvMVideoFormat_NTSC
@ NvMVideoFormat_NTSC
video format: NTSC
Definition: nvmedia_parser.h:55
NvMediaParserSeqInfo::eColorPrimaries
NvMediaColorPrimariesType eColorPrimaries
Color info: Specifies the Color Primaries.
Definition: nvmedia_parser.h:414
NvMediaParserPictureData::encryptParams
NvMediaEncryptParams encryptParams
contains encrypted metadata for pass1
Definition: nvmedia_parser.h:528
NvMediaParserClientCb::DecryptHdr
pfnCbNvMediaDecryptHdr DecryptHdr
Callback to pass encrypted data for decryption of frame-headers.
Definition: nvmedia_parser.h:584
NvMediaParserDecodeMode
NvMediaParserDecodeMode
Defines the parser decode modes.
Definition: nvmedia_parser.h:169
pfnCbNvMediaBeginSequence
int32_t(* pfnCbNvMediaBeginSequence)(void *, const NvMediaParserSeqInfo *)
Definition: nvmedia_parser.h:534
NvMediaParserSeqInfo::uSARHeight
uint16_t uSARHeight
Aspect ratio info: Specifies the sample Aspect Ratio = uSARHeight.
Definition: nvmedia_parser.h:399
NvMediaBitStreamPkt::bPTSValid
uint32_t bPTSValid
true if llPTS is valid (also used to detect frame boundaries for VC1 SP/MP)
Definition: nvmedia_parser.h:263
NvMediaParserGetAttribute
NvMediaStatus NvMediaParserGetAttribute(const NvMediaParser *pParser, NvMediaParserAttr eAttributeType, uint32_t uAttributeSize, void *pAttribute)
Gets attributes for the decode parser object.
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:288
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:404
NvMediaParserSeqInfo::fFrameRate
double fFrameRate
Frame info: Specifies the frame rate of the bitstream.
Definition: nvmedia_parser.h:354
NvMediaBitStreamPkt::uDataLength
uint32_t uDataLength
Data length for this packet.
Definition: nvmedia_parser.h:257
NvMTransferCharacteristics_BT470M
@ NvMTransferCharacteristics_BT470M
transfer characteristics: BT470M
Definition: nvmedia_parser.h:137
NvMediaParserSeqInfo::MasteringDispData
NvMediaMasteringDisplayData MasteringDispData
Color info: Specifies Only: Mastering display data if present.
Definition: nvmedia_parser.h:422
NvMediaParserSeqInfo::eCodec
NvMediaVideoCodec eCodec
Codec info: Specifies the compression standard.
Definition: nvmedia_parser.h:349
NvMediaParserPictureData::progressive_frame
int32_t progressive_frame
Frame is progressive or not.
Definition: nvmedia_parser.h:473
NvMediaParserSeqInfo::uSARWidth
uint16_t uSARWidth
Aspect ratio info: Specifies the sample Aspect Ratio = uSARWidth.
Definition: nvmedia_parser.h:397
NvMTransferCharacteristics_Unspecified
@ NvMTransferCharacteristics_Unspecified
transfer characteristics: Unspecified
Definition: nvmedia_parser.h:133
NvMParserDecodeMode_SyncToKeyFrame
@ NvMParserDecodeMode_SyncToKeyFrame
only decode key frames
Definition: nvmedia_parser.h:174
NvMediaVP9BackwardUpdates
Holds VP9 counters for adaptive entropy contexts.
Definition: nvmedia_common_decode.h:1214
NvMediaParserParams::eCodec
NvMediaVideoCodec eCodec
Codec type.
Definition: nvmedia_parser.h:617
NvMediaParserParams::pClientCtx
void * pClientCtx
Client context.
Definition: nvmedia_parser.h:611
NvMTransferCharacteristics_Linear
@ NvMTransferCharacteristics_Linear
transfer characteristics: Linear
Definition: nvmedia_parser.h:145
NvMParseAttr_GetBitstreamError
@ NvMParseAttr_GetBitstreamError
Other: Get bitstream error for current input buffer.
Definition: nvmedia_parser.h:235
NvMediaParserFlush
void NvMediaParserFlush(const NvMediaParser *pParser)
Flushes the parser decode session.
NvMediaParserPictureData::mpeg4
NvMediaPictureInfoMPEG4Part2 mpeg4
picture parameter information for mpeg4 NvMediaPictureInfoMPEG4Part2
Definition: nvmedia_parser.h:506
NvMediaBitStreamPkt::bCompleteSlice
uint32_t bCompleteSlice
true if this packet contains complete Slice
Definition: nvmedia_parser.h:269
NvMediaParserPictureData::top_field_first
int32_t top_field_first
Frame pictures only.
Definition: nvmedia_parser.h:475
NvMTransferCharacteristics_IEC61966_2_4
@ NvMTransferCharacteristics_IEC61966_2_4
transfer characteristics: IEC61966_2_4
Definition: nvmedia_parser.h:151
NvMediaParserPictureData::uDisplayHeight
uint16_t uDisplayHeight
Display Height.
Definition: nvmedia_parser.h:456
NvMediaDecCurrFrame::uLTRFrameIdx
uint32_t uLTRFrameIdx
LongTermFrameIdx of a picture.
Definition: nvmedia_parser.h:313
_NvMediaPictureInfo_AV1
Holds picture parameter information for AV1 picture.
Definition: nvmedia_common_decode.h:1522
NvMParseAttr_av1SetOperatingPoint
@ NvMParseAttr_av1SetOperatingPoint
Other: Set Operating Point in case of AV1 SVC stream.
Definition: nvmedia_parser.h:243
NvMediaParserPictureData::vp9
NvMediaPictureInfoVP9 vp9
picture parameter information for vp9 NvMediaPictureInfoVP9
Definition: nvmedia_parser.h:516
NvMediaParserClientCb::DisplayPicture
pfnCbNvMediaDisplayPicture DisplayPicture
Callback to pass frame-buffer with its timestamp in display order for display.
Definition: nvmedia_parser.h:567
NvMediaParserParams::pClient
NvMediaParserClientCb * pClient
Should always be present if using parsing functionality.
Definition: nvmedia_parser.h:609
NvMTransferCharacteristics_SMPTE240M
@ NvMTransferCharacteristics_SMPTE240M
transfer characteristics: SMPTE240M
Definition: nvmedia_parser.h:143
NvMColorPrimaries_BT470BG
@ NvMColorPrimaries_BT470BG
color primaries: BT470BG
Definition: nvmedia_parser.h:89
NvMediaParserPictureData
Holds picture information for the current frame decode operation.
Definition: nvmedia_parser.h:441
NvMMatrixCoeffs_BT2020_c
@ NvMMatrixCoeffs_BT2020_c
matrix coefficients: BT2020 constant luminance system
Definition: nvmedia_parser.h:123
NvMParseAttr_SetFramerate
@ NvMParseAttr_SetFramerate
Frame timing: Set frame rate for PTS calculation (float type)
Definition: nvmedia_parser.h:217
NvMediaParserSeqInfo::uActualHeight
uint16_t uActualHeight
Frame size info: Specifies the actual Height.
Definition: nvmedia_parser.h:384
pfnCbNvMediaAllocPictureBuffer
NvMediaStatus(* pfnCbNvMediaAllocPictureBuffer)(void *, NvMediaRefSurface **)
Definition: nvmedia_parser.h:538
NvMTransferCharacteristics_BT1361
@ NvMTransferCharacteristics_BT1361
transfer characteristics: BT1361
Definition: nvmedia_parser.h:153
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:469
NvMTransferCharacteristics_Forbidden
@ NvMTransferCharacteristics_Forbidden
transfer characteristics: Forbidden
Definition: nvmedia_parser.h:129
NvMParseAttr_ErrorStatusReporting
@ NvMParseAttr_ErrorStatusReporting
Other: Enable error status reporting.
Definition: nvmedia_parser.h:233
pfnCbNvMediaGetBackwardUpdates
NvMediaStatus(* pfnCbNvMediaGetBackwardUpdates)(void *, NvMediaVP9BackwardUpdates *)
Definition: nvmedia_parser.h:545
pfnCbNvMediaDecodePicture
NvMediaStatus(* pfnCbNvMediaDecodePicture)(void *, NvMediaParserPictureData *)
Definition: nvmedia_parser.h:535
NvMediaParserChromaFormat_420
@ NvMediaParserChromaFormat_420
chroma format YUV420
Definition: nvmedia_parser.h:183
NvMediaParserClientCb::GetDpbInfoForMetadata
pfnCbNvMediaGetDpbInfoForMetadata GetDpbInfoForMetadata
callback to pass internal DPB information to the client.
Definition: nvmedia_parser.h:602
NvMMatrixCoeffs_SMPTE170M
@ NvMMatrixCoeffs_SMPTE170M
matrix coefficients: SMPTE170M
Definition: nvmedia_parser.h:115
NvMediaParserSetAttribute
NvMediaStatus NvMediaParserSetAttribute(NvMediaParser *pParser, NvMediaParserAttr eAttributeType, uint32_t uAttributeSize, void *pAttribute)
Sets attributes for the decode parser object.
NvMediaParserSeqInfo::uDisplayTopOffset
uint16_t uDisplayTopOffset
Frame size info: Specifies the top offset for display.
Definition: nvmedia_parser.h:388
NvMediaParserSeqInfo::uBitDepthLumaMinus8
uint8_t uBitDepthLumaMinus8
Color info: Specifies the Luma bit depth (0=8bit)
Definition: nvmedia_parser.h:406
NvMediaParserParams::uErrorThreshold
uint16_t uErrorThreshold
Threshold for deciding to bypass of picture (0=do not decode, 100=always decode)
Definition: nvmedia_parser.h:615
NvMediaBitStreamPkt::uRTP_NALUSizeFieldWidthInBytes
uint32_t uRTP_NALUSizeFieldWidthInBytes
if it is 0 then it is non-RTP
Definition: nvmedia_parser.h:273
NvMTransferCharacteristics_IEC61966_2_1
@ NvMTransferCharacteristics_IEC61966_2_1
transfer characteristics: IEC61966_2_1
Definition: nvmedia_parser.h:155
NvMediaDecRefFrame::uLTRFrameIdx
uint32_t uLTRFrameIdx
LongTermFrameIdx of the frame.
Definition: nvmedia_parser.h:294
NvMediaDecCurrFrame::uLTRefFrame
uint8_t uLTRefFrame
value 0 or 1 : indicating long term reference
Definition: nvmedia_parser.h:305
NvMColorPrimaries_BT2020
@ NvMColorPrimaries_BT2020
color primaries: BT2020
Definition: nvmedia_parser.h:97
NvMediaDecCurrFrame::uPictureOrderCnt
uint32_t uPictureOrderCnt
picture order counter
Definition: nvmedia_parser.h:309
NvMediaParserPictureData::uNumSlices
uint32_t uNumSlices
Number of slices in this picture.
Definition: nvmedia_parser.h:493
NvMediaDPBInfo::poc_fn_bits
uint32_t poc_fn_bits
Specify the max number of bits used to derive frame number.
Definition: nvmedia_parser.h:320
NvMediaParserPictureData::ref_pic_flag
int32_t ref_pic_flag
Frame is a reference frame.
Definition: nvmedia_parser.h:479
NvMediaDPBInfo::currentFrame
NvMediaDecCurrFrame currentFrame
Specify the property of current decoded frame.
Definition: nvmedia_parser.h:322
NvMediaParserPictureData::chroma_format
int32_t chroma_format
Chroma Format (should match sequence info)
Definition: nvmedia_parser.h:483
NvMediaParserCreate
NvMediaParser * NvMediaParserCreate(const NvMediaParserParams *pParserParams)
Creates a video decoder parser object.
NvMediaMatrixCoeffsType
NvMediaMatrixCoeffsType
Defines matrix_coefficients types.
Definition: nvmedia_parser.h:101
NvMediaRefSurface
void NvMediaRefSurface
A generic "reference surface" pointer type.
Definition: nvmedia_common_decode.h:100
NvMediaParserClientCb::AddRef
pfnCbNvMediaAddRef AddRef
Callback to increase ref counting of buffer by 1 when surface is used as reference.
Definition: nvmedia_parser.h:580
NvMediaBitStreamPkt
Holds the bitstream packet input for parsing.
Definition: nvmedia_parser.h:252
NvMParseAttr_av1SetOutputAllLayers
@ NvMParseAttr_av1SetOutputAllLayers
Other: Set outputAllLayers in case of AV1 SVC stream.
Definition: nvmedia_parser.h:246
NvMVideoFormat_Reserved6
@ NvMVideoFormat_Reserved6
video format: Reserved
Definition: nvmedia_parser.h:63
pfnCbNvMediaDisplayPicture
NvMediaStatus(* pfnCbNvMediaDisplayPicture)(void *, NvMediaRefSurface *, int64_t)
Definition: nvmedia_parser.h:536
NvMediaParserPictureData::intra_pic_flag
int32_t intra_pic_flag
Frame is entirely intra coded (no temporal dependencies)
Definition: nvmedia_parser.h:481
NvMediaPictureInfoMPEG1Or2
Holds picture parameter information for an MPEG 1 or MPEG 2 picture.
Definition: nvmedia_common_decode.h:829
NvMediaParserSeqInfo::ContentLightLevelInfo
NvMediaContentLightLevelInfo ContentLightLevelInfo
Color info: Specifies Only: Content Light Level data if present.
Definition: nvmedia_parser.h:426
NvMediaParserClientCb::Release
pfnCbNvMediaRelease Release
Callback to tell client to decrement the buffer reference count by 1.
Definition: nvmedia_parser.h:576
NvMediaColorPrimariesType
NvMediaColorPrimariesType
Defines color_primaries types.
Definition: nvmedia_parser.h:77
NvMediaParserSeqInfo::uDisplayHeight
uint16_t uDisplayHeight
Frame size info: Specifies the displayed Vertical Size.
Definition: nvmedia_parser.h:380
NvMediaParserClientCb::GetBackwardUpdates
pfnCbNvMediaGetBackwardUpdates GetBackwardUpdates
callback to get backward prabability data for VP9 codec.
Definition: nvmedia_parser.h:597
NvMediaParserSeqInfo::uDisplayWidth
uint16_t uDisplayWidth
Frame size info: Specifies the displayed Horizontal Size.
Definition: nvmedia_parser.h:378
NvMediaParser
void NvMediaParser
An opaque handle representing an NvMediaParser object.
Definition: nvmedia_parser.h:625
NvMediaParserPictureData::uDARWidth
uint16_t uDARWidth
Display Aspect Ratio = uDARWidth.
Definition: nvmedia_parser.h:444
NvMediaParserSeqInfo::uCodedHeight
uint16_t uCodedHeight
Frame size info: Specifies the coded Picture Height.
Definition: nvmedia_parser.h:376
NvMColorRange_Full
@ NvMColorRange_Full
color range: full
Definition: nvmedia_parser.h:73
NvMTransferCharacteristics_ST418_1
@ NvMTransferCharacteristics_ST418_1
transfer characteristics: ST418_1
Definition: nvmedia_parser.h:163
NvMColorPrimaries_SMPTE170M
@ NvMColorPrimaries_SMPTE170M
color primaries: SMPTE170M
Definition: nvmedia_parser.h:91
NvMColorPrimaries_BT470M
@ NvMColorPrimaries_BT470M
color primaries: BT470M
Definition: nvmedia_parser.h:87
NvMColorPrimaries_Forbidden
@ NvMColorPrimaries_Forbidden
color primaries: Forbidden
Definition: nvmedia_parser.h:79
NvMediaDecRefFrame
Holds decoded reference frame information.
Definition: nvmedia_parser.h:277
NvMParseAttr_SetMaxRes
@ NvMParseAttr_SetMaxRes
Other: For setting max resolution for creating decoder.
Definition: nvmedia_parser.h:229
NvMTransferCharacteristics_BT2020_2
@ NvMTransferCharacteristics_BT2020_2
transfer characteristics: BT2020_2
Definition: nvmedia_parser.h:159
NvMMatrixCoeffs_BT709
@ NvMMatrixCoeffs_BT709
matrix coefficients: BT709
Definition: nvmedia_parser.h:105
nvmedia_core.h
NVIDIA Media Interface: Core
NvMParseAttr_h264DisableDpb
@ NvMParseAttr_h264DisableDpb
Frame management: Disable DPB logic for low latency H264 playback.
Definition: nvmedia_parser.h:196
NvMColorPrimaries_BT709
@ NvMColorPrimaries_BT709
color primaries: BT_709
Definition: nvmedia_parser.h:81
NvMediaParserPictureData::llTimeBase
int64_t llTimeBase
Base time units per second if NvMParseAttr_UseFrameTimingInfo is enabled.
Definition: nvmedia_parser.h:461
NvMediaParserPictureData::pBitstreamData
uint8_t * pBitstreamData
Pointer to the bitstream data for this picture (slice-layer)
Definition: nvmedia_parser.h:491
NvMediaParserPictureData::mpeg2
NvMediaPictureInfoMPEG1Or2 mpeg2
picture parameter information for mpeg1/2 NvMediaPictureInfoMPEG1Or2
Definition: nvmedia_parser.h:504
NvMediaDecCurrFrame::uRefFrame
uint8_t uRefFrame
value 0 or 1 : indicating current frame is referenced or not
Definition: nvmedia_parser.h:301
NvMediaParserParse
NvMediaStatus NvMediaParserParse(const NvMediaParser *pParser, const NvMediaBitStreamPkt *pStreamPacket)
Parses or decodes bitstream data.
NvMMatrixCoeffs_Unspecified
@ NvMMatrixCoeffs_Unspecified
matrix coefficients: Unspecified
Definition: nvmedia_parser.h:107
NvMediaDecRefFrame::uLTRefFrame
uint8_t uLTRefFrame
value 0 or 1 : whether the frame is long term ref
Definition: nvmedia_parser.h:284
NvMediaParserPictureData::second_field
int32_t second_field
Second field of a complementary field pair.
Definition: nvmedia_parser.h:471
NvMediaParserChromaFormat_400
@ NvMediaParserChromaFormat_400
chroma format YUV400 (Only Y component)
Definition: nvmedia_parser.h:181
pfnCbNvMediaCreateDecrypter
NvMediaStatus(* pfnCbNvMediaCreateDecrypter)(void *, uint16_t width, uint16_t height)
Definition: nvmedia_parser.h:541
NvMParseAttr_PrevFrameLostFlag
@ NvMParseAttr_PrevFrameLostFlag
Other: Indicate whether the previous frame was lost.
Definition: nvmedia_parser.h:237
NvMediaBitStreamPkt::bCompletePicture
uint32_t bCompletePicture
true if this packet contains complete picture
Definition: nvmedia_parser.h:267
NvMediaParserChromaFormat_444
@ NvMediaParserChromaFormat_444
chroma format YUV444
Definition: nvmedia_parser.h:187
NvMediaParserSeqInfo::eVideoFullRangeFlag
NvMediaColorRangeType eVideoFullRangeFlag
Color info: Specifies the Video Range (0-255) vs (16-235)
Definition: nvmedia_parser.h:412
NvMediaPictureInfoH265
Holds picture parameter information for an H.265 picture.
Definition: nvmedia_common_decode.h:538
NvMediaDecRefFrame::uPresentFlag
uint8_t uPresentFlag
value 0 or 1 : whether the frame is present in DPB
Definition: nvmedia_parser.h:280
NvMediaParserPictureData::uDARHeight
uint16_t uDARHeight
Display Aspect Ratio = uDARHeight.
Definition: nvmedia_parser.h:446
NvMColorPrimaries_Unspecified
@ NvMColorPrimaries_Unspecified
color primaries: Unspecified
Definition: nvmedia_parser.h:83
NvMediaBitStreamPkt::bDecodeNextSlice
uint32_t bDecodeNextSlice
true if this packet belongs to the same frame currently being decoded
Definition: nvmedia_parser.h:271
NvMVideoFormat_PAL
@ NvMVideoFormat_PAL
video format: PAL
Definition: nvmedia_parser.h:53
NvMTransferCharacteristics_HLG
@ NvMTransferCharacteristics_HLG
transfer characteristics: HLG
Definition: nvmedia_parser.h:165
NvMParseAttr_SetDefaultFramerate
@ NvMParseAttr_SetDefaultFramerate
Frame timing: Set default frame rate for PTS calculation (float type)
Definition: nvmedia_parser.h:219
NvMediaParserDestroy
void NvMediaParserDestroy(NvMediaParser *pParser)
Destroys a video decoder parser object.
NvMediaParserClientCb::SliceDecode
pfnCbNvMediaSliceDecode SliceDecode
Callback to pass slice level data for the slice level decoding use case.
Definition: nvmedia_parser.h:588
NvMediaParserClientCb::CreateDecrypter
pfnCbNvMediaCreateDecrypter CreateDecrypter
Callback to create NvMediaVideoDecrypter component to handle encrypted contents.
Definition: nvmedia_parser.h:582
NvMediaParserPictureData::nal_ref_idc
uint32_t nal_ref_idc
Required only for encrypted h264 bitstreams.
Definition: nvmedia_parser.h:497
NvMediaPictureInfoVC1
Holds picture parameter information for a VC1 picture.
Definition: nvmedia_common_decode.h:984
NvMediaVideoCodec
NvMediaVideoCodec
Video codec type.
Definition: nvmedia_common_encode_decode.h:54
NvMMatrixCoeffs_Forbidden
@ NvMMatrixCoeffs_Forbidden
matrix coefficients: Forbidden
Definition: nvmedia_parser.h:103
NvMColorPrimaries_GenericFilm
@ NvMColorPrimaries_GenericFilm
color primaries: GenericFilm
Definition: nvmedia_parser.h:95
NvMParseAttr_DropMPEG2BFrames
@ NvMParseAttr_DropMPEG2BFrames
Frame management: Drop MPEG2 B-Frames.
Definition: nvmedia_parser.h:202
NvMediaParserSeqInfo::eMatrixCoefficients
NvMediaMatrixCoeffsType eMatrixCoefficients
Color info: Specifies the Matrix Coefficients.
Definition: nvmedia_parser.h:418
NvMediaParserPictureData::vc1
NvMediaPictureInfoVC1 vc1
picture parameter information for vc1 NvMediaPictureInfoVC1
Definition: nvmedia_parser.h:510
NvMMatrixCoeffs_SMPTE240M
@ NvMMatrixCoeffs_SMPTE240M
matrix coefficients: SMPTE240
Definition: nvmedia_parser.h:117
pfnCbNvMediaAddRef
void(* pfnCbNvMediaAddRef)(void *, NvMediaRefSurface *)
Definition: nvmedia_parser.h:540
NvMediaDecRefFrame::uIDRFrame
uint8_t uIDRFrame
value 0 or 1 : whether the frame is an IDR
Definition: nvmedia_parser.h:282
NvMParseAttr_AbortDecodeOnParserError
@ NvMParseAttr_AbortDecodeOnParserError
Frame management: Abort decoding when unsupported features or erroneous bitstream.
Definition: nvmedia_parser.h:206
NvMediaParserSeqInfo::uChromaLocBottomField
uint8_t uChromaLocBottomField
chroma info: chroma_sample_loc_type_bottom_field
Definition: nvmedia_parser.h:430
NvMediaParserParams::uReferenceClockRate
uint32_t uReferenceClockRate
Ticks per second of PTS clock (0=default=10000000=10Mhz)
Definition: nvmedia_parser.h:613
NvMediaBitStreamPkt::bEOS
uint32_t bEOS
true if this is an End-Of-Stream packet (flush everything)
Definition: nvmedia_parser.h:261
pfnCbNvMediaSliceDecode
NvMediaStatus(* pfnCbNvMediaSliceDecode)(void *, NvMediaSliceDecodeData *)
Definition: nvmedia_parser.h:543
NvMediaDecRefFrame::uPictureOrderCnt
uint32_t uPictureOrderCnt
Picture order counter.
Definition: nvmedia_parser.h:290
NvMediaParserSeqInfo::uDARHeight
uint16_t uDARHeight
Aspect ratio info: Displays Aspect Ratio = uDARHeight.
Definition: nvmedia_parser.h:395
NvMediaParserSeqInfo::uBitrate
uint32_t uBitrate
Frame info: Specifies the Video bitrate (bps)
Definition: nvmedia_parser.h:360
NvMediaParserSeqInfo::uMaxBitstreamSize
uint32_t uMaxBitstreamSize
Sequence info: Specifies the maximum size of bitstream buffer.
Definition: nvmedia_parser.h:367
NvMVideoFormat_MAC
@ NvMVideoFormat_MAC
video format: MAC
Definition: nvmedia_parser.h:59
NvMediaParserSeqInfo::uDisplayLeftOffset
uint16_t uDisplayLeftOffset
Frame size info: Specifies the left offset for display.
Definition: nvmedia_parser.h:386
NvMParseAttr_DecodeIDRFrameOnly
@ NvMParseAttr_DecodeIDRFrameOnly
Frame management: Decode IDR Frames only.
Definition: nvmedia_parser.h:198
NvMParseAttr_GenerateSliceOffsets
@ NvMParseAttr_GenerateSliceOffsets
Definition: nvmedia_parser.h:231
pfnCbNvMediaGetClearHdr
NvMediaStatus(* pfnCbNvMediaGetClearHdr)(void *, NvMediaParserPictureData *)
Definition: nvmedia_parser.h:544
NvMediaParserPictureData::uDisplayWidth
uint16_t uDisplayWidth
Display Width.
Definition: nvmedia_parser.h:454
NvMMatrixCoeffs_BT2020_nc
@ NvMMatrixCoeffs_BT2020_nc
matrix coefficients: BT2020 non-constant luminance system
Definition: nvmedia_parser.h:121
NvMTransferCharacteristics_BT709
@ NvMTransferCharacteristics_BT709
transfer characteristics: BT709
Definition: nvmedia_parser.h:131
nvmedia_common_decode.h
NVIDIA Media Interface: Common Types for Image Decode
NvMTransferCharacteristics_BT470BG
@ NvMTransferCharacteristics_BT470BG
transfer characteristics: BT470BG
Definition: nvmedia_parser.h:139
NvMTransferCharacteristics_Log316
@ NvMTransferCharacteristics_Log316
transfer characteristics: Log316
Definition: nvmedia_parser.h:149
NvMediaDecCurrFrame
Holds decoded current frame information.
Definition: nvmedia_parser.h:298
NvMediaDecCurrFrame::uIDRFrame
uint8_t uIDRFrame
value 0 or 1 : indicating current frame IDR or not
Definition: nvmedia_parser.h:303
NvMColorPrimaries_SMPTE240M
@ NvMColorPrimaries_SMPTE240M
color primaries: SMPTE240M
Definition: nvmedia_parser.h:93
NvMediaParserPictureData::bSliceDecode
uint32_t bSliceDecode
Flag to indicate that slice level decoding is enabled.
Definition: nvmedia_parser.h:499
NvMediaPictureInfoVP8
Picture parameter information for a VP8 picture.
Definition: nvmedia_common_decode.h:1105
NvMTransferCharacteristics_Log100
@ NvMTransferCharacteristics_Log100
transfer characteristics: Log100
Definition: nvmedia_parser.h:147
NvMediaParserPictureData::vp8
NvMediaPictureInfoVP8 vp8
picture parameter information for VP8 NvMediaPictureInfoVP8
Definition: nvmedia_parser.h:512
NvMediaParserPictureData::picture_order_count
int32_t picture_order_count
picture order count (if known)
Definition: nvmedia_parser.h:485
NvMediaParserPictureData::av1
NvMediaPictureInfoAV1 av1
Definition: nvmedia_parser.h:518
NvMediaDecCurrFrame::uReserve0
uint8_t uReserve0
reserved for 4-byte alignment
Definition: nvmedia_parser.h:307
NvMediaColorRangeType
NvMediaColorRangeType
Defines Color Range types.
Definition: nvmedia_parser.h:69
NvMediaParserClientCb::AllocPictureBuffer
pfnCbNvMediaAllocPictureBuffer AllocPictureBuffer
callback to get one free frame-buffer to do current frame decoding.
Definition: nvmedia_parser.h:572
NvMediaVideoFormatType
NvMediaVideoFormatType
Defines video format types.
Definition: nvmedia_parser.h:49
pfnCbNvMediaGetDpbInfoForMetadata
void(* pfnCbNvMediaGetDpbInfoForMetadata)(void *, NvMediaRefSurface *, NvMediaDPBInfo *)
Definition: nvmedia_parser.h:546
NvMParseAttr_UseFrameTimingInfo
@ NvMParseAttr_UseFrameTimingInfo
Frame timing: Use frame timing info for PTS calculation.
Definition: nvmedia_parser.h:215
NvMVideoFormat_Reserved7
@ NvMVideoFormat_Reserved7
video format: Reserved
Definition: nvmedia_parser.h:65
pfnCbNvMediaRelease
void(* pfnCbNvMediaRelease)(void *, NvMediaRefSurface *)
Definition: nvmedia_parser.h:539
NvMediaParserChromaFormat_422
@ NvMediaParserChromaFormat_422
chroma format YUV422
Definition: nvmedia_parser.h:185
NvMediaParserChromaFormat
NvMediaParserChromaFormat
Defines the chroma formats of video content.
Definition: nvmedia_parser.h:178
NvMediaBitStreamPkt::bDiscontinuity
uint32_t bDiscontinuity
true if DecMFT is signalling a discontinuity
Definition: nvmedia_parser.h:265
NvMediaParserPictureData::h264
NvMediaPictureInfoH264 h264
picture parameter information for h264 NvMediaPictureInfoH264
Definition: nvmedia_parser.h:508
pfnCbNvMediaDecryptHdr
NvMediaStatus(* pfnCbNvMediaDecryptHdr)(void *, NvMediaParserPictureData *)
Definition: nvmedia_parser.h:542
NvMVideoFormat_Component
@ NvMVideoFormat_Component
video format: Component
Definition: nvmedia_parser.h:51
NvMediaParserPictureData::pCurrPic
NvMediaRefSurface * pCurrPic
Current picture (output)
Definition: nvmedia_parser.h:464
NvMediaPictureInfoH264
Picture parameter information for an H.264 picture.
Definition: nvmedia_common_decode.h:328
NvMediaParserParams
Holds initialization parameters for the decoder class.
Definition: nvmedia_parser.h:606
pfnCbNvMediaUnhandledNALU
void(* pfnCbNvMediaUnhandledNALU)(void *, const uint8_t *, int32_t)
Definition: nvmedia_parser.h:537
NvMediaParserPictureData::pSliceDataOffsets
uint32_t * pSliceDataOffsets
nNumSlices entries, contains offset of each slice within the bitstream data buffer
Definition: nvmedia_parser.h:495