[FFmpeg-devel] nvenc: missing slice offsets in NV_ENC_LOCK_BITSTREAM::sliceOffsets

Yogender Gupta ygupta at nvidia.com
Mon Sep 4 13:03:18 EEST 2017

Timo, thanks for letting us know, we will investigate this and update.


-----Original Message-----
From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf Of Timo Rothenpieler
Sent: Sunday, September 3, 2017 12:28 AM
To: FFmpeg development discussions and patches
Cc: Ganapathy Raman Kasi; Yogender Gupta; Konda Raju; Srinath K R; Ben Chang
Subject: [FFmpeg-devel] nvenc: missing slice offsets in NV_ENC_LOCK_BITSTREAM::sliceOffsets

* PGP - S/MIME Signed by an unverified key: 09/02/2017 at 11:57:35 AM


I am currently dealing with an issue regarding interlaced encoding with nvenc.
NVENC uses field mode encoding, which means there are two slices(or rather, double the amount than usual, depending on
sliceMode/sliceModeData) per input frame and output packet.

Now I had hoped I could just use the sliceOffsets returned in the NV_ENC_LOCK_BITSTREAM data.
So I turned on reportSliceOffsets in the init encode params.
And numSlices does indeed go from 1 to 2 when doing an interlaced encode. But all the reported sliceOffsets remain 0.
If I increase the sliceModeData to 4, so it creates multiple slices for testing, only the first 4 array fields get populated, and the other 4 remain 0, while the reported slice count in numSlices is 8.

Thus it is impossible to split the returned data into multiple packets, which is necessary to give each packet its own timestamp, as is required for field mode interlaced encoding to work properly.

Is this indeed a driver bug, or is there some other way to get the required offset?

Timo Rothenpieler

*  <timo at rothenpieler.org>
* Issuer: COMODO CA Limited - Unverified

This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.

More information about the ffmpeg-devel mailing list