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

#include <nvEncodeAPI.h>

Data Fields

uint32_t version
 [in]: Struct version. More...
 
uint32_t inputWidth
 [in]: Specifies the input buffer width More...
 
uint32_t inputHeight
 [in]: Specifies the input buffer height More...
 
uint32_t inputPitch
 [in]: Specifies the input buffer pitch. More...
 
uint32_t encodePicFlags
 [in]: Specifies bit-wise OR`ed encode pic flags. More...
 
uint32_t frameIdx
 [in]: Specifies the frame index associated with the input frame [optional]. More...
 
uint64_t inputTimeStamp
 [in]: Specifies presentation timestamp associated with the input picture. More...
 
uint64_t inputDuration
 [in]: Specifies duration of the input picture More...
 
NV_ENC_INPUT_PTR inputBuffer
 [in]: Specifies the input buffer pointer. More...
 
NV_ENC_OUTPUT_PTR outputBitstream
 [in]: Specifies the pointer to output buffer. More...
 
voidcompletionEvent
 [in]: Specifies an event to be signalled on completion of encoding of this Frame [only if operating in Asynchronous mode]. More...
 
NV_ENC_BUFFER_FORMAT bufferFmt
 [in]: Specifies the input buffer format. More...
 
NV_ENC_PIC_STRUCT pictureStruct
 [in]: Specifies structure of the input picture. More...
 
NV_ENC_PIC_TYPE pictureType
 [in]: Specifies input picture type. More...
 
NV_ENC_CODEC_PIC_PARAMS codecPicParams
 [in]: Specifies the codec specific per-picture encoding parameters. More...
 
NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE meHintCountsPerBlock [2]
 [in]: Specifies the number of hint candidates per block per direction for the current frame. More...
 
NVENC_EXTERNAL_ME_HINTmeExternalHints
 [in]: Specifies the pointer to ME external hints for the current frame. More...
 
uint32_t reserved1 [6]
 [in]: Reserved and must be set to 0 More...
 
voidreserved2 [2]
 [in]: Reserved and must be set to NULL More...
 
int8_t * qpDeltaMap
 [in]: Specifies the pointer to signed byte array containing QP delta value per MB in raster scan order in the current picture. More...
 
uint32_t qpDeltaMapSize
 [in]: Specifies the size in bytes of qpDeltaMap surface allocated by client and pointed to by NV_ENC_PIC_PARAMS::qpDeltaMap. More...
 
uint32_t reservedBitFields
 [in]: Reserved bitfields and must be set to 0 More...
 
uint16_t meHintRefPicDist [2]
 [in]: Specifies temporal distance for reference picture (NVENC_EXTERNAL_ME_HINT::refidx = 0) used during external ME with NV_ENC_INITALIZE_PARAMS::enablePTD = 1 . More...
 
uint32_t reserved3 [286]
 [in]: Reserved and must be set to 0 More...
 
voidreserved4 [60]
 [in]: Reserved and must be set to NULL More...
 

Detailed Description

Definition at line 1495 of file nvEncodeAPI.h.

Field Documentation

uint32_t NV_ENC_PIC_PARAMS::version

[in]: Struct version.

Must be set to NV_ENC_PIC_PARAMS_VER.

Definition at line 1497 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_close(), and ff_nvenc_encode_frame().

uint32_t NV_ENC_PIC_PARAMS::inputWidth

[in]: Specifies the input buffer width

Definition at line 1498 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

uint32_t NV_ENC_PIC_PARAMS::inputHeight

[in]: Specifies the input buffer height

Definition at line 1499 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

uint32_t NV_ENC_PIC_PARAMS::inputPitch

[in]: Specifies the input buffer pitch.

If pitch value is not known, set this to inputWidth.

Definition at line 1500 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

uint32_t NV_ENC_PIC_PARAMS::encodePicFlags

[in]: Specifies bit-wise OR`ed encode pic flags.

See NV_ENC_PIC_FLAGS enum.

Definition at line 1501 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

uint32_t NV_ENC_PIC_PARAMS::frameIdx

[in]: Specifies the frame index associated with the input frame [optional].

Definition at line 1502 of file nvEncodeAPI.h.

uint64_t NV_ENC_PIC_PARAMS::inputTimeStamp

[in]: Specifies presentation timestamp associated with the input picture.

Definition at line 1503 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

uint64_t NV_ENC_PIC_PARAMS::inputDuration

[in]: Specifies duration of the input picture

Definition at line 1504 of file nvEncodeAPI.h.

NV_ENC_INPUT_PTR NV_ENC_PIC_PARAMS::inputBuffer

[in]: Specifies the input buffer pointer.

Client must use a pointer obtained from NvEncCreateInputBuffer() or NvEncMapInputResource() APIs.

Definition at line 1505 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

NV_ENC_OUTPUT_PTR NV_ENC_PIC_PARAMS::outputBitstream

[in]: Specifies the pointer to output buffer.

Client should use a pointer obtained from NvEncCreateBitstreamBuffer() API.

Definition at line 1506 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

void* NV_ENC_PIC_PARAMS::completionEvent

[in]: Specifies an event to be signalled on completion of encoding of this Frame [only if operating in Asynchronous mode].

Each output buffer should be associated with a distinct event pointer.

Definition at line 1507 of file nvEncodeAPI.h.

NV_ENC_BUFFER_FORMAT NV_ENC_PIC_PARAMS::bufferFmt

[in]: Specifies the input buffer format.

Definition at line 1508 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

NV_ENC_PIC_STRUCT NV_ENC_PIC_PARAMS::pictureStruct

[in]: Specifies structure of the input picture.

Definition at line 1509 of file nvEncodeAPI.h.

Referenced by ff_nvenc_encode_frame().

NV_ENC_PIC_TYPE NV_ENC_PIC_PARAMS::pictureType

[in]: Specifies input picture type.

Client required to be set explicitly by the client if the client has not set NV_ENC_INITALIZE_PARAMS::enablePTD to 1 while calling NvInitializeEncoder.

Definition at line 1510 of file nvEncodeAPI.h.

NV_ENC_CODEC_PIC_PARAMS NV_ENC_PIC_PARAMS::codecPicParams

[in]: Specifies the codec specific per-picture encoding parameters.

Definition at line 1511 of file nvEncodeAPI.h.

Referenced by nvenc_codec_specific_pic_params().

NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE NV_ENC_PIC_PARAMS::meHintCountsPerBlock[2]

[in]: Specifies the number of hint candidates per block per direction for the current frame.

meHintCountsPerBlock[0] is for L0 predictors and meHintCountsPerBlock[1] is for L1 predictors. The candidate count in NV_ENC_PIC_PARAMS::meHintCountsPerBlock[lx] must never exceed NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlock[lx] provided during encoder intialization.

Definition at line 1512 of file nvEncodeAPI.h.

NVENC_EXTERNAL_ME_HINT* NV_ENC_PIC_PARAMS::meExternalHints

[in]: Specifies the pointer to ME external hints for the current frame.

The size of ME hint buffer should be equal to number of macroblocks multiplied by the total number of candidates per macroblock. The total number of candidates per MB per direction = 1*meHintCountsPerBlock[Lx].numCandsPerBlk16x16 + 2*meHintCountsPerBlock[Lx].numCandsPerBlk16x8 + 2*meHintCountsPerBlock[Lx].numCandsPerBlk8x8

  • 4*meHintCountsPerBlock[Lx].numCandsPerBlk8x8. For frames using bidirectional ME , the total number of candidates for single macroblock is sum of total number of candidates per MB for each direction (L0 and L1)

Definition at line 1514 of file nvEncodeAPI.h.

uint32_t NV_ENC_PIC_PARAMS::reserved1[6]

[in]: Reserved and must be set to 0

Definition at line 1517 of file nvEncodeAPI.h.

void* NV_ENC_PIC_PARAMS::reserved2[2]

[in]: Reserved and must be set to NULL

Definition at line 1518 of file nvEncodeAPI.h.

int8_t* NV_ENC_PIC_PARAMS::qpDeltaMap

[in]: Specifies the pointer to signed byte array containing QP delta value per MB in raster scan order in the current picture.

This QP modifier is applied on top of the QP chosen by rate control.

Definition at line 1519 of file nvEncodeAPI.h.

uint32_t NV_ENC_PIC_PARAMS::qpDeltaMapSize

[in]: Specifies the size in bytes of qpDeltaMap surface allocated by client and pointed to by NV_ENC_PIC_PARAMS::qpDeltaMap.

Surface (array) should be picWidthInMbs * picHeightInMbs

Definition at line 1520 of file nvEncodeAPI.h.

uint32_t NV_ENC_PIC_PARAMS::reservedBitFields

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

Definition at line 1521 of file nvEncodeAPI.h.

uint16_t NV_ENC_PIC_PARAMS::meHintRefPicDist[2]

[in]: Specifies temporal distance for reference picture (NVENC_EXTERNAL_ME_HINT::refidx = 0) used during external ME with NV_ENC_INITALIZE_PARAMS::enablePTD = 1 .

meHintRefPicDist[0] is for L0 hints and meHintRefPicDist[1] is for L1 hints. If not set, will internally infer distance of 1. Ignored for NV_ENC_INITALIZE_PARAMS::enablePTD = 0

Definition at line 1522 of file nvEncodeAPI.h.

uint32_t NV_ENC_PIC_PARAMS::reserved3[286]

[in]: Reserved and must be set to 0

Definition at line 1524 of file nvEncodeAPI.h.

void* NV_ENC_PIC_PARAMS::reserved4[60]

[in]: Reserved and must be set to NULL

Definition at line 1525 of file nvEncodeAPI.h.


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