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 1 to enable use of long term reference pictures for inter prediction. 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]: Specifies the number of LTR frames used. 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 1222 of file nvEncodeAPI.h.

Field Documentation

uint32_t NV_ENC_CONFIG_HEVC::level

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

Definition at line 1224 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 1225 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 1226 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 1227 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::useConstrainedIntraPred

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

Definition at line 1228 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 1229 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 1230 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 1231 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 1232 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::enableLTR

[in]: Set 1 to enable use of long term reference pictures for inter prediction.

Definition at line 1233 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 1234 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 1235 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 1236 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 1237 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 1238 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::reserved

[in]: Reserved bitfields.

Definition at line 1239 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 1240 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 1241 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 1243 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 1244 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::ltrNumFrames

[in]: Specifies the number of LTR frames used.

If ltrTrustMode=1, encoder will mark first numLTRFrames base layer reference frames within each IDR interval as LTR. If ltrMarkFrame=1, ltrNumFrames specifies maximum number of ltr frames in DPB. If ltrNumFrames value is more that DPB size(maxNumRefFramesInDPB) encoder will take decision on its own.

Definition at line 1245 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::vpsId

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

Currently reserved and must be set to 0.

Definition at line 1249 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::spsId

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

Currently reserved and must be set to 0.

Definition at line 1250 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::ppsId

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

Currently reserved and must be set to 0.

Definition at line 1251 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 1252 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 1255 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 1260 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 1261 of file nvEncodeAPI.h.

Referenced by nvenc_setup_hevc_config().

uint32_t NV_ENC_CONFIG_HEVC::ltrTrustMode

[in]: Specifies the LTR operating mode.

Set to 0 to disallow encoding using LTR frames until later specified. Set to 1 to allow encoding using LTR frames unless later invalidated.

Definition at line 1262 of file nvEncodeAPI.h.

uint32_t NV_ENC_CONFIG_HEVC::reserved1[217]

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

Definition at line 1265 of file nvEncodeAPI.h.

void* NV_ENC_CONFIG_HEVC::reserved2[64]

[in]: Reserved and must be set to NULL

Definition at line 1266 of file nvEncodeAPI.h.


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