Loading [MathJax]/extensions/tex2jax.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • NVIDIA DRIVE OS Linux SDK API Reference

    6.0.9 Release
    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    nvmedia_iep_output_extradata.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 
    22 #ifndef NVMEDIA_IEP_OUTPUT_EXTRA_DATA_H
    23 #define NVMEDIA_IEP_OUTPUT_EXTRA_DATA_H
    24 
    25 #ifdef __cplusplus
    26 extern "C" {
    27 #endif
    28 
    29 #include <stdint.h>
    30 #include <stdbool.h>
    31 
    33 #define NVMEDIA_ENCODE_MAX_RPS_SIZE 17U
    34 
    47 #define MV_BUFFER_HEADER 0xFFFEFDFCU
    48 
    52 typedef enum {
    64 
    69 typedef struct {
    71  uint32_t ulFrameId;
    73  bool bIdrFrame;
    79  uint32_t ulFrameNum;
    81  uint32_t ulLTRFrameIdx;
    83 
    87 typedef struct {
    89  uint32_t ulCycleCount;
    91  uint32_t ulPresetTime;
    93  uint32_t ulFlushTime;
    95  uint32_t ulEncodeTime;
    98  uint32_t ulFetchTime;
    100 
    104 typedef union {
    106  struct {
    110  bool bRefPic;
    114  uint32_t uIntraMBCount;
    116  uint32_t uInterMBCount;
    117  } h264Extradata;
    119  struct {
    121  NvMediaEncodeH26xFrameType eFrameType;
    123  bool bRefPic;
    125  bool bIntraRefresh;
    138  } h265Extradata;
    140 
    171 typedef struct
    172 {
    175  uint32_t MagicNum;
    178  uint32_t buffersize;
    180  uint16_t blocksize;
    186  uint16_t reserved;
    188 
    193 typedef struct {
    195  int32_t mv_x;
    197  int32_t mv_y;
    199 
    203 typedef struct {
    207  uint32_t ulExtraDataSize;
    211  bool bkeyFrame;
    219  uint32_t ulHdrSize;
    221  int16_t AvgQP;
    230  uint32_t ulReconCRC_Y;
    233  uint32_t ulReconCRC_U;
    236  uint32_t ulReconCRC_V;
    239  uint32_t ulFrameMinQP;
    241  uint32_t ulFrameMaxQP;
    283  uint32_t ulHrdBitrate;
    286  uint32_t ulVbvBufSize;
    292 
    295 #ifdef __cplusplus
    296 } /* extern "C" */
    297 #endif
    298 
    299 #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:197
    NvMediaEncodeCodecExData
    Holds a codec-specific extradata output.
    Definition: nvmedia_iep_output_extradata.h:104
    NvMediaEncodeCodecExData::bIntraRefresh
    bool bIntraRefresh
    Is this an intra refresh frame.
    Definition: nvmedia_iep_output_extradata.h:112
    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:178
    NvMediaEncodeMVBufferHeader::width_in_blocksize
    uint16_t width_in_blocksize
    Input frame width in terms of blocksize.
    Definition: nvmedia_iep_output_extradata.h:182
    NVMEDIA_ENCODE_H26X_FRAME_TYPE_P
    @ NVMEDIA_ENCODE_H26X_FRAME_TYPE_P
    P Frame.
    Definition: nvmedia_iep_output_extradata.h:54
    NvMediaEncodeOutputExtradata::ulActiveRefFrames
    uint32_t ulActiveRefFrames
    Number of valid entries in RPS.
    Definition: nvmedia_iep_output_extradata.h:251
    NvMediaFrameStats::ulEncodeTime
    uint32_t ulEncodeTime
    Hardware Encode Time.
    Definition: nvmedia_iep_output_extradata.h:95
    NvMediaEncodeFrameFullProp::bLTRefFrame
    bool bLTRefFrame
    Is the frame a Long Term Ref Frame.
    Definition: nvmedia_iep_output_extradata.h:75
    NvMediaEncodeCodecExData::uInterMBCount
    uint32_t uInterMBCount
    Count of the number of inter MBs.
    Definition: nvmedia_iep_output_extradata.h:116
    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:248
    NvMediaEncodeOutputExtradata::bEndOfFrame
    bool 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:217
    NVMEDIA_ENCODE_H26X_FRAME_TYPE_IDR
    @ NVMEDIA_ENCODE_H26X_FRAME_TYPE_IDR
    IDR Frame.
    Definition: nvmedia_iep_output_extradata.h:60
    NvMediaEncodeMVBufferHeader::height_in_blocksize
    uint16_t height_in_blocksize
    Input frame height in terms of blocksize.
    Definition: nvmedia_iep_output_extradata.h:184
    NvMediaEncodeCodecExData::uIntraMBCount
    uint32_t uIntraMBCount
    Count of the number of intra MBs.
    Definition: nvmedia_iep_output_extradata.h:114
    NvMediaEncodeOutputExtradata::ulReconCRC_U
    uint32_t ulReconCRC_U
    Recon CRC for U component when ReconCRC generation is enabled.
    Definition: nvmedia_iep_output_extradata.h:233
    NvMediaEncodeOutputExtradata::codec
    NvMediaVideoCodec codec
    Codec Type.
    Definition: nvmedia_iep_output_extradata.h:288
    NvMediaEncodeCodecExData::bRefPic
    bool bRefPic
    Is this a reference frame.
    Definition: nvmedia_iep_output_extradata.h:110
    NvMediaEncodeMVBufferHeader::reserved
    uint16_t reserved
    Reserved.
    Definition: nvmedia_iep_output_extradata.h:186
    NvMediaEncodeOutputExtradata::ulExtraDataSize
    uint32_t ulExtraDataSize
    Size of this extradata structure.
    Definition: nvmedia_iep_output_extradata.h:207
    NvMediaEncodeOutputExtradata
    Holds the encoder output extradata configuration.
    Definition: nvmedia_iep_output_extradata.h:203
    NvMediaEncodeOutputExtradata::bMVbufferdump
    bool bMVbufferdump
    Set if bitstream buffer contains MV Buffer dump.
    Definition: nvmedia_iep_output_extradata.h:265
    NvMediaEncodeCodecExData::uIntraCU16x16Count
    uint32_t uIntraCU16x16Count
    Count of the number of intra 16x16 CUs.
    Definition: nvmedia_iep_output_extradata.h:131
    NvMediaEncodeFrameFullProp::ulFrameId
    uint32_t ulFrameId
    Unique Frame ID.
    Definition: nvmedia_iep_output_extradata.h:71
    NvMediaEncodeOutputExtradata::bIsGoldenOrAlternateFrame
    bool bIsGoldenOrAlternateFrame
    Flag for vp8 reference frame information.
    Definition: nvmedia_iep_output_extradata.h:224
    NvMediaEncodeOutputExtradata::ulFrameMinQP
    uint32_t ulFrameMinQP
    Rate Control Feedback.
    Definition: nvmedia_iep_output_extradata.h:239
    NvMediaEncodeOutputExtradata::ulVbvBufSize
    uint32_t ulVbvBufSize
    vbvBufSize to be used to compute RC stats.
    Definition: nvmedia_iep_output_extradata.h:286
    NvMediaEncodeH26xFrameType
    NvMediaEncodeH26xFrameType
    Enumeration of possible frame types - common to H264, H265.
    Definition: nvmedia_iep_output_extradata.h:52
    NvMediaEncodeOutputExtradata::ulFrameMaxQP
    uint32_t ulFrameMaxQP
    Maximum QP used for this frame.
    Definition: nvmedia_iep_output_extradata.h:241
    NvMediaEncodeOutputExtradata::MVBufferDumpStartOffset
    uint32_t MVBufferDumpStartOffset
    Encoded motion vector buffer dump start offset in the bitstream.
    Definition: nvmedia_iep_output_extradata.h:277
    NvMediaFrameStats::ulCycleCount
    uint32_t ulCycleCount
    Hardware Cycle Count.
    Definition: nvmedia_iep_output_extradata.h:89
    NvMediaEncodeOutputExtradata::codecExData
    NvMediaEncodeCodecExData codecExData
    Codec specific extradata.
    Definition: nvmedia_iep_output_extradata.h:290
    NvMediaFrameStats::ulFlushTime
    uint32_t ulFlushTime
    Hardware Flush Time.
    Definition: nvmedia_iep_output_extradata.h:93
    NvMediaEncodeCodecExData::uIntraCU8x8Count
    uint32_t uIntraCU8x8Count
    Count of the number of intra 8x8 CUs.
    Definition: nvmedia_iep_output_extradata.h:135
    NvMediaEncodeMVBufferHeader
    Header format that defines motion vector output.
    Definition: nvmedia_iep_output_extradata.h:171
    NvMediaEncodeFrameFullProp::bIdrFrame
    bool bIdrFrame
    Is the frame an IDR frame.
    Definition: nvmedia_iep_output_extradata.h:73
    NvMediaEncodeCodecExData::uIntraCU32x32Count
    uint32_t uIntraCU32x32Count
    Count of the number of intra 32x32 CUs.
    Definition: nvmedia_iep_output_extradata.h:127
    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:98
    NvMediaEncodeOutputExtradata::bValidReconCRC
    bool bValidReconCRC
    Whether Recon CRC for Recon frame is present.
    Definition: nvmedia_iep_output_extradata.h:227
    NvMediaEncodeOutputExtradata::AvgQP
    int16_t AvgQP
    Average QP index of the encoded frame.
    Definition: nvmedia_iep_output_extradata.h:221
    NvMediaEncodeCodecExData::eFrameType
    NvMediaEncodeH26xFrameType eFrameType
    Frame type of the encoded frame.
    Definition: nvmedia_iep_output_extradata.h:108
    NvMediaEncodeCodecExData::uInterCU8x8Count
    uint32_t uInterCU8x8Count
    Count of the number of inter 8x8 CUs.
    Definition: nvmedia_iep_output_extradata.h:137
    NvMediaFrameStats::ulPresetTime
    uint32_t ulPresetTime
    Time taken for setting the preset in feedframe.
    Definition: nvmedia_iep_output_extradata.h:91
    NvMediaEncodeOutputExtradata::FrameStats
    NvMediaFrameStats FrameStats
    Encoder Profiling stats.
    Definition: nvmedia_iep_output_extradata.h:280
    NVMEDIA_ENCODE_H26X_FRAME_TYPE_I
    @ NVMEDIA_ENCODE_H26X_FRAME_TYPE_I
    I Frame.
    Definition: nvmedia_iep_output_extradata.h:58
    NvMediaEncodeFrameFullProp::ulLTRFrameIdx
    uint32_t ulLTRFrameIdx
    LongTermFrameIdx of the picture.
    Definition: nvmedia_iep_output_extradata.h:81
    NvMediaEncodeMVBufferHeader::MagicNum
    uint32_t MagicNum
    Used to verify the integrity of the header.
    Definition: nvmedia_iep_output_extradata.h:175
    NvMediaVideoCodec
    NvMediaVideoCodec
    Video codec type.
    Definition: nvmedia_common_encode_decode.h:54
    NVMEDIA_ENCODE_MAX_RPS_SIZE
    #define NVMEDIA_ENCODE_MAX_RPS_SIZE
    Maximum number of reference pictures including current frame.
    Definition: nvmedia_iep_output_extradata.h:33
    NVMEDIA_ENCODE_H26X_FRAME_TYPE_B
    @ NVMEDIA_ENCODE_H26X_FRAME_TYPE_B
    B Frame.
    Definition: nvmedia_iep_output_extradata.h:56
    NvMediaFrameStats
    Holds the statistics from encode profiling.
    Definition: nvmedia_iep_output_extradata.h:87
    NvMediaEncodeFrameFullProp::ulPictureOrderCnt
    uint32_t ulPictureOrderCnt
    Picture order count of the frame.
    Definition: nvmedia_iep_output_extradata.h:77
    NvMediaEncodeOutputExtradata::ulHdrSize
    uint32_t ulHdrSize
    Size of SPS/PPS header if it passed with output buffer.
    Definition: nvmedia_iep_output_extradata.h:219
    NvMediaEncodeFrameFullProp
    Holds a encoder frames property.
    Definition: nvmedia_iep_output_extradata.h:69
    NvMediaEncodeCodecExData::uInterCU16x16Count
    uint32_t uInterCU16x16Count
    Count of the number of inter 16x16 CUs.
    Definition: nvmedia_iep_output_extradata.h:133
    NvMediaEncodeOutputExtradata::ulReconCRC_V
    uint32_t ulReconCRC_V
    Recon CRC for V component when ReconCRC generation is enabled.
    Definition: nvmedia_iep_output_extradata.h:236
    NvMediaEncodeOutputExtradata::ulHrdBitrate
    uint32_t ulHrdBitrate
    hrdBitrate to be used to calculate RC stats.
    Definition: nvmedia_iep_output_extradata.h:283
    NvMediaEncodeMVData::mv_x
    int32_t mv_x
    X component of the motion vector pertaining to 1 macro block.
    Definition: nvmedia_iep_output_extradata.h:195
    NvMediaEncodeCodecExData::uInterCU32x32Count
    uint32_t uInterCU32x32Count
    Count of the number of inter 32x32 CUs.
    Definition: nvmedia_iep_output_extradata.h:129
    NvMediaEncodeOutputExtradata::MVBufferDumpSize
    uint32_t MVBufferDumpSize
    Size of the MV buffer, including NvMediaEncodeMVBufferHeader and NvMediaEncodeMVData for each macrobl...
    Definition: nvmedia_iep_output_extradata.h:271
    NvMediaEncodeFrameFullProp::ulFrameNum
    uint32_t ulFrameNum
    Frame Number of the frame.
    Definition: nvmedia_iep_output_extradata.h:79
    NvMediaEncodeOutputExtradata::ulReconCRC_Y
    uint32_t ulReconCRC_Y
    Recon CRC for Y component when ReconCRC generation is enabled.
    Definition: nvmedia_iep_output_extradata.h:230
    NvMediaEncodeOutputExtradata::bRPSFeedback
    bool bRPSFeedback
    RPS Feedback.
    Definition: nvmedia_iep_output_extradata.h:245
    NvMediaEncodeOutputExtradata::bkeyFrame
    bool bkeyFrame
    Format of input H264 data.
    Definition: nvmedia_iep_output_extradata.h:211
    NvMediaEncodeMVBufferHeader::blocksize
    uint16_t blocksize
    Macro Block size.
    Definition: nvmedia_iep_output_extradata.h:180
    NvMediaEncodeMVData
    Motion Vector format - motion vectors for each of the macro blocks are dumped in this format contiguo...
    Definition: nvmedia_iep_output_extradata.h:193
    NVMEDIA_ENCODE_H26X_FRAME_TYPE_END
    @ NVMEDIA_ENCODE_H26X_FRAME_TYPE_END
    Definition: nvmedia_iep_output_extradata.h:62
    人人超碰97caoporen国产