FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
NV_ENC_CONFIG_HEVC Struct Reference

#include <nvEncodeAPI.h>

Data Fields

uint32_t level
 [in]: Specifies the level of the encoded bitstream. More...
 
uint32_t tier
 [in]: Specifies the level tier of the encoded bitstream. More...
 
NV_ENC_HEVC_CUSIZE minCUSize
 [in]: Specifies the minimum size of luma coding unit. More...
 
NV_ENC_HEVC_CUSIZE maxCUSize
 [in]: Specifies the maximum size of luma coding unit. More...
 
uint32_t useConstrainedIntraPred:1
 [in]: Set 1 to enable constrained intra prediction. More...
 
uint32_t disableDeblockAcrossSliceBoundary:1
 [in]: Set 1 to disable in loop filtering across slice boundary. More...
 
uint32_t outputBufferingPeriodSEI:1
 [in]: Set 1 to write SEI buffering period syntax in the bitstream More...
 
uint32_t outputPictureTimingSEI:1
 [in]: Set 1 to write SEI picture timing syntax in the bitstream More...
 
uint32_t outputAUD:1
 [in]: Set 1 to write Access Unit Delimiter syntax. More...
 
uint32_t enableLTR:1
 [in]: Set to 1 to enable LTR (Long Term Reference) frame support. More...
 
uint32_t disableSPSPPS:1
 [in]: Set 1 to disable VPS,SPS and PPS signalling in the bitstream. More...
 
uint32_t repeatSPSPPS:1
 [in]: Set 1 to output VPS,SPS and PPS for every IDR frame. More...
 
uint32_t enableIntraRefresh:1
 [in]: Set 1 to enable gradual decoder refresh or intra refresh. More...
 
uint32_t chromaFormatIDC:2
 [in]: Specifies the chroma format. More...
 
uint32_t pixelBitDepthMinus8:3
 [in]: Specifies pixel bit depth minus 8. More...
 
uint32_t reserved:18
 [in]: Reserved bitfields. More...
 
uint32_t idrPeriod
 [in]: Specifies the IDR interval. More...
 
uint32_t intraRefreshPeriod
 [in]: Specifies the interval between successive intra refresh if enableIntrarefresh is set. More...
 
uint32_t intraRefreshCnt
 [in]: Specifies the length of intra refresh in number of frames for periodic intra refresh. More...
 
uint32_t maxNumRefFramesInDPB
 [in]: Specifies the maximum number of references frames in the DPB. More...
 
uint32_t ltrNumFrames
 [in]: This parameter has different meaning in two LTR modes. More...
 
uint32_t vpsId
 [in]: Specifies the VPS id of the video parameter set More...
 
uint32_t spsId
 [in]: Specifies the SPS id of the sequence header More...
 
uint32_t ppsId
 [in]: Specifies the PPS id of the picture header More...
 
uint32_t sliceMode
 [in]: This parameter in conjunction with sliceModeData specifies the way in which the picture is divided into slices sliceMode = 0 CTU based slices, sliceMode = 1 Byte based slices, sliceMode = 2 CTU row based slices, sliceMode = 3, numSlices in Picture When sliceMode == 0 and sliceModeData == 0 whole picture will be coded with one slice More...
 
uint32_t sliceModeData
 [in]: Specifies the parameter needed for sliceMode. More...
 
uint32_t maxTemporalLayersMinus1
 [in]: Specifies the max temporal layer used for hierarchical coding. More...
 
NV_ENC_CONFIG_HEVC_VUI_PARAMETERS hevcVUIParameters
 [in]: Specifies the HEVC video usability info pamameters More...
 
uint32_t ltrTrustMode
 [in]: Specifies the LTR operating mode. More...
 
uint32_t reserved1 [217]
 [in]: Reserved and must be set to 0. More...
 
voidreserved2 [64]
 [in]: Reserved and must be set to NULL More...
 

Detailed Description

Definition at line 1266 of file nvEncodeAPI.h.

Field Documentation

uint32_t NV_ENC_CONFIG_HEVC::level

[in]: Specifies the level of the encoded bitstream.

Definition at line 1268 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::tier

[in]: Specifies the level tier of the encoded bitstream.

Definition at line 1269 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

NV_ENC_HEVC_CUSIZE NV_ENC_CONFIG_HEVC::minCUSize

[in]: Specifies the minimum size of luma coding unit.

Definition at line 1270 of file nvEncodeAPI.h.

NV_ENC_HEVC_CUSIZE NV_ENC_CONFIG_HEVC::maxCUSize

[in]: Specifies the maximum size of luma coding unit.

Currently NVENC SDK only supports maxCUSize equal to NV_ENC_HEVC_CUSIZE_32x32.

Definition at line 1271 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::useConstrainedIntraPred

[in]: Set 1 to enable constrained intra prediction.

Definition at line 1272 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::disableDeblockAcrossSliceBoundary

[in]: Set 1 to disable in loop filtering across slice boundary.

Definition at line 1273 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::outputBufferingPeriodSEI

[in]: Set 1 to write SEI buffering period syntax in the bitstream

Definition at line 1274 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::outputPictureTimingSEI

[in]: Set 1 to write SEI picture timing syntax in the bitstream

Definition at line 1275 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::outputAUD

[in]: Set 1 to write Access Unit Delimiter syntax.

Definition at line 1276 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::enableLTR

