h264parse: improve conditions for skipping NAL units.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 26 Jun 2014 12:48:08 +0000 (14:48 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 26 Jun 2014 12:48:08 +0000 (14:48 +0200)
commit2905209d9b5e8f157c97ee6135c3cb650a812e20
tree7e5ae9d9e6add2c81830f6d206e4bbd3bef1775d
parent6d6caf17c965295419d7d9e21645760e05a43c1c
h264parse: improve conditions for skipping NAL units.

Carefully track cases when skipping broken or invalid NAL units is
necessary. In particular, always allow NAL units to be processed
and let that gst_h264_parse_process_nal() function decide on whether
the current NAL needs to be dropped or not.

This fixes parsing of streams with SEI NAL buffering_period() message
inserted between SPS and PPS, or SPS-Ext NAL following a traditional
SPS NAL unit, among other cases too.

Practical examples from the H.264 AVC conformance suite include
alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
when parsing in stream-format=byte-stream,alignment=au mode.

https://bugzilla.gnome.org/show_bug.cgi?id=732203
patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch [new file with mode: 0644]
patches/videoparsers/series.frag