Skip to content

h264parse: Improved AU boundary detection

Daniel Morin requested to merge dmorin/gstreamer:improve_h264parse_3 into main
  • New test highlighting a failure of h264parse when slice are prefixed and SEI send between two slices of the same AU.
  • AU boundary detection reviewed to follow more closely H.264 spec. and more specifically clauses 7.4.1.2.3 and 7.4.1.2.4.
  • The gist of the changes is a look-a-head in then next AU required identify the last vcl-nal of current AU and firt vcl-nal of next AU (according to 7.4.1.2.4) followed by the identification of the first nal of next AU (according to 7.4.1.2.3).
  • A backlog of all nals of current AU and next AU up to the point where current AU can identified completed is kept.
  • In NAL alignement mode vcl-nal are sent immediatly but the history is kept to allow AU boundary detection. Non-vcl-nal can be delayed up to the reception of the next vcl-nal to allow a correct AUD insertion.
  • Based on this improved AU boudary detection we can avoid erronous AUD insertion, like the one highlighted by test test_parse_sliced_with_prefix_and_sei_nal_au.
Edited by Daniel Morin

Merge request reports