OpenVisualCloud / SVT-HEVC

SVT HEVC encoder. Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors. Using the open source SVT-HEVC encoder, it is possible to spread video encoding processing across multiple Intel® Xeon® processors to achieve a real advantage of processing efficiency.
Other
519 stars 169 forks source link

Refined the DEADLOCK_DEBUG outputs in each encoding stage. #492

Closed Austin-Hu closed 4 years ago

Austin-Hu commented 4 years ago

To track each picture whether it's posted from every encoding kernel or not, after being fed into kernels.

As the message is to track picture level, this change can output picture flow once in each encoding kernel, with redundant outputs eliminated.

The recommended steps to debug encoding dead lock (hang) issue:

  1. Track the POCs in the entrance and exit of the encoding pipeline, by forcibly printing the 1st DEADLOCK_DEBUG log in RC, and the last DEADLOCK_DEBUG log in PK;
  2. Reorder the POC numbers of RC and PK separately, to check the 1st POC which couldn't be outputted from PK;
  3. Open the DEADLOCK_DEBUG switch, and change the MIN_POC & MAX_POC values clamping the range where that POC locates;
  4. Check the specific stage where that POC can't go through.

Signed-off-by: Austin Hu austin.hu@intel.com

intelmark commented 4 years ago

Do you have a bit more background on why the MIN/MAX check is needed. If it's to help pinpoint issues in debugging, then maybe add a comment saying that this is the purpose of these defines.

Just fyi. A typical value for UINT_MAX is 4294967295 which for a 60fps video corresponds to a duration of close to 20k hours.

Austin-Hu commented 4 years ago

Do you have a bit more background on why the MIN/MAX check is needed. If it's to help pinpoint issues in debugging, then maybe add a comment saying that this is the purpose of these defines.

Just fyi. A typical value for UINT_MAX is 4294967295 which for a 60fps video corresponds to a duration of close to 20k hours.

Added the instructions into the code, thanks! Yes, for example, an unlimitted video conference...