H264 Pic_Timing SEI message

Hi,

When using NvEncode to generate H264 files, I am having an issue with the generated Pic_Timing SEI messsages. Specifically the dpb_output_delay field.

The Pic_Timing SEI message for all non-I-Frames and the very first I-Frame has a dpb_output_delay value of 2.

The Pic_Timing SEI message for all I-Frames (besides the very first one) have a dpb_output_delay value of 16.

I believe these values are incorrect and should be 2 instead.

This is causing incorrect timestamps to be generated for these I-Frames when being muxed into a transport stream.

This behavior can be easily reproduced with the Video Codec SDK sample application AppEncD3D11.
I used the following command line options:
Command Line: -i “LocalPathToBRGAFile” -o “LocalPathToOutputH264File” -s 1280x720 -gpu 0 -rc cbr_hq -fps 50 -gop 25 -bf 0 -bitrate 1000000 -maxbitrate 1000000 -vbvbufsize 500000 -vbvinit 450000 -preset default -profile main

I also had to make 2 small code changes in the file AppEncD3D11.cpp.

  1. I enabled the writing of the picture timing SEI message by setting the NV_ENC_CONFIG_H264.outputPictureTimingSEI parameter to 1.
  2. I increased the number of frames being encoded so that multiple I-frames would be written. The default behavior is to encode a single frame. I updated the code to loop and encode 100 frames.

I am using Windows 10 Pro with a Quadro K1200.
The NVIDIA driver release is R418 U2 (419.17) WHQL.
The driver version reported by device manager is 25.21.14.1917.
And I am using Video SDK 9.0.20.

Is there a way to configure the dpb_output_delay field within the PIC_TIMING SEI message?

Or is this a bug?

Is there a solution? I had the same problem

Hello ad welcome to the NVIDIA developer forums @1356998294.

Do you mean you see the same issue three years later? Or could it be something different?

Decoded picture buffer can be high? 16? No problem? Also, this is just same sample code.

Anyway, this suggests H264info Version History - VideoHelp that dpb valie can be complex in case of interlaced.