FFmpeg
|
#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... | |
void * | reserved2 [64] |
[in]: Reserved and must be set to NULL More... | |
Definition at line 1266 of file nvEncodeAPI.h.
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.