qtdemux: Add support for the avc3 sample entry format of the AVC file format
authorAlex Ashley <bugzilla@ashley-family.net>
Tue, 18 Jun 2013 12:27:20 +0000 (13:27 +0100)
committerSebastian Dröge <slomo@circular-chaos.org>
Wed, 4 Sep 2013 11:33:22 +0000 (13:33 +0200)
commita965185dee339da89f833b10cc2e5ac1108381b2
tree6b2727365254c395f59df3d48c6b6656e1e52c08
parentb68f419b6f94db059a5fc06b2e7db65f16773eae
qtdemux: Add support for the avc3 sample entry format of the AVC file format

Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation
data (e.g. SPS, PPS). In AVC1 this data is placed in the initial
MOOV box (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data
goes in the first sample of every fragment (i.e. the first sample in
each mdat box).  The principal reason for avc3 is to make it easier
for client implementations, because it removes the requirement to
insert the SPS+PPS in to the decoder pipeline every time there is a
representation change.

This commit adds support for the "avc3" atom, which is almost identical
to the "avc1" atom, except it does not contain any SPS or PPS data.

https://bugzilla.gnome.org/show_bug.cgi?id=702004
gst/isomp4/atoms.c
gst/isomp4/fourcc.h
gst/isomp4/ftypcc.h
gst/isomp4/gstrtpxqtdepay.c
gst/isomp4/qtdemux.c
gst/isomp4/qtdemux_fourcc.h
gst/isomp4/qtdemux_types.c