[in]: Set to 1 to enable LTR (Long Term Reference) frame support.

LTR can be used in two modes: "LTR Trust" mode and "LTR Per Picture" mode. LTR Trust mode: In this mode, ltrNumFrames pictures after IDR are automatically marked as LTR. This mode is enabled by setting ltrTrustMode = 1. Use of LTR Trust mode is strongly discouraged as this mode may be deprecated in future releases. LTR Per Picture mode: In this mode, client can control whether the current picture should be marked as LTR. Enable this mode by setting ltrTrustMode = 0 and ltrMarkFrame = 1 for the picture to be marked as LTR. This is the preferred mode for using LTR. Note that LTRs are not supported if encoding session is configured with B-frames

Definition at line 1277 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::disableSPSPPS

[in]: Set 1 to disable VPS,SPS and PPS signalling in the bitstream.

Definition at line 1284 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::repeatSPSPPS

[in]: Set 1 to output VPS,SPS and PPS for every IDR frame.

Definition at line 1285 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::enableIntraRefresh

[in]: Set 1 to enable gradual decoder refresh or intra refresh.

If the GOP structure uses B frames this will be ignored

Definition at line 1286 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::chromaFormatIDC

[in]: Specifies the chroma format.

Should be set to 1 for yuv420 input, 3 for yuv444 input.

Definition at line 1287 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::pixelBitDepthMinus8

[in]: Specifies pixel bit depth minus 8.

Should be set to 0 for 8 bit input, 2 for 10 bit input.

Definition at line 1288 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::reserved

[in]: Reserved bitfields.

Definition at line 1289 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::idrPeriod

[in]: Specifies the IDR interval.

If not set, this is made equal to gopLength in NV_ENC_CONFIG.Low latency application client can set IDR interval to NVENC_INFINITE_GOPLENGTH so that IDR frames are not inserted automatically.

Definition at line 1290 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::intraRefreshPeriod

[in]: Specifies the interval between successive intra refresh if enableIntrarefresh is set.

Requires enableIntraRefresh to be set. Will be disabled if NV_ENC_CONFIG::gopLength is not set to NVENC_INFINITE_GOPLENGTH.

Definition at line 1291 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::intraRefreshCnt

[in]: Specifies the length of intra refresh in number of frames for periodic intra refresh.

This value should be smaller than intraRefreshPeriod

Definition at line 1293 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::maxNumRefFramesInDPB

[in]: Specifies the maximum number of references frames in the DPB.

Definition at line 1294 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::ltrNumFrames

[in]: This parameter has different meaning in two LTR modes.

In "LTR Trust" mode (ltrTrustMode = 1), encoder will mark the first ltrNumFrames base layer reference frames within each IDR interval as LTR. In "LTR Per Picture" mode (ltrTrustMode = 0 and ltrMarkFrame = 1), ltrNumFrames specifies maximum number of LTR frames in DPB.

Definition at line 1295 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::vpsId

[in]: Specifies the VPS id of the video parameter set

Definition at line 1298 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::spsId

[in]: Specifies the SPS id of the sequence header

Definition at line 1299 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::ppsId

[in]: Specifies the PPS id of the picture header

Definition at line 1300 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::sliceMode

[in]: This parameter in conjunction with sliceModeData specifies the way in which the picture is divided into slices sliceMode = 0 CTU based slices, sliceMode = 1 Byte based slices, sliceMode = 2 CTU row based slices, sliceMode = 3, numSlices in Picture When sliceMode == 0 and sliceModeData == 0 whole picture will be coded with one slice

Definition at line 1301 of file nvEncodeAPI.h.

Referenced by nvenc_codec_specific_pic_params(), and nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::sliceModeData

[in]: Specifies the parameter needed for sliceMode.

For: sliceMode = 0, sliceModeData specifies # of CTUs in each slice (except last slice) sliceMode = 1, sliceModeData specifies maximum # of bytes in each slice (except last slice) sliceMode = 2, sliceModeData specifies # of CTU rows in each slice (except last slice) sliceMode = 3, sliceModeData specifies number of slices in the picture. Driver will divide picture into slices optimally

Definition at line 1304 of file nvEncodeAPI.h.

Referenced by nvenc_codec_specific_pic_params(), nvenc_setup_hevc_config(), and process_output_surface().

uint32_t NV_ENC_CONFIG_HEVC::maxTemporalLayersMinus1

[in]: Specifies the max temporal layer used for hierarchical coding.

Definition at line 1309 of file nvEncodeAPI.h.

NV_ENC_CONFIG_HEVC_VUI_PARAMETERS NV_ENC_CONFIG_HEVC::hevcVUIParameters

[in]: Specifies the HEVC video usability info pamameters

Definition at line 1310 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::ltrTrustMode

[in]: Specifies the LTR operating mode.

See comments near NV_ENC_CONFIG_HEVC::enableLTR for description of the two modes. Set to 1 to use "LTR Trust" mode of LTR operation. Clients are discouraged to use "LTR Trust" mode as this mode may be deprecated in future releases. Set to 0 when using "LTR Per Picture" mode of LTR operation.

Definition at line 1311 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::reserved1[217]

[in]: Reserved and must be set to 0.

Definition at line 1315 of file nvEncodeAPI.h.

void* NV_ENC_CONFIG_HEVC::reserved2[64]

[in]: Reserved and must be set to NULL

Definition at line 1316 of file nvEncodeAPI.h.


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