NVIDIA DRIVE OS Linux SDK API Reference

5.1.9.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_common_encode.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 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 
17 #ifndef NVMEDIA_COMMON_ENCODE_H
18 #define NVMEDIA_COMMON_ENCODE_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #include "nvmedia_core.h"
27 
39 #define NVMEDIA_COMMON_ENCODE_VERSION_MAJOR 1
40 
41 #define NVMEDIA_COMMON_ENCODE_VERSION_MINOR 2
42 
47 #define NVMEDIA_VIDEO_ENCODER_TIMEOUT_INFINITE 0xFFFFFFFFU
48 
53 #define NVMEDIA_ENCODE_INFINITE_GOPLENGTH 0xFFFFFFFFU
54 
59 typedef struct {
61  int16_t qpInterP;
63  int16_t qpInterB;
65  int16_t qpIntra;
66 
67  int16_t reserved[3];
69 
75 typedef enum
76 {
88 
93 typedef struct {
97  uint32_t numBFrames;
98  union {
99  struct {
101  uint32_t averageBitRate;
104  uint32_t vbvBufferSize;
107  uint32_t vbvInitialDelay;
108  } cbr;
109  struct {
113  } const_qp;
114  struct {
116  uint32_t averageBitRate;
118  uint32_t maxBitRate;
121  uint32_t vbvBufferSize;
124  uint32_t vbvInitialDelay;
125  } vbr;
126  struct {
128  uint32_t averageBitRate;
130  uint32_t maxBitRate;
133  uint32_t vbvBufferSize;
136  uint32_t vbvInitialDelay;
139  } vbr_minqp;
140  struct {
142  uint32_t averageBitRate;
145  uint32_t vbvBufferSize;
148  uint32_t vbvInitialDelay;
150  NvMediaEncodeQP minQP;
151  } cbr_minqp;
152  } params;
158  int8_t maxSessionQP;
159  int8_t reserved[3];
161 
166 typedef enum {
172 
184 typedef enum {
200 
204 typedef enum {
207 
221 
226 typedef enum {
229 
259 
264 typedef enum {
275 
279 typedef enum {
287 
292 typedef enum {
298 
303 typedef enum {
311 
316 typedef enum {
324 
329 typedef enum {
348 
367 
376 
385 
395 
400 typedef enum {
420 
426 typedef enum {
434 
440 typedef enum {
448 
453 typedef enum {
461 
466 #define MAX_NON_SLICE_DATA_SIZE 2048U
467 
472 typedef struct {
474  uint32_t ulNalSize;
476  uint8_t data[MAX_NON_SLICE_DATA_SIZE];
478 
482 typedef struct {
487  uint8_t aspectRatioIdc;
490  uint16_t aspectSARWidth;
493  uint16_t aspectSARHeight;
503  uint8_t videoFormat;
518  uint8_t colourMatrix;
525 
529 typedef struct {
539 
543 typedef struct {
545  int32_t mvx : 12;
547  int32_t mvy : 10;
549  uint32_t refidx : 5;
551  uint32_t dir : 1;
553  uint32_t partType : 2;
555  uint32_t lastofPart : 1;
557  uint32_t lastOfMB : 1;
559 
564 typedef enum {
610 
614 typedef struct {
617  uint32_t features;
621  uint32_t gopLength;
630  uint32_t idrPeriod;
662  uint32_t intraRefreshCnt;
695 
699 typedef struct {
701  uint32_t payloadSize;
703  uint32_t payloadType;
705  uint8_t *payload;
707 
711 typedef struct {
713  uint16_t encodeWidth;
714  uint16_t reserved1;
716  uint16_t encodeHeight;
717  uint16_t reserved2;
722  uint32_t frameRateNum;
725  uint32_t frameRateDen;
729  uint8_t profile;
733  uint8_t level;
764  uint8_t reserved3[3];
770  uint32_t mvcNumViews : 4;
772  uint32_t enableExternalPictureRC : 1;
774  uint32_t enableAllIFrames : 1;
776  uint32_t reserved : 26;
778 
782 typedef struct {
787  uint32_t encodePicFlags;
794  uint32_t nextBFrames;
826  union
827  {
829  uint8_t *meHints;
830  };
833  uint32_t frameRateNum;
836  uint32_t frameRateDen;
838  uint32_t viewId;
851 typedef struct {
856  uint8_t aspectRatioIdc;
859  uint16_t aspectSARWidth;
862  uint16_t aspectSARHeight;
872  uint8_t videoFormat;
887  uint8_t matrixCoeffs;
888  /* Holds that num_units_in_tick, time_scale and fixed_frame_rate_flag are present
889  in the bitstream (as defined in Annex E of the ITU-T Specification). */
891  /* Specified the bitstream restriction info (as defined in Annex E of the ITU-T Specification). */
894 
899 typedef enum {
945 
949 typedef struct {
952  uint32_t features;
956  uint32_t gopLength;
964  uint32_t idrPeriod;
988  uint32_t intraRefreshCnt;
995  uint32_t numCTUsPerSlice;
1010 
1014 typedef struct {
1016  uint16_t encodeWidth;
1017  uint16_t reserved1;
1019  uint16_t encodeHeight;
1020  uint16_t reserved2;
1027  uint32_t frameRateNum;
1030  uint32_t frameRateDen;
1034  uint8_t profile;
1038  uint8_t level;
1042  uint8_t levelTier;
1078  uint32_t mvNumViews : 4;
1080  uint32_t enableExternalPictureRC : 1;
1082  uint32_t enableAllIFrames : 1;
1084  uint32_t reserved : 26;
1086 
1090 typedef struct {
1092  uint32_t payloadSize;
1094  uint32_t payloadType;
1096  uint32_t nalUnitType;
1098  uint8_t *payload;
1100 
1104 typedef struct {
1109  uint32_t encodePicFlags;
1116  uint32_t nextBFrames;
1151  uint32_t frameRateNum;
1154  uint32_t frameRateDen;
1156  uint32_t viewId;
1158 
1171 typedef enum {
1190 
1194 typedef struct {
1196  uint32_t features;
1200  uint32_t gopLength;
1206  uint32_t idrPeriod;
1207 
1212  uint32_t filter_type;
1214  uint32_t filter_level;
1219  int8_t ref_lf_deltas[4];
1221  int8_t mode_lf_deltas[2];
1226 
1227  /* Set the feature flag \ref NVMEDIA_ENCODE_CONFIG_VP9_ENABLE_QUANTIZATION_PARAMS
1228  to set the following parameters */
1231  uint32_t base_qindex;
1234  int32_t delta_y_dc_q;
1237  int32_t delta_uv_dc;
1240  int32_t delta_uv_ac;
1241 
1242  /* Set the feature flag \ref NVMEDIA_ENCODE_CONFIG_VP9_ENABLE_TRANSFORM_MODE to
1243  set the following parameter */
1247  uint32_t transform_mode;
1248 
1249  /* Set the feature flag \ref NVMEDIA_ENCODE_CONFIG_VP9_ENABLE_HIGH_PRECISION_MV
1250  to set the following parameter */
1253  uint32_t high_prec_mv;
1254 
1255  /* Set the feature flag \ref NVMEDIA_ENCODE_CONFIG_VP9_DISABLE_ERROR_RESILIENT to
1256  set the following parameter */
1260 
1270 
1274 typedef struct {
1276  uint32_t encodeWidth;
1278  uint32_t encodeHeight;
1284  uint32_t frameRateNum;
1287  uint32_t frameRateDen;
1306 
1310 typedef struct {
1315  uint32_t encodePicFlags;
1322  uint32_t nextBFrames;
1351 
1364 typedef enum {
1379 
1383 typedef struct {
1385  uint32_t features;
1389  uint32_t gopLength;
1393  uint32_t version;
1400  uint32_t filter_type;
1402  uint32_t filter_level;
1407  int8_t ref_lf_deltas[4];
1409  int8_t mode_lf_deltas[4];
1417  uint32_t base_qindex;
1420  uint32_t y1dc_delta_q;
1422  uint32_t y2dc_delta_q;
1424  uint32_t y2ac_delta_q;
1426  uint32_t uvdc_delta_q;
1428  uint32_t uvac_delta_q;
1440  int8_t seg_filter_level[4];
1442  int8_t seg_qindex[4];
1459 
1463 typedef struct {
1465  uint32_t encodeWidth;
1467  uint32_t encodeHeight;
1470  uint32_t frameRateNum;
1473  uint32_t frameRateDen;
1480 
1484 typedef struct {
1489  uint32_t encodePicFlags;
1497  uint32_t frameRateNum;
1500  uint32_t frameRateDen;
1502 
1507 /*
1508  * \defgroup history_nvmedia_common_encode History
1509  * Provides change history for the NvMedia Common Encode Types.
1510  *
1511  * \section history_nvmedia_common_encode Version History
1512  *
1513  * <b> Version 1.0 </b> July 10, 2019
1514  * - Initial release
1515  *
1516  * <b> Version 1.1 </b> July 13, 2019
1517  * - Removed support for NVMEDIA_ENCODE_BLOCKING_TYPE_ALWAYS NvMediaBlockingType
1518  *
1519  * <b> Version 1.2 </b> July 15, 2019
1520  * - Update the size of qpInterP, qpInterB and qpIntra, and added reserved to struture NvMediaEncodeQP
1521  * - Updated size of maxSessionQP, encodeWidth, encodeHeight and useBFramesAsRef with proper reserved variable.
1522  * - Moved meExternalHints in a Union with uint8_t* member. This is to avoid cast.
1523  *
1524  */
1525 
1526 
1527 #ifdef __cplusplus
1528 }; /* extern "C" */
1529 #endif
1530 
1531 #endif /* NVMEDIA_COMMON_ENCODE_H */
uint16_t aspectSARHeight
If aspectRatioIdc is Extended SAR it indicates vertical size of the sample aspect ratio (in the same ...
uint32_t useBFramesAsRef
Enables B frames to be used as refernces frames.
Enable support for motion vector buffer dump.
Holds H265-specific encode initialization parameters.
uint32_t y1dc_delta_q
VP8 delta (subtracted from baseline quant index)
NvMediaBool videoFullRangeFlag
Holds the output range of the luma and chroma samples (as defined in Annex E of the ITU-T Specificati...
uint32_t mb_segment_abs_delta
VP8 mb segment abs delta.
This attribute is used to get SPS data for current encoding session.
NvMediaBool videoSignalTypePresentFlag
If set to NVMEDIA_TRUE, it specifies that the videoFormat, videoFullRangeFlag and colourDescriptionPr...
Disable Intra 8x8 vertical left prediction.
uint8_t maxNumRefFrames
Holds the max reference numbers used for encoding.
uint32_t viewId
Holds the viewId of current picture.
NvMediaEncodeQP maxQP
Holds the maximum QP parameters.
Automatic profile selection.
uint32_t idrPeriod
Holds the IDR interval.
uint32_t encodePicFlags
Holds bit-wise OR`ed encode pic flags.
uint8_t profile
Holds the encoding profile.
NvMediaEncodeH264Features
Defines H264 encoder configuration features.
int16_t qpInterB
QP value for B frames.
uint8_t transferCharacteristics
Holds the opto-electronic transfer characteristics to use (as defined in Annex E of the ITU-T Specifi...
NvMediaEncodeRCParams rcParams
Holds the rate control parameters for the current encoding session.
Intra predicted picture.
Disable Intra 8x8 vertical right prediction.
uint8_t level
Holds the encoding level.
uint32_t refresh_entropy_probs
VP8 refresh entropy probs.
uint32_t nextBFrames
Secifies the number of B-frames that follow the current frame.
uint32_t frameRateDen
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint32_t numBFrames
Specified number of B frames between two reference frames.
Enable support to use 4 byte start code in all the slices in a picture.
uint32_t y2dc_delta_q
VP8 Y2 dc delta.
uint8_t matrixCoeffs
Holds the matrix coefficients used in deriving the luma and chroma from the RGB primaries (as defined...
Holds the H.265 video usability information parameters.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
NvMediaEncodeExternalMEHint * meExternalHints
Holds the pointer to ME external hints for the current frame.
Constant bitrate mode with MinQP.
NvMediaBool bmode_ref_lf_delta_update
Set it to true if MB-level loop filter adjustment delta values are updated.
NvMediaEncodeLevel
Defines encoding levels.
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint32_t seiPayloadArrayCnt
Holds the number of elements allocated in seiPayloadArray array.
Disable Intra 4x4 horizontal down prediction.
NvMediaEncodeH264POCType pocType
Holds pic_ordec_cnt_type.
Holds quantization parameters(QP) value for frames.
uint32_t vbvInitialDelay
Holds the VBV(HRD) initial delay in bits.
uint32_t frameRateDen
Holds the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateN...
NvMediaBool overscanInfoPresentFlag
If set to NVMEDIA_TRUE, it specifies that the overscanInfo is present.
Disable Intra 4x4 diagonal down right prediction.
NvMediaBool enableTwoPassRC
Enable 2 pass RC support.
uint32_t encodeHeight
Holds the encode height.
uint32_t frameRateDen
Holds the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateN...
Quality Level 1 Pre-settings.
uint32_t sharpness_level
Specifies Sharpness level.
NvMediaEncodeRCParams rcParams
Holds the rate control parameters for the current encoding session.
uint32_t numCandsPerBlk8x16
Holds the number of candidates per 8x16 block.
uint32_t intraRefreshCnt
Holds the number of frames over which intra refresh happens.
NvMediaBool no_temporal_mv_hints
Set to disable temporal mv hints.
NvMediaEncodeVP9Features
Defines VP9 encoder configuration features.
uint8_t colourPrimaries
Holds color primaries for converting to RGB (as defined in Annex E of the ITU-T Specification).
Holds H264 video usability information parameters.
uint32_t frameRateDen
Holds the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateN...
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint32_t gopLength
Holds the number of pictures in one GOP.
Holds H264-specific encode initialization parameters.
uint8_t enableWeightedPrediction
Holds enable weighted prediction.
H.264 specific User SEI message.
NVIDIA Media Interface: Common Types for Video/Image Encode/Decode
uint32_t transform_mode
Specifies transform_mode: 0: only4x4, 1: allow_8x8, 2: allow_16x16, 3: allow_32x32, 4:transform_mode_select.
Disable Intra 4x4 vertical right prediction.
NvMediaBool enableROIEncode
Enable region of interest encoding.
uint8_t colourMatrix
Holds the matrix coefficients used in deriving the luma and chroma from the RGB primaries (as defined...
Holds VP9-specific encoder picture parameters, which are sent on a per frame basis.
Specifies that Adaptive Transform 8x8 mode is disabled.
NvMediaBool enableExternalMEHints
Holds a flag indicating whether to enable or disable the external ME hints.
Holds H265-specific encoder picture parameters.
NvMediaBool enableLimitedRGB
Set this to NVMEDIA_TRUE for limited-RGB (16-235) input.
NvMediaBool bmode_ref_lf_delta_enabled
Set it to true if MB-level loop filter adjustment is on.
uint16_t encodeHeight
Holds the encode height.
Bi-directionally predicted picture.
NvMediaEncodeH264AdaptiveTransformMode adaptiveTransformMode
Holds the Adaptive Transform Mode.
uint16_t encodeWidth
Holds the encode width.
uint16_t encodeWidth
Holds the encode width.
NvMediaBool enableMVC
If client want to do MVC encoding then this flag need to be set.
uint32_t encodePicFlags
Holds bit-wise OR`ed encode pic flags.
uint32_t numCandsPerBlk16x8
Holds the number of candidates per 16x8 block.
uint32_t intraRefreshPeriod
Holds the interval between frames that triggers a new intra refresh cycle.
NvMediaBool overscanInfoPresentFlag
If set to NVMEDIA_TRUE, it specifies that the overscanInfo is present.
NvMediaBool overscanAppropriateFlag
Holds the overscan info (as defined in Annex E of the ITU-T Specification).
Enable support for external picture RC hint.
Enable constrainedFrame encoding where each slice in the constrained picture is independent of other ...
uint32_t base_qindex
Set the feature flag NVMEDIA_ENCODE_CONFIG_VP8_ENABLE_QUANTIZATION_PARAMS to set the following parame...
uint32_t frameRateDen
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint32_t features
Holds bit-wise OR`ed configuration feature flags.
NvMediaBool mb_no_coeff_skip_flag
Set to enable skipping of macroblocks with no non-zero coefficients at the frame level.
int16_t qpInterP
QP value for P frames.
uint32_t gopLength
Holds the number of pictures in one GOP.
uint32_t uvac_delta_q
VP8 UV ac delta.
uint32_t payloadSize
SEI payload size in bytes.
Indicates that this frame is encoded with each slice completely independent of other slices in the fr...
uint32_t vbvBufferSize
Holds the VBV(HRD) buffer size.
NvMediaBool videoSignalTypePresentFlag
If set to NVMEDIA_TRUE, it specifies that the videoFormat, videoFullRangeFlag, and colourDescriptionP...
NvMediaEncodeExternalMEHint * meExternalHints
Holds the pointer to ME external hints for the current frame.
uint8_t useBFramesAsRef
Enables B frames to be used as refernces frames.
uint32_t maxSliceSizeInBytes
Holds the maximum slice size in bytes for dynamic slice mode.
Disable Intra 8x8 horizontal up prediction.
Holds VP9-specific encode initialization parameters.
uint32_t numMacroblocksPerSlice
Holds the number of macroblocks per slice.
NvMediaEncodeH264SEIPayload * seiPayloadArray
Array of SEI payloads which will be inserted for this frame.
NvMediaEncodeH264SPSPPSRepeatMode repeatSPSPPS
Holds the frequency of the writing of Sequence and Picture parameters.
uint32_t numCandsPerBlk8x8
Holds the number of candidates per 8x8 block.
NvMediaBool enableLimitedRGB
Set this to NVMEDIA_TRUE for limited-RGB (16-235) input.
uint16_t aspectSARHeight
If aspectRatioIdc is Extended SAR then it indicates vertical size of the sample aspect ratio (in the ...
Holds VP9 encoder configuration parameters.
uint32_t base_qindex
Specifies quant base index (used only when rc_mode = 0) for each segment 0...255. ...
NvMediaBool enableSliceEncode
use slice encode to reduce latency in getting encoded buffers.
uint32_t intraRefreshPeriod
Holds the interval between frames that trigger a new intra refresh cycle and this cycle lasts for int...
NvMediaBool enableExternalMEHints
Set to NVMEDIA_TRUE to enable external ME hints.
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint32_t viewId
Holds the viewId of current picture.
uint32_t ulNalSize
Nal size for header.
uint32_t filter_type
Set the feature flag NVMEDIA_ENCODE_CONFIG_VP8_ENABLE_LOOP_FILTER_PARAMS to change the following para...
uint8_t maxNumRefFrames
Holds the max reference numbers used for encoding.
NvMediaBool error_resilient
Enable Error resiliency.
uint32_t encodePicFlags
Holds bit-wise OR`ed encode pic flags.
NvMediaBool videoFullRangeFlag
Holds the output range of the luma and chroma samples (as defined in Annex E of the ITU-T Specificati...
NVIDIA Media Interface: Core
uint8_t videoFormat
Holds the source video format (as defined in Annex E of the ITU-T Specification). ...
Enable gradual decoder refresh or intra refresh.
Block only when operation is pending.
NvMediaEncodeRCParams rcParams
Holds the rate control parameters from the current frame onward if the NVMEDIA_ENCODE_PIC_FLAG_RATECO...
NvMediaBool bmode_ref_lf_delta_update
Set it to true if MB-level loop filter adjustment delta values are updated.
uint32_t frameRateDen
Holds the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateN...
NvMediaEncodeH264BDirectMode bdirectMode
Holds the BDirect mode.
Holds VP8-specific encoder picture parameters, which are sent on a per frame basis.
NvMediaEncodeH264BDirectMode
Defines H.264 specific Bdirect modes.
Enable gradual decoder refresh or intra refresh.
Holds the H265 encoder configuration parameters.
uint8_t * payload
Pointer to user data.
H264 specific encoder picture params.
uint32_t filter_level
Specifies the loop filter strength for each segment.
uint32_t nalUnitType
SEI nal_unit_type.
NvMediaBool enableMVC
If client want to do MVC encoding then this flag need to be set.
Holds an External Motion Vector hint.
NvMediaEncodeRCParams rcParams
Holds the rate control parameters from the current frame onward if the NVMEDIA_ENCODE_PIC_FLAG_RATECO...
Enable support for dynamic reference picture set RPS/DPB control support.
NvMediaEncodePicFlags
Defines encoding Picture encode flags.
uint32_t high_prec_mv
Specifies to enable high precision MV.
uint32_t motionPredictionExclusionFlags
Holds bitwise OR`ed exclusion flags.
NvMediaEncodeH264MotionPredictionExclusionFlags
Defines motion prediction exclusion flags for H.264.
NvMediaEncodeProfile
Defines encoding profiles.
Disable Inter L0 partition 8x16 prediction.
int32_t delta_uv_dc
Specifies qindex adjustment for uv accoefficient, -15...15.
uint32_t features
Holds bit-wise OR`ed configuration feature flags.
Disable Intra chroma horizontal prediction.
uint8_t maxNumRefFrames
Holds the max reference numbers used for encoding.
uint32_t features
Holds bit-wise OR`ed configuration feature flags.
NvMediaBool aspectRatioInfoPresentFlag
If set to NVMEDIA_TRUE, specifies the aspectRatioIdc is present.
uint8_t profile
Holds the encoding profile.
NvMediaEncodeH264EntropyCodingMode entropyCodingMode
Holds the entropy coding mode.
uint32_t y2ac_delta_q
VP8 Y2 ac delta.
NvMediaEncodeQuality
Defines encode quality level pre-settings.
NvMediaEncodeRCParams rcParams
Holds the rate control parameters from the current frame onward if the NVMEDIA_ENCODE_PIC_FLAG_RATECO...
NvMediaEncodeQuality quality
Holds encode quality pre-set.
uint8_t * payload
pointer to user data
uint8_t enableWeightedPrediction
Holds enable weighted predition.
NvMediaBool enableSliceEncode
use slice encode to reduce latency in getting encoded buffers.
Holds rate control configuration parameters.
Enable support to use client provided QP max for all frame types.
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
NvMediaBool enableReconCRC
Enable support for recon CRC generation.
Quality Level 2 Pre-settings.
NvMediaEncodeQP minQP
Holds the minimum QP used for rate control.
Specifies that Adaptive Transform 8x8 mode is auto selected by the encoder driver.
NvMediaEncodeQP constQP
Holds the initial QP to be used for encoding, these values would be used for all frames in Constant Q...
NvMediaEncodeExternalMEHint * meExternalHints
NvMediaBool enableSourceHalfScaled
Enable 2 pass RC with quarter resolution first pass.
NvMediaEncodePicType
Input picture type.
uint32_t payloadType
SEI payload types and syntax can be found in Annex D of the H.264 Specification.
This is used to get header info (SPS/PPS/VPS) using GetAttribute call.
NvMediaEncodeRCParams rcParams
Holds the rate control parameters from the current frame onward if the NVMEDIA_ENCODE_PIC_FLAG_RATECO...
uint16_t aspectSARWidth
If aspectRatioIdc is Extended SAR then it indicates horizontal size of the sample aspect ratio (in ar...
NvMediaEncAttrType
Specifies the Video encoder get attribute type.
uint32_t nextBFrames
Specifies the number of B-frames that follow the current frame.
NvMediaBool colourDescriptionPresentFlag
If set to NVMEDIA_TRUE, it specifies that the colourPrimaries, transferCharacteristics, and colourMatrix are present.
NvMediaEncodeQuality quality
Holds the encode quality pre-set.
int8_t maxSessionQP
Holds the max QP for encoding session when external picture RC hint is used.
uint32_t sharpness_level
Specifies Sharpness level.
NvMediaEncodeConfigH264VUIParams * h264VUIParameters
Holds the H.264 video usability information pamameters.
uint16_t numSliceCountMinus1
Holds a number that is 1 less than the desire number of slices per frame.
Holds an external motion vector hint with counts per block type.
uint32_t intraRefreshCnt
Holds the number of frames over which intra refresh will happen.
#define MAX_NON_SLICE_DATA_SIZE
Maximum encoded header info size.
NvMediaBool enableSliceLevelEncode
Set this to NVMEDIA_TRUE for slice level encode.
uint8_t transferCharacteristics
Holds the opto-electronic transfer characteristics to use (as defined in Annex E of the ITU-T Specifi...
Enable support for motion vector buffer dump.
NvMediaEncodePicType pictureType
Holds input picture type.
Disable Inter L0 partition 16x8 prediction.
Holds an H265-specific User SEI message.
Enable support to use client provided QP max for all frame types.
NvMediaEncodeQP maxQP
Holds maximum QP parameters.
NvMediaEncodePicType pictureType
Holds input picture type.
NvMediaBool stop_prob_update
Set to turn off all probability updates to save hw testing time.
uint32_t encodeHeight
Holds the encode height.
uint32_t seiPayloadArrayCnt
Holds the number of elements allocated in seiPayloadArray array.
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
NvMediaEncodeRCParams rcParams
Holds the rate control parameters for the current encoding session.
Indicates change in rate control parameters from the current picture onwards.
NvMediaEncodeH265Features
Defines H265 encoder configuration features.
Starts a new intra refresh cycle if intra refresh support is enabled otherwise it indicates a P frame...
Disable Intra 8x8 diagonal down left prediction.
NvMediaEncodeQP initQP
Holds the initial QP parameters.
Holds an H264 encoder configuration.
uint16_t aspectSARWidth
If aspectRatioIdc is Extended SAR it indicates horizontal size of the sample aspect ratio (in arbitra...
Specifies that Adaptive Transform 8x8 mode must be used.
uint8_t videoFormat
Holds the source video format (as defined in Annex E of the ITU-T Specification). ...
uint32_t gopLength
Holds the number of pictures in one GOP.
NvMediaEncodeConfigH265VUIParams * h265VUIParameters
Holds the H265 video usability info pamameters.
NvMediaBool bmode_ref_lf_delta_enabled
Set it to true if MB-level loop filter adjustment is on.
SPS/PPS is repeated for every intra frame.
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint16_t encodeHeight
Holds the encode height.
uint32_t gopLength
Holds the number of pictures in one GOP.
int32_t delta_uv_ac
Specifies qindex adjustment for uv dccoefficient, -15...15.
uint32_t numReferenceFrames
Number of reference frame.
Enable to write access unit delimiter syntax in bitstream.
Repeating of SPS/PPS is disabled.
NvMediaEncodeH264POCType
Define H.264 pic_order_cnt_type.
Holds VP8 encoder configuration parameters.
NvMediaBool bConstFrameQP
using constant frame QP throughout the current encode frame.
NvMediaEncodePicType pictureType
Holds input picture type.
uint32_t encodeWidth
Holds the encode width.
int16_t qpIntra
QP value for Intra frames.
uint32_t maxBitRate
Holds the maximum bitrate for the encoded output.
uint8_t levelTier
Holds the level tier information.
Enable support to use client provided Initial QP for all frame types.
NvMediaEncodeH264SPSPPSRepeatMode
Specifies the frequency of the writing of Sequence and Picture parameters for H.264.
uint32_t idrPeriod
Holds the IDR interval.
uint32_t encodePicFlags
Holds bit-wise OR`ed encode pic flags.
NvMediaEncodeQP maxQP
Holds maximum QP parameters.
uint32_t idrPeriod
Holds the IDR interval.
Disable Intra 4x4 vertical left prediction.
uint8_t disableDeblockingFilter
Holds disable the deblocking filter.
NvMediaEncodeH265SEIPayload * seiPayloadArray
Array of SEI payloads which will be inserted for this frame.
Disable Intra 4x4 diagonal down left prediction.
uint8_t maxNumRefFrames
Holds the max reference numbers used for encoding.
uint32_t nextBFrames
Holds the number of B-frames that follow the current frame.
uint32_t payloadSize
SEI payload size in bytes.
Enable support to use client provided QP max for all frame types.
NvMediaBool timingInfoPresentFlag
Holds that num_units_in_tick, time_scale and fixed_frame_rate_flag are present in the bitstream (as d...
NvMediaEncodeParamsRCMode rateControlMode
Holds the rate control mode.
NvMediaBool enableTwoPassRC
Enable 2 pass RC support.
NvMediaEncodeQP maxQP
Holds max QP parameters.
Enable to write access unit delimiter syntax in bitstream.
uint32_t numCTUsPerSlice
Number of CTU per slice.
NvMediaBlockingType
Blocking type.
Enable constrainedFrame encoding where each slice in the constrained picture is independent of other ...
int32_t delta_y_dc_q
Specifies explicit qindex adjustment for y dccoefficient, -15...15.
Enable support to use client provided Initial QP for all frame types.
NvMediaBool overscanAppropriateFlag
Holds the overscan info (as defined in Annex E of the ITU-T Specification).
NvMediaEncodeH264MotionSearchControlFlags
Defines motion search mode control flags for H.264.
uint32_t uvdc_delta_q
VP8 UV dc delta.
NvMediaEncodeParamsRCMode
Rate Control Modes.
Enable support to use 4 byte start code in all the slices in a picture.
uint32_t frameRateNum
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
uint16_t numSliceCountMinus1
Set to 1 less than the number of slices desired per frame.
Enable support to use client provided Initial QP for all frame types.
Automatic level selection.
Enable support to use client provided Initial QP for all frame types.
Disable Intra 8x8 diagonal down right prediction.
uint32_t maxSliceSizeInBytes
Holds the maximum slice size in bytes for dynamic slice mode.
NvMediaEncodeH264SPSPPSRepeatMode repeatSPSPPS
Holds the frequency of the writing of Sequence and Picture parameters.
Disable Intra 4x4 horizontal up prediction.
uint32_t averageBitRate
Holds the average bitrate (in bits/sec) used for encoding.
uint8_t colourPrimaries
Holds color primaries for converting to RGB (as defined in Annex E of the ITU-T Specification).
uint32_t encodeWidth
Holds the encode width.
uint32_t filter_type
Set the feature flag NVMEDIA_ENCODE_CONFIG_VP9_ENABLE_LOOP_FILTER_PARAMS to change the following para...
uint32_t payloadType
SEI payload types and syntax can be found in Annex D of the H265 Specification.
Quality Level 0 Pre-settings.
uint8_t disableDeblockingFilterIDC
Holds the deblocking filter mode.
Disable Inter L0 partition 16x16 prediction.
NvMediaEncodeRCParams rcParams
Holds the rate control parameters for the current encoding session.
NvMediaEncodeQP initQP
Holds Initial QP parameters.
NvMediaEncodeH264AdaptiveTransformMode
Defines H.264 specific Adaptive Transform modes.
This attribute is used to get PPS data for current encoding session.
uint32_t features
Holds bit-wise OR`ed configuration feature flags.
SPS/PPS is repeated for every IDR frame.
Disable Inter L0 partition 8x8 prediction.
uint32_t version
VP8 version type.
NvMediaBool enableSourceHalfScaled
Enable 2 pass RC with quarter resolution first pass.
uint32_t update_mb_segmentation_map
Set the feature flag NVMEDIA_ENCODE_CONFIG_VP8_ENABLE_SEGMENTATION to set the following parameters...
NvMediaBool colourDescriptionPresentFlag
If set to NVMEDIA_TRUE, it specifies that the colourPrimaries, transferCharacteristics and colourMatr...
uint8_t aspectRatioIdc
Holds the aspect ratio IDC (as defined in Annex E of the ITU-T specification).
This attribute is used to get VPS data for current h265 encoding session.
NvMediaEncodeQP initQP
Holds Initial QP parameters.
Enable support for dynamic reference picture set RPS/DPB control support.
Enable support to use client provided QP max for all frame types.
NvMediaBool enableROIEncode
Enable region of interest encoding.
Writes the sequence and picture header in encoded bitstream of the current picture.
NvMediaEncodeH264EntropyCodingMode
Defines H.264 entropy coding modes.
uint32_t filter_level
Specifies the loop filter strength for each segment.
NvMediaBool enableExternalMEHints
Set to NVMEDIA_TRUE to enable external ME hints.
NvMediaEncodePicType pictureType
Holds input picture type.
uint32_t frameRateDen
Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum...
Variable bitrate mode with MinQP.
uint8_t aspectRatioIdc
Holds the acpect ratio IDC (as defined in Annex E of the ITU-T Specification).
Disable Intra 8x8 horizontal down prediction.
NVIDIA Media Interface: Common Types for Video/Image Encode and OFST
NvMediaBool enableLimitedRGB
Holds a flag indicating whether input is limited-RGB (16-235).
NvMediaBool enableReconCRC
Enable support for recon CRC generation.
Enable support for external picture RC hint.
uint32_t update_mb_segmentation_data
VP8 update mb segmentation data.
uint8_t level
Holds the encoding level.
NvMediaEncodeQuality quality
Holds encode quality pre-set.
NvMediaBool bitstreamRestrictionFlag
Holds the bitstream restriction info (as defined in Annex E of the ITU-T Specification).
uint32_t numCandsPerBlk16x16
Holds the number of candidates per 16x16 block.
Holds VP8-specific encode initialization parameters.
NvMediaEncodeQP initQP
Holds Initial QP parameters.
NvMediaEncodeVP8Features
Defines VP8 encoder configuration features.
NvMediaBool aspectRatioInfoPresentFlag
If set to NVMEDIA_TRUE, it specifies that the aspectRatioIdc is present.