FFmpeg
|
#include <nvEncodeAPI.h>
Data Fields | |
uint32_t | enableTemporalSVC:1 |
[in]: Set to 1 to enable SVC temporal More... | |
uint32_t | enableStereoMVC:1 |
[in]: Set to 1 to enable stereo MVC More... | |
uint32_t | hierarchicalPFrames:1 |
[in]: Set to 1 to enable hierarchical PFrames More... | |
uint32_t | hierarchicalBFrames:1 |
[in]: Set to 1 to enable hierarchical BFrames More... | |
uint32_t | outputBufferingPeriodSEI:1 |
[in]: Set to 1 to write SEI buffering period syntax in the bitstream More... | |
uint32_t | outputPictureTimingSEI:1 |
[in]: Set to 1 to write SEI picture timing syntax in the bitstream. More... | |
uint32_t | outputAUD:1 |
[in]: Set to 1 to write access unit delimiter syntax in bitstream More... | |
uint32_t | disableSPSPPS:1 |
[in]: Set to 1 to disable writing of Sequence and Picture parameter info in bitstream More... | |
uint32_t | outputFramePackingSEI:1 |
[in]: Set to 1 to enable writing of frame packing arrangement SEI messages to bitstream More... | |
uint32_t | outputRecoveryPointSEI:1 |
[in]: Set to 1 to enable writing of recovery point SEI message More... | |
uint32_t | enableIntraRefresh:1 |
[in]: Set to 1 to enable gradual decoder refresh or intra refresh. More... | |
uint32_t | enableConstrainedEncoding:1 |
[in]: Set this to 1 to enable constrainedFrame encoding where each slice in the constarined picture is independent of other slices Check support for constrained encoding using NV_ENC_CAPS_SUPPORT_CONSTRAINED_ENCODING caps. More... | |
uint32_t | repeatSPSPPS:1 |
[in]: Set to 1 to enable writing of Sequence and Picture parameter for every IDR frame More... | |
uint32_t | enableVFR:1 |
[in]: Set to 1 to enable variable frame rate. More... | |
uint32_t | enableLTR:1 |
[in]: Set to 1 to enable LTR (Long Term Reference) frame support. More... | |
uint32_t | qpPrimeYZeroTransformBypassFlag:1 |
[in]: To enable lossless encode set this to 1, set QP to 0 and RC_mode to NV_ENC_PARAMS_RC_CONSTQP and profile to HIGH_444_PREDICTIVE_PROFILE. More... | |
uint32_t | useConstrainedIntraPred:1 |
[in]: Set 1 to enable constrained intra prediction. More... | |
uint32_t | reservedBitFields:15 |
[in]: Reserved bitfields and must be set to 0 More... | |
uint32_t | level |
[in]: Specifies the encoding level. More... | |
uint32_t | idrPeriod |
[in]: Specifies the IDR interval. More... | |
uint32_t | separateColourPlaneFlag |
[in]: Set to 1 to enable 4:4:4 separate colour planes More... | |
uint32_t | disableDeblockingFilterIDC |
[in]: Specifies the deblocking filter mode. More... | |
uint32_t | numTemporalLayers |
[in]: Specifies max temporal layers to be used for hierarchical coding. 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... | |
NV_ENC_H264_ADAPTIVE_TRANSFORM_MODE | adaptiveTransformMode |
[in]: Specifies the AdaptiveTransform Mode. More... | |
NV_ENC_H264_FMO_MODE | fmoMode |
[in]: Specified the FMO Mode. More... | |
NV_ENC_H264_BDIRECT_MODE | bdirectMode |
[in]: Specifies the BDirect mode. More... | |
NV_ENC_H264_ENTROPY_CODING_MODE | entropyCodingMode |
[in]: Specifies the entropy coding mode. More... | |
NV_ENC_STEREO_PACKING_MODE | stereoMode |
[in]: Specifies the stereo frame packing mode which is to be signalled in frame packing arrangement SEI 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 | maxNumRefFrames |
[in]: Specifies the DPB size used for encoding. More... | |
uint32_t | sliceMode |
[in]: This parameter in conjunction with sliceModeData specifies the way in which the picture is divided into slices sliceMode = 0 MB based slices, sliceMode = 1 Byte based slices, sliceMode = 2 MB row based slices, sliceMode = 3, numSlices in Picture When forceIntraRefreshWithFrameCnt is set it will have priority over sliceMode setting 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... | |
NV_ENC_CONFIG_H264_VUI_PARAMETERS | h264VUIParameters |
[in]: Specifies the H264 video usability info pamameters More... | |
uint32_t | ltrNumFrames |
[in]: Specifies the number of LTR frames. More... | |
uint32_t | ltrTrustMode |
[in]: Specifies the LTR operating mode. More... | |
uint32_t | chromaFormatIDC |
[in]: Specifies the chroma format. More... | |
uint32_t | maxTemporalLayers |
[in]: Specifies the max temporal layer used for hierarchical coding. More... | |
uint32_t | reserved1 [270] |
[in]: Reserved and must be set to 0 More... | |
void * | reserved2 [64] |
[in]: Reserved and must be set to NULL More... | |
Definition at line 1189 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::enableTemporalSVC |
[in]: Set to 1 to enable SVC temporal
Definition at line 1191 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::enableStereoMVC |
[in]: Set to 1 to enable stereo MVC
Definition at line 1192 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::hierarchicalPFrames |
[in]: Set to 1 to enable hierarchical PFrames
Definition at line 1193 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::hierarchicalBFrames |
[in]: Set to 1 to enable hierarchical BFrames
Definition at line 1194 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::outputBufferingPeriodSEI |
[in]: Set to 1 to write SEI buffering period syntax in the bitstream
Definition at line 1195 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::outputPictureTimingSEI |
[in]: Set to 1 to write SEI picture timing syntax in the bitstream.
When set for following rateControlMode : NV_ENC_PARAMS_RC_CBR, NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ, NV_ENC_PARAMS_RC_CBR_HQ, filler data is inserted if needed to achieve hrd bitrate
Definition at line 1196 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::outputAUD |
[in]: Set to 1 to write access unit delimiter syntax in bitstream
Definition at line 1198 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::disableSPSPPS |
[in]: Set to 1 to disable writing of Sequence and Picture parameter info in bitstream
Definition at line 1199 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::outputFramePackingSEI |
[in]: Set to 1 to enable writing of frame packing arrangement SEI messages to bitstream
Definition at line 1200 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::outputRecoveryPointSEI |
[in]: Set to 1 to enable writing of recovery point SEI message
Definition at line 1201 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::enableIntraRefresh |
[in]: Set to 1 to enable gradual decoder refresh or intra refresh.
If the GOP structure uses B frames this will be ignored
Definition at line 1202 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::enableConstrainedEncoding |
[in]: Set this to 1 to enable constrainedFrame encoding where each slice in the constarined picture is independent of other slices Check support for constrained encoding using NV_ENC_CAPS_SUPPORT_CONSTRAINED_ENCODING caps.
Definition at line 1203 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::repeatSPSPPS |
[in]: Set to 1 to enable writing of Sequence and Picture parameter for every IDR frame
Definition at line 1205 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::enableVFR |
[in]: Set to 1 to enable variable frame rate.
Definition at line 1206 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::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. 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 1207 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::qpPrimeYZeroTransformBypassFlag |
[in]: To enable lossless encode set this to 1, set QP to 0 and RC_mode to NV_ENC_PARAMS_RC_CONSTQP and profile to HIGH_444_PREDICTIVE_PROFILE.
Check support for lossless encoding using NV_ENC_CAPS_SUPPORT_LOSSLESS_ENCODE caps.
Definition at line 1214 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::useConstrainedIntraPred |
[in]: Set 1 to enable constrained intra prediction.
Definition at line 1216 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::reservedBitFields |
[in]: Reserved bitfields and must be set to 0
Definition at line 1217 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::level |
[in]: Specifies the encoding level.
Client is recommended to set this to NV_ENC_LEVEL_AUTOSELECT in order to enable the NvEncodeAPI interface to select the correct level.
Definition at line 1218 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::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 1219 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::separateColourPlaneFlag |
[in]: Set to 1 to enable 4:4:4 separate colour planes
Definition at line 1220 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::disableDeblockingFilterIDC |
[in]: Specifies the deblocking filter mode.
Permissible value range: [0,2]
Definition at line 1221 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::numTemporalLayers |
[in]: Specifies max temporal layers to be used for hierarchical coding.
Valid value range is [1,NV_ENC_CAPS_NUM_MAX_TEMPORAL_LAYERS]
Definition at line 1222 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::spsId |
[in]: Specifies the SPS id of the sequence header
Definition at line 1223 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::ppsId |
[in]: Specifies the PPS id of the picture header
Definition at line 1224 of file nvEncodeAPI.h.
NV_ENC_H264_ADAPTIVE_TRANSFORM_MODE NV_ENC_CONFIG_H264::adaptiveTransformMode |
[in]: Specifies the AdaptiveTransform Mode.
Check support for AdaptiveTransform mode using NV_ENC_CAPS_SUPPORT_ADAPTIVE_TRANSFORM caps.
Definition at line 1225 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
NV_ENC_H264_FMO_MODE NV_ENC_CONFIG_H264::fmoMode |
[in]: Specified the FMO Mode.
Check support for FMO using NV_ENC_CAPS_SUPPORT_FMO caps.
Definition at line 1226 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
NV_ENC_H264_BDIRECT_MODE NV_ENC_CONFIG_H264::bdirectMode |
[in]: Specifies the BDirect mode.
Check support for BDirect mode using NV_ENC_CAPS_SUPPORT_BDIRECT_MODE caps.
Definition at line 1227 of file nvEncodeAPI.h.
NV_ENC_H264_ENTROPY_CODING_MODE NV_ENC_CONFIG_H264::entropyCodingMode |
[in]: Specifies the entropy coding mode.
Check support for CABAC mode using NV_ENC_CAPS_SUPPORT_CABAC caps.
Definition at line 1228 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
NV_ENC_STEREO_PACKING_MODE NV_ENC_CONFIG_H264::stereoMode |
[in]: Specifies the stereo frame packing mode which is to be signalled in frame packing arrangement SEI
Definition at line 1229 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::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 1230 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::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 1232 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::maxNumRefFrames |
[in]: Specifies the DPB size used for encoding.
Setting it to 0 will let driver use the default dpb size. The low latency application which wants to invalidate reference frame as an error resilience tool is recommended to use a large DPB size so that the encoder can keep old reference frames which can be used if recent frames are invalidated.
Definition at line 1233 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::sliceMode |
[in]: This parameter in conjunction with sliceModeData specifies the way in which the picture is divided into slices sliceMode = 0 MB based slices, sliceMode = 1 Byte based slices, sliceMode = 2 MB row based slices, sliceMode = 3, numSlices in Picture When forceIntraRefreshWithFrameCnt is set it will have priority over sliceMode setting When sliceMode == 0 and sliceModeData == 0 whole picture will be coded with one slice
Definition at line 1237 of file nvEncodeAPI.h.
Referenced by nvenc_codec_specific_pic_params(), and nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::sliceModeData |
[in]: Specifies the parameter needed for sliceMode.
For: sliceMode = 0, sliceModeData specifies # of MBs in each slice (except last slice) sliceMode = 1, sliceModeData specifies maximum # of bytes in each slice (except last slice) sliceMode = 2, sliceModeData specifies # of MB 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 1241 of file nvEncodeAPI.h.
Referenced by nvenc_codec_specific_pic_params(), nvenc_setup_h264_config(), and process_output_surface().
NV_ENC_CONFIG_H264_VUI_PARAMETERS NV_ENC_CONFIG_H264::h264VUIParameters |
[in]: Specifies the H264 video usability info pamameters
Definition at line 1246 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::ltrNumFrames |
[in]: Specifies the number of LTR frames.
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 1247 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::ltrTrustMode |
[in]: Specifies the LTR operating mode.
See comments near NV_ENC_CONFIG_H264::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 1250 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::chromaFormatIDC |
[in]: Specifies the chroma format.
Should be set to 1 for yuv420 input, 3 for yuv444 input. Check support for YUV444 encoding using NV_ENC_CAPS_SUPPORT_YUV444_ENCODE caps.
Definition at line 1254 of file nvEncodeAPI.h.
Referenced by nvenc_setup_h264_config().
uint32_t NV_ENC_CONFIG_H264::maxTemporalLayers |
[in]: Specifies the max temporal layer used for hierarchical coding.
Definition at line 1256 of file nvEncodeAPI.h.
uint32_t NV_ENC_CONFIG_H264::reserved1[270] |
[in]: Reserved and must be set to 0
Definition at line 1257 of file nvEncodeAPI.h.
void* NV_ENC_CONFIG_H264::reserved2[64] |
[in]: Reserved and must be set to NULL
Definition at line 1258 of file nvEncodeAPI.h.