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

#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...
 
voidprivData
 [in]: Reserved private data buffer and must be set to NULL More...
 
NV_ENC_CONFIGencodeConfig
 [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...
 
voidreserved2 [64]
 [in]: Reserved and must be set to NULL More...
 

Detailed Description

Definition at line 1310 of file nvEncodeAPI.h.

Field Documentation

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.


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