NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
nvmedia_iep_output_extradata.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 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 
15 #ifndef NVMEDIA_IEP_OUTPUT_EXTRA_DATA_H
16 #define NVMEDIA_IEP_OUTPUT_EXTRA_DATA_H
17 
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
36 #define MV_BUFFER_HEADER 0xFFFEFDFCU
37 
41 typedef enum {
53 
58 typedef struct {
60  uint32_t ulFrameId;
68  uint32_t ulFrameNum;
70  uint32_t ulLTRFrameIdx;
72 
76 typedef struct {
78  uint32_t ulCycleCount;
80  uint32_t ulPresetTime;
82  uint32_t ulFlushTime;
84  uint32_t ulEncodeTime;
87  uint32_t ulFetchTime;
89 
93 typedef union {
95  struct {
103  uint32_t uIntraMBCount;
105  uint32_t uInterMBCount;
106  } h264Extradata;
108  struct {
110  NvMediaEncodeH26xFrameType eFrameType;
112  NvMediaBool bRefPic;
114  NvMediaBool bIntraRefresh;
127  } h265Extradata;
129 
160 typedef struct
161 {
164  uint32_t MagicNum;
167  uint32_t buffersize;
169  uint16_t blocksize;
175  uint16_t reserved;
177 
182 typedef struct {
184  int32_t mv_x;
186  int32_t mv_y;
188 
192 typedef struct {
196  uint32_t ulExtraDataSize;
208  uint32_t ulHdrSize;
210  int16_t AvgQP;
219  uint32_t ulReconCRC_Y;
222  uint32_t ulReconCRC_U;
225  uint32_t ulReconCRC_V;
228  uint32_t ulFrameMinQP;
230  uint32_t ulFrameMaxQP;
272  uint32_t ulHrdBitrate;
275  uint32_t ulVbvBufSize;
281 
284 #ifdef __cplusplus
285 }; /* extern "C" */
286 #endif
287 
288 #endif /* NVMEDIA_IEP_OUTPUT_EXTRA_DATA_H */
NvMediaEncodeMVData::mv_y
int32_t mv_y
Y component of the motion vector pertaining to 1 macro block.
Definition: nvmedia_iep_output_extradata.h:186
NvMediaEncodeCodecExData
Holds a codec-specific extradata output.
Definition: nvmedia_iep_output_extradata.h:93
NvMediaEncodeOutputExtradata::bIsGoldenOrAlternateFrame
NvMediaBool bIsGoldenOrAlternateFrame
Flag for vp8 reference frame information.
Definition: nvmedia_iep_output_extradata.h:213
NvMediaEncodeCodecExData::bRefPic
NvMediaBool bRefPic
Is this a reference frame.
Definition: nvmedia_iep_output_extradata.h:99
NvMediaEncodeMVBufferHeader::buffersize
uint32_t buffersize
Size of motion vector output (excluding header size), i.e., the size of MV data in the bitstream post...
Definition: nvmedia_iep_output_extradata.h:167
NvMediaEncodeMVBufferHeader::width_in_blocksize
uint16_t width_in_blocksize
Input frame width in terms of blocksize.
Definition: nvmedia_iep_output_extradata.h:171
NvMediaEncodeOutputExtradata::ulActiveRefFrames
uint32_t ulActiveRefFrames
Number of valid entries in RPS.
Definition: nvmedia_iep_output_extradata.h:240
NvMediaFrameStats::ulEncodeTime
uint32_t ulEncodeTime
Hardware Encode Time.
Definition: nvmedia_iep_output_extradata.h:84
NVMEDIA_ENCODE_H26X_FRAME_TYPE_END
@ NVMEDIA_ENCODE_H26X_FRAME_TYPE_END
Definition: nvmedia_iep_output_extradata.h:51
NvMediaEncodeCodecExData::uInterMBCount
uint32_t uInterMBCount
Count of the number of inter MBs.
Definition: nvmedia_iep_output_extradata.h:105
NvMediaEncodeFrameFullProp::bLTRefFrame
NvMediaBool bLTRefFrame
Is the frame a Long Term Ref Frame.
Definition: nvmedia_iep_output_extradata.h:64
NvMediaEncodeOutputExtradata::ulCurrentRefFrameId
uint32_t ulCurrentRefFrameId
frame id of reference frame to be used for motion search, ignored for IDR.
Definition: nvmedia_iep_output_extradata.h:237
NvMediaEncodeMVBufferHeader::height_in_blocksize
uint16_t height_in_blocksize
Input frame height in terms of blocksize.
Definition: nvmedia_iep_output_extradata.h:173
NvMediaEncodeCodecExData::uIntraMBCount
uint32_t uIntraMBCount
Count of the number of intra MBs.
Definition: nvmedia_iep_output_extradata.h:103
NVMEDIA_ENCODE_H26X_FRAME_TYPE_IDR
@ NVMEDIA_ENCODE_H26X_FRAME_TYPE_IDR
IDR Frame.
Definition: nvmedia_iep_output_extradata.h:49
NVMEDIA_ENCODE_MAX_RPS_SIZE
#define NVMEDIA_ENCODE_MAX_RPS_SIZE
Maximum number of reference pictures including current frame.
Definition: nvmedia_iep_common_extradata.h:33
NvMediaEncodeCodecExData::bIntraRefresh
NvMediaBool bIntraRefresh
Is this an intra refresh frame.
Definition: nvmedia_iep_output_extradata.h:101
NvMediaEncodeOutputExtradata::ulReconCRC_U
uint32_t ulReconCRC_U
Recon CRC for U component when ReconCRC generation is enabled.
Definition: nvmedia_iep_output_extradata.h:222
NvMediaEncodeOutputExtradata::codec
NvMediaVideoCodec codec
Codec Type.
Definition: nvmedia_iep_output_extradata.h:277
NvMediaEncodeMVBufferHeader::reserved
uint16_t reserved
Reserved.
Definition: nvmedia_iep_output_extradata.h:175
NvMediaEncodeOutputExtradata::bValidReconCRC
NvMediaBool bValidReconCRC
Whether Recon CRC for Recon frame is present.
Definition: nvmedia_iep_output_extradata.h:216
NvMediaEncodeOutputExtradata::ulExtraDataSize
uint32_t ulExtraDataSize
Size of this extradata structure.
Definition: nvmedia_iep_output_extradata.h:196
NvMediaEncodeOutputExtradata
Holds a Video encoder output extradata configuration.
Definition: nvmedia_iep_output_extradata.h:192
NvMediaEncodeCodecExData::uIntraCU16x16Count
uint32_t uIntraCU16x16Count
Count of the number of intra 16x16 CUs.
Definition: nvmedia_iep_output_extradata.h:120
NvMediaVideoCodec
NvMediaVideoCodec
Video codec type.
Definition: nvmedia_common_encode_decode.h:38
NvMediaEncodeFrameFullProp::ulFrameId
uint32_t ulFrameId
Unique Frame ID.
Definition: nvmedia_iep_output_extradata.h:60
NvMediaEncodeOutputExtradata::ulFrameMinQP
uint32_t ulFrameMinQP
Rate Control Feedback.
Definition: nvmedia_iep_output_extradata.h:228
NvMediaEncodeOutputExtradata::ulVbvBufSize
uint32_t ulVbvBufSize
vbvBufSize to be used to compute RC stats.
Definition: nvmedia_iep_output_extradata.h:275
NvMediaEncodeOutputExtradata::ulFrameMaxQP
uint32_t ulFrameMaxQP
Maximum QP used for this frame.
Definition: nvmedia_iep_output_extradata.h:230
NvMediaEncodeOutputExtradata::MVBufferDumpStartOffset
uint32_t MVBufferDumpStartOffset
Encoded motion vector buffer dump start offset in the bitstream.
Definition: nvmedia_iep_output_extradata.h:266
NvMediaFrameStats::ulCycleCount
uint32_t ulCycleCount
Hardware Cycle Count.
Definition: nvmedia_iep_output_extradata.h:78
NvMediaEncodeOutputExtradata::codecExData
NvMediaEncodeCodecExData codecExData
Codec specific extradata.
Definition: nvmedia_iep_output_extradata.h:279
NvMediaFrameStats::ulFlushTime
uint32_t ulFlushTime
Hardware Flush Time.
Definition: nvmedia_iep_output_extradata.h:82
NvMediaEncodeCodecExData::uIntraCU8x8Count
uint32_t uIntraCU8x8Count
Count of the number of intra 8x8 CUs.
Definition: nvmedia_iep_output_extradata.h:124
NvMediaEncodeMVBufferHeader
Header format that defines motion vector output.
Definition: nvmedia_iep_output_extradata.h:160
NvMediaEncodeCodecExData::uIntraCU32x32Count
uint32_t uIntraCU32x32Count
Count of the number of intra 32x32 CUs.
Definition: nvmedia_iep_output_extradata.h:116
NvMediaFrameStats::ulFetchTime
uint32_t ulFetchTime
Time taken to fetch the encoded bitstream once a frame is passed for encoded.
Definition: nvmedia_iep_output_extradata.h:87
NvMediaEncodeOutputExtradata::bEndOfFrame
NvMediaBool bEndOfFrame
Slice end or frame end in the packet for application to handle packets When slice encode is completed...
Definition: nvmedia_iep_output_extradata.h:206
NVMEDIA_ENCODE_H26X_FRAME_TYPE_P
@ NVMEDIA_ENCODE_H26X_FRAME_TYPE_P
P Frame.
Definition: nvmedia_iep_output_extradata.h:43
NvMediaEncodeOutputExtradata::AvgQP
int16_t AvgQP
Average QP index of the encoded frame.
Definition: nvmedia_iep_output_extradata.h:210
NvMediaEncodeCodecExData::eFrameType
NvMediaEncodeH26xFrameType eFrameType
Frame type of the encoded frame.
Definition: nvmedia_iep_output_extradata.h:97
NvMediaEncodeCodecExData::uInterCU8x8Count
uint32_t uInterCU8x8Count
Count of the number of inter 8x8 CUs.
Definition: nvmedia_iep_output_extradata.h:126
NvMediaEncodeH26xFrameType
NvMediaEncodeH26xFrameType
Enumeration of possible frame types - common to H264, H265.
Definition: nvmedia_iep_output_extradata.h:41
NvMediaFrameStats::ulPresetTime
uint32_t ulPresetTime
Time taken for setting the preset in feedframe.
Definition: nvmedia_iep_output_extradata.h:80
NvMediaEncodeOutputExtradata::FrameStats
NvMediaFrameStats FrameStats
Video Encoder Profiling stats.
Definition: nvmedia_iep_output_extradata.h:269
NvMediaEncodeFrameFullProp::ulLTRFrameIdx
uint32_t ulLTRFrameIdx
LongTermFrameIdx of the picture.
Definition: nvmedia_iep_output_extradata.h:70
NvMediaEncodeMVBufferHeader::MagicNum
uint32_t MagicNum
Used to verify the integrity of the header.
Definition: nvmedia_iep_output_extradata.h:164
NVMEDIA_ENCODE_H26X_FRAME_TYPE_I
@ NVMEDIA_ENCODE_H26X_FRAME_TYPE_I
I Frame.
Definition: nvmedia_iep_output_extradata.h:47
NvMediaFrameStats
Holds Video Encoder Profiling Information.
Definition: nvmedia_iep_output_extradata.h:76
NvMediaEncodeOutputExtradata::bRPSFeedback
NvMediaBool bRPSFeedback
RPS Feedback.
Definition: nvmedia_iep_output_extradata.h:234
NvMediaEncodeFrameFullProp::ulPictureOrderCnt
uint32_t ulPictureOrderCnt
Picture order count of the frame.
Definition: nvmedia_iep_output_extradata.h:66
NvMediaEncodeOutputExtradata::ulHdrSize
uint32_t ulHdrSize
Size of SPS/PPS header if it passed with output buffer.
Definition: nvmedia_iep_output_extradata.h:208
NvMediaEncodeFrameFullProp
Holds a Video encoder frames property.
Definition: nvmedia_iep_output_extradata.h:58
NvMediaEncodeOutputExtradata::bMVbufferdump
NvMediaBool bMVbufferdump
Set if bitstream buffer contains MV Buffer dump.
Definition: nvmedia_iep_output_extradata.h:254
NvMediaEncodeCodecExData::uInterCU16x16Count
uint32_t uInterCU16x16Count
Count of the number of inter 16x16 CUs.
Definition: nvmedia_iep_output_extradata.h:122
NvMediaEncodeFrameFullProp::bIdrFrame
NvMediaBool bIdrFrame
Is the frame an IDR frame.
Definition: nvmedia_iep_output_extradata.h:62
NvMediaBool
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
NvMediaEncodeOutputExtradata::ulReconCRC_V
uint32_t ulReconCRC_V
Recon CRC for V component when ReconCRC generation is enabled.
Definition: nvmedia_iep_output_extradata.h:225
NvMediaEncodeOutputExtradata::bkeyFrame
NvMediaBool bkeyFrame
Format of input H264 data.
Definition: nvmedia_iep_output_extradata.h:200
NvMediaEncodeOutputExtradata::ulHrdBitrate
uint32_t ulHrdBitrate
hrdBitrate to be used to calculate RC stats.
Definition: nvmedia_iep_output_extradata.h:272
NvMediaEncodeMVData::mv_x
int32_t mv_x
X component of the motion vector pertaining to 1 macro block.
Definition: nvmedia_iep_output_extradata.h:184
NvMediaEncodeCodecExData::uInterCU32x32Count
uint32_t uInterCU32x32Count
Count of the number of inter 32x32 CUs.
Definition: nvmedia_iep_output_extradata.h:118
NVMEDIA_ENCODE_H26X_FRAME_TYPE_B
@ NVMEDIA_ENCODE_H26X_FRAME_TYPE_B
B Frame.
Definition: nvmedia_iep_output_extradata.h:45
NvMediaEncodeOutputExtradata::MVBufferDumpSize
uint32_t MVBufferDumpSize
Size of the MV buffer, including NvMediaEncodeMVBufferHeader and NvMediaEncodeMVData for each macrobl...
Definition: nvmedia_iep_output_extradata.h:260
NvMediaEncodeFrameFullProp::ulFrameNum
uint32_t ulFrameNum
Frame Number of the frame.
Definition: nvmedia_iep_output_extradata.h:68
NvMediaEncodeOutputExtradata::ulReconCRC_Y
uint32_t ulReconCRC_Y
Recon CRC for Y component when ReconCRC generation is enabled.
Definition: nvmedia_iep_output_extradata.h:219
NvMediaEncodeMVBufferHeader::blocksize
uint16_t blocksize
Macro Block size.
Definition: nvmedia_iep_output_extradata.h:169
NvMediaEncodeMVData
Motion Vector format - motion vectors for each of the macro blocks are dumped in this format contiguo...
Definition: nvmedia_iep_output_extradata.h:182
nvmedia_iep_common_extradata.h
NVIDIA Media Interface: NvMedia Image Encode Processing Common ExtraData