Hi
I’m currently analyzing the qpDeltaMapArray values in NVENCSTATUS CNvHWEncoder::NvEncEncodeFrame(…) in NvTranscoder.
I set it up as follows.
NVENCSTATUS CNvHWEncoder::NvEncEncodeFrame(EncodeBuffer *pEncodeBuffer, NvEncPictureCommand *encPicCommand,
uint32_t width, uint32_t height, NV_ENC_PIC_STRUCT ePicStruct,
int8_t *qpDeltaMapArray, uint32_t qpDeltaMapArraySize,
NVENC_EXTERNAL_ME_HINT *meExternalHints, NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE meHintCountsPerBlock)
{
…
qpDeltaMapArraySize = ((width) * (height)) / (int)(31.98 * 31.98);
qpDeltaMapArray = new int8_t[qpDeltaMapArraySize];
and
memset((int8_t*)qpDeltaMapArray, -28, qpDeltaMapArraySize/2 );
…
}
However, I would like to set the qp value separately for each tile.
For example, if you cut the entire input size 4, I’d like to change the QP value of each region.
I’d appreciate it if you could help me decide what to do.
Thank you.