[vlc-devel] [vlc-commits] v4l2: update and sort the codec table

Laurent Aimar fenrir at elivagar.org
Tue Apr 3 21:15:41 CEST 2012

On Sat, Mar 24, 2012 at 02:20:29PM +0100, Rémi Denis-Courmont wrote:
> > +    /* FIXME: fill p_extra for avc1... */
> > +//  { V4L2_PIX_FMT_H264_NO_SC, VLC_FOURCC('a','v','c','1'), 0, 0, 0 }
> I cannot test it, but I assume this requires p_extra/i_extra to be set,
> right? Does anyone have a clue how to initialize an H.264 without start
> code elementary stream?

 When you are using AVC1 payload format (the format define for .mp4 files),
both VLC packetizer and libavcodec decoders will only work if extra data
containing the SPS/PPS are present.

Does the V4L2 API allow to retreive the SPS/PPS?

If not, I assume that then the SPS/PPS will be inband (in the stream). In this
case, you could:
 - Convert to annnex B format (ie using start codes), in the v4l2 access.
 - Or, you could force the insertion of the VLC packetizer and modify it to 
 accept streams that don't have the extra data.
But one issue I see is: in AVC1 format, the size used to store the length of
each NAL is store in the extra data. Dunno how you can retreive it.


More information about the vlc-devel mailing list