NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only

Detailed Description

Holds H264-specific encode initialization parameters.

Definition at line 850 of file nvmedia_common_encode.h.

Collaboration diagram for NvMediaEncodeInitializeParamsH264:

Data Fields

uint16_t encodeWidth
 Holds the encode width. More...
 
uint16_t reserved1
 
uint16_t encodeHeight
 Holds the encode height. More...
 
uint16_t reserved2
 
NvMediaBool enableLimitedRGB
 Set this to NVMEDIA_TRUE for limited-RGB (16-235) input. More...
 
uint32_t frameRateNum
 Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ). More...
 
uint32_t frameRateDen
 Holds the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ). More...
 
uint8_t profile
 Holds the encoding profile. More...
 
uint8_t level
 Holds the encoding level. More...
 
uint8_t maxNumRefFrames
 Holds the maximum number of reference frames used for encoding. More...
 
NvMediaBool enableExternalMEHints
 Set to NVMEDIA_TRUE to enable external ME hints. More...
 
NvMediaEncodeExternalMeHintCountsPerBlocktype maxMEHintCountsPerBlock [2]
 If Client wants to pass external motion vectors in NvMediaEncodePicParamsH264 meExternalHints buffer it must specify the maximum number of hint candidates per block per direction for the encode session. More...
 
NvMediaBool enableReconCRC
 Enable support for recon CRC generation. More...
 
NvMediaBool enableMVC
 If client want to do MVC encoding then this flag need to be set. More...
 
NvMediaBool enableROIEncode
 Enable region of interest encoding. More...
 
NvMediaBool enableSliceEncode
 Use slice encode to reduce latency in getting encoded buffers. More...
 
uint8_t useBFramesAsRef
 Enables B frames to be used as reference frames. More...
 
uint8_t reserved3 [3]
 
NvMediaBool enableTwoPassRC
 Enable 2 pass RC support. More...
 
NvMediaBool enableSourceHalfScaled
 Enable 2 pass RC with quarter resolution first pass. More...
 
uint32_t mvcNumViews: 4
 Number of views used for MVC. More...
 
uint32_t enableExternalPictureRC: 1
 Enable external picture rate control. More...
 
uint32_t enableAllIFrames: 1
 Encode all frames as I frames. More...
 
uint32_t reserved: 26
 Add padding. More...
 

Field Documentation

◆ enableAllIFrames

uint32_t NvMediaEncodeInitializeParamsH264::enableAllIFrames

Encode all frames as I frames.


Value range: 0 to disable, non-zero value to enable

Definition at line 982 of file nvmedia_common_encode.h.

◆ enableExternalMEHints

NvMediaBool NvMediaEncodeInitializeParamsH264::enableExternalMEHints

Set to NVMEDIA_TRUE to enable external ME hints.

Currently this feature is not supported if B frames are used. This setting is not supported in the QNX Safety build.

Deprecated:
This feature will be deprecated in a future release.

Definition at line 917 of file nvmedia_common_encode.h.

◆ enableExternalPictureRC

uint32_t NvMediaEncodeInitializeParamsH264::enableExternalPictureRC

Enable external picture rate control.

Note
This feature is not supported.

Definition at line 979 of file nvmedia_common_encode.h.

◆ enableLimitedRGB

NvMediaBool NvMediaEncodeInitializeParamsH264::enableLimitedRGB

Set this to NVMEDIA_TRUE for limited-RGB (16-235) input.

Note
This feature is not supported.

Definition at line 867 of file nvmedia_common_encode.h.

◆ enableMVC

NvMediaBool NvMediaEncodeInitializeParamsH264::enableMVC

If client want to do MVC encoding then this flag need to be set.

Note
This feature is not supported.

Definition at line 939 of file nvmedia_common_encode.h.

◆ enableReconCRC

NvMediaBool NvMediaEncodeInitializeParamsH264::enableReconCRC

Enable support for recon CRC generation.

NVMEDIA will allocate extra surface for recon CRC calculation. This can be enabled at run time for any frame by enabling recon CRC and passing recon CRC rectangle.

Note
This feature is not supported.

Definition at line 936 of file nvmedia_common_encode.h.

◆ enableROIEncode

NvMediaBool NvMediaEncodeInitializeParamsH264::enableROIEncode

Enable region of interest encoding.

Region of interest encoding parameters are passed with Input extra data parameters.

Note
This feature is not supported.

Definition at line 948 of file nvmedia_common_encode.h.

◆ enableSliceEncode

NvMediaBool NvMediaEncodeInitializeParamsH264::enableSliceEncode

Use slice encode to reduce latency in getting encoded buffers.

This setting is not supported in the QNX Safety build.

Definition at line 951 of file nvmedia_common_encode.h.

◆ enableSourceHalfScaled

NvMediaBool NvMediaEncodeInitializeParamsH264::enableSourceHalfScaled

Enable 2 pass RC with quarter resolution first pass.

Note
This feature is not supported.

Definition at line 973 of file nvmedia_common_encode.h.

◆ enableTwoPassRC

NvMediaBool NvMediaEncodeInitializeParamsH264::enableTwoPassRC

Enable 2 pass RC support.

First pass RC can be run on full or quarter resolution.

Note
enableTwoPassRC is an internal feature.

Definition at line 965 of file nvmedia_common_encode.h.

◆ encodeHeight

uint16_t NvMediaEncodeInitializeParamsH264::encodeHeight

Holds the encode height.


Value range: 64 to 4096 in increments of 2.

Definition at line 863 of file nvmedia_common_encode.h.

◆ encodeWidth

uint16_t NvMediaEncodeInitializeParamsH264::encodeWidth

Holds the encode width.


Value range: 160 to 4096 in increments of 2.

Definition at line 856 of file nvmedia_common_encode.h.

◆ frameRateDen

uint32_t NvMediaEncodeInitializeParamsH264::frameRateDen

Holds the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ).


Value range: Frame rate can lie between 1 and 60 (float value).

Definition at line 875 of file nvmedia_common_encode.h.

◆ frameRateNum

uint32_t NvMediaEncodeInitializeParamsH264::frameRateNum

Holds the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ).


Value range: Frame rate can lie between 1 and 60 (float value).

Definition at line 871 of file nvmedia_common_encode.h.

◆ level

uint8_t NvMediaEncodeInitializeParamsH264::level

Holds the encoding level.

Client is recommended to set this to NVMEDIA_ENCODE_LEVEL_AUTOSELECT in order to enable the Encode interface to select the correct level. If a specific level needs to be configured, this field can be set to one of the enumerations from NvMediaEncodeLevel. If the specified level is lower than that which is required by the H264 standard, the encoder auto-corrects it to the minimum required level.

Definition at line 889 of file nvmedia_common_encode.h.

◆ maxMEHintCountsPerBlock

NvMediaEncodeExternalMeHintCountsPerBlocktype NvMediaEncodeInitializeParamsH264::maxMEHintCountsPerBlock[2]

If Client wants to pass external motion vectors in NvMediaEncodePicParamsH264 meExternalHints buffer it must specify the maximum number of hint candidates per block per direction for the encode session.

The NvMediaEncodeInitializeParamsH264 maxMEHintCountsPerBlock[0] is for L0 predictors and NvMediaEncodeInitializeParamsH264 maxMEHintCountsPerBlock[1] is for L1 predictors. This client must also set NvMediaEncodeInitializeParamsH264 enableExternalMEHints to NVMEDIA_TRUE.

Deprecated:
This feature will be deprecated in a future release.

Definition at line 925 of file nvmedia_common_encode.h.

◆ maxNumRefFrames

uint8_t NvMediaEncodeInitializeParamsH264::maxNumRefFrames

Holds the maximum number of reference frames used for encoding.


Value range: 0
For I-frame only mode (no reference frames), i.e., NvMediaEncodeInitializeParamsH264::enableAllIFrames is set to 1 and NvMediaEncodeRCParams::numBFrames is set to 0.
Value range: 1 to 8
For encoding with I and P frame types (p-frames as reference), i.e., NvMediaEncodeInitializeParamsH264::enableAllIFrames is set to 0 and NvMediaEncodeRCParams::numBFrames is set to 0.
Value range: 2 to 8
For encoding with I, P and B frame types (p and b-frames as reference), i.e., NvMediaEncodeInitializeParamsH264::enableAllIFrames is set to 0, NvMediaEncodeRCParams::numBFrames is set to a non-zero value and NvMediaEncodeInitializeParamsH264::useBFramesAsRef is set to 1.
Value range: 2 to 8
For encoding with I, P and B frame types (only p-frames as reference), i.e., NvMediaEncodeInitializeParamsH264::enableAllIFrames is set to 0, NvMediaEncodeRCParams::numBFrames is set to a non-zero value and NvMediaEncodeInitializeParamsH264::useBFramesAsRef is set to 0.

Definition at line 912 of file nvmedia_common_encode.h.

◆ mvcNumViews

uint32_t NvMediaEncodeInitializeParamsH264::mvcNumViews

Number of views used for MVC.

Note
This feature is not supported.

Definition at line 976 of file nvmedia_common_encode.h.

◆ profile

uint8_t NvMediaEncodeInitializeParamsH264::profile

Holds the encoding profile.

Client is recommended to set this to NVMEDIA_ENCODE_PROFILE_AUTOSELECT in order to enable the Encode interface to select the correct profile. If a specific profile needs to be configured, this field can be set to one of the supported enumerations from NvMediaEncodeProfile.

Definition at line 881 of file nvmedia_common_encode.h.

◆ reserved

uint32_t NvMediaEncodeInitializeParamsH264::reserved

Add padding.

Definition at line 984 of file nvmedia_common_encode.h.

◆ reserved1

uint16_t NvMediaEncodeInitializeParamsH264::reserved1

Definition at line 857 of file nvmedia_common_encode.h.

◆ reserved2

uint16_t NvMediaEncodeInitializeParamsH264::reserved2

Definition at line 864 of file nvmedia_common_encode.h.

◆ reserved3

uint8_t NvMediaEncodeInitializeParamsH264::reserved3[3]

Definition at line 961 of file nvmedia_common_encode.h.

◆ useBFramesAsRef

uint8_t NvMediaEncodeInitializeParamsH264::useBFramesAsRef

Enables B frames to be used as reference frames.


Value range: 0 to 1

Definition at line 960 of file nvmedia_common_encode.h.


The documentation for this struct was generated from the following file: