FFmpeg
|
#include <nvEncodeAPI.h>
Data Fields | |
uint32_t | version |
[in]: Struct version. More... | |
GUID | encodeGUID |
[in]: Specifies the Encode GUID for which the encoder is being created. More... | |
GUID | presetGUID |
[in]: Specifies the preset for encoding. More... | |
uint32_t | encodeWidth |
[in]: Specifies the encode width. More... | |
uint32_t | encodeHeight |
[in]: Specifies the encode height. More... | |
uint32_t | darWidth |
[in]: Specifies the display aspect ratio Width. More... | |
uint32_t | darHeight |
[in]: Specifies the display aspect ratio height. More... | |
uint32_t | frameRateNum |
[in]: Specifies the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ). More... | |
uint32_t | frameRateDen |
[in]: Specifies the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ). More... | |
uint32_t | enableEncodeAsync |
[in]: Set this to 1 to enable asynchronous mode and is expected to use events to get picture completion notification. More... | |
uint32_t | enablePTD |
[in]: Set this to 1 to enable the Picture Type Decision is be taken by the NvEncodeAPI interface. More... | |
uint32_t | reportSliceOffsets:1 |
[in]: Set this to 1 to enable reporting slice offsets in _NV_ENC_LOCK_BITSTREAM. More... | |
uint32_t | enableSubFrameWrite:1 |
[in]: Set this to 1 to write out available bitstream to memory at subframe intervals More... | |
uint32_t | enableExternalMEHints:1 |
[in]: Set to 1 to enable external ME hints for the current frame. More... | |
uint32_t | enableMEOnlyMode:1 |
[in]: Set to 1 to enable ME Only Mode . More... | |
uint32_t | reservedBitFields:28 |
[in]: Reserved bitfields and must be set to 0 More... | |
uint32_t | privDataSize |
[in]: Reserved private data buffer size and must be set to 0 More... | |
void * | privData |
[in]: Reserved private data buffer and must be set to NULL More... | |
NV_ENC_CONFIG * | encodeConfig |
[in]: Specifies the advanced codec specific structure. More... | |
uint32_t | maxEncodeWidth |
[in]: Maximum encode width to be used for current Encode session. More... | |
uint32_t | maxEncodeHeight |
[in]: Maximum encode height to be allowed for current Encode session. More... | |
NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE | maxMEHintCountsPerBlock [2] |
[in]: If Client wants to pass external motion vectors in NV_ENC_PIC_PARAMS::meExternalHints buffer it must specify the maximum number of hint candidates per block per direction for the encode session. More... | |
uint32_t | reserved [289] |
[in]: Reserved and must be set to 0 More... | |
void * | reserved2 [64] |
[in]: Reserved and must be set to NULL More... | |
Definition at line 1310 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::version |
[in]: Struct version.
Must be set to NV_ENC_INITIALIZE_PARAMS_VER.
Definition at line 1312 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
GUID NV_ENC_INITIALIZE_PARAMS::encodeGUID |
[in]: Specifies the Encode GUID for which the encoder is being created.
NvEncInitializeEncoder() API will fail if this is not set, or set to unsupported value.
Definition at line 1313 of file nvEncodeAPI.h.
Referenced by nvenc_check_cap(), nvenc_check_codec_support(), nvenc_setup_device(), and nvenc_setup_encoder().
GUID NV_ENC_INITIALIZE_PARAMS::presetGUID |
[in]: Specifies the preset for encoding.
If the preset GUID is set then , the preset configuration will be applied before any other parameter.
Definition at line 1314 of file nvEncodeAPI.h.
Referenced by nvenc_map_preset(), and nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::encodeWidth |
[in]: Specifies the encode width.
If not set NvEncInitializeEncoder() API will fail.
Definition at line 1315 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::encodeHeight |
[in]: Specifies the encode height.
If not set NvEncInitializeEncoder() API will fail.
Definition at line 1316 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::darWidth |
[in]: Specifies the display aspect ratio Width.
Definition at line 1317 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::darHeight |
[in]: Specifies the display aspect ratio height.
Definition at line 1318 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::frameRateNum |
[in]: Specifies the numerator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ).
Definition at line 1319 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::frameRateDen |
[in]: Specifies the denominator for frame rate used for encoding in frames per second ( Frame rate = frameRateNum / frameRateDen ).
Definition at line 1320 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::enableEncodeAsync |
[in]: Set this to 1 to enable asynchronous mode and is expected to use events to get picture completion notification.
Definition at line 1321 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::enablePTD |
[in]: Set this to 1 to enable the Picture Type Decision is be taken by the NvEncodeAPI interface.
Definition at line 1322 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::reportSliceOffsets |
[in]: Set this to 1 to enable reporting slice offsets in _NV_ENC_LOCK_BITSTREAM.
NV_ENC_INITIALIZE_PARAMS::enableEncodeAsync must be set to 0 to use this feature. Client must set this to 0 if NV_ENC_CONFIG_H264::sliceMode is 1 on Kepler GPUs
Definition at line 1323 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::enableSubFrameWrite |
[in]: Set this to 1 to write out available bitstream to memory at subframe intervals
Definition at line 1324 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::enableExternalMEHints |
[in]: Set to 1 to enable external ME hints for the current frame.
For NV_ENC_INITIALIZE_PARAMS::enablePTD=1 with B frames, programming L1 hints is optional for B frames since Client doesn't know internal GOP structure. NV_ENC_PIC_PARAMS::meHintRefPicDist should preferably be set with enablePTD=1.
Definition at line 1325 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::enableMEOnlyMode |
[in]: Set to 1 to enable ME Only Mode .
Definition at line 1327 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::reservedBitFields |
[in]: Reserved bitfields and must be set to 0
Definition at line 1328 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::privDataSize |
[in]: Reserved private data buffer size and must be set to 0
Definition at line 1329 of file nvEncodeAPI.h.
void* NV_ENC_INITIALIZE_PARAMS::privData |
[in]: Reserved private data buffer and must be set to NULL
Definition at line 1330 of file nvEncodeAPI.h.
NV_ENC_CONFIG* NV_ENC_INITIALIZE_PARAMS::encodeConfig |
[in]: Specifies the advanced codec specific structure.
If client has sent a valid codec config structure, it will override parameters set by the NV_ENC_INITIALIZE_PARAMS::presetGUID parameter. If set to NULL the NvEncodeAPI interface will use the NV_ENC_INITIALIZE_PARAMS::presetGUID to set the codec specific parameters. Client can also optionally query the NvEncodeAPI interface to get codec specific parameters for a presetGUID using NvEncGetEncodePresetConfig() API. It can then modify (if required) some of the codec config parameters and send down a custom config structure as part of _NV_ENC_INITIALIZE_PARAMS. Even in this case client is recommended to pass the same preset guid it has used in NvEncGetEncodePresetConfig() API to query the config structure; as NV_ENC_INITIALIZE_PARAMS::presetGUID. This will not override the custom config structure but will be used to determine other Encoder HW specific parameters not exposed in the API.
Definition at line 1331 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder().
uint32_t NV_ENC_INITIALIZE_PARAMS::maxEncodeWidth |
[in]: Maximum encode width to be used for current Encode session.
Client should allocate output buffers according to this dimension for dynamic resolution change. If set to 0, Encoder will not allow dynamic resolution change.
Definition at line 1334 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::maxEncodeHeight |
[in]: Maximum encode height to be allowed for current Encode session.
Client should allocate output buffers according to this dimension for dynamic resolution change. If set to 0, Encode will not allow dynamic resolution change.
Definition at line 1336 of file nvEncodeAPI.h.
NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlock[2] |
[in]: If Client wants to pass external motion vectors in NV_ENC_PIC_PARAMS::meExternalHints buffer it must specify the maximum number of hint candidates per block per direction for the encode session.
The NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlock[0] is for L0 predictors and NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlock[1] is for L1 predictors. This client must also set NV_ENC_INITIALIZE_PARAMS::enableExternalMEHints to 1.
Definition at line 1338 of file nvEncodeAPI.h.
uint32_t NV_ENC_INITIALIZE_PARAMS::reserved[289] |
[in]: Reserved and must be set to 0
Definition at line 1341 of file nvEncodeAPI.h.
void* NV_ENC_INITIALIZE_PARAMS::reserved2[64] |
[in]: Reserved and must be set to NULL
Definition at line 1342 of file nvEncodeAPI.h.