[FFmpeg-devel] [PATCH] Fix mpegtsenc's choking on first H264 start code

Baptiste Coudurier baptiste.coudurier
Fri Sep 10 20:58:31 CEST 2010

On 09/10/2010 08:20 AM, Mike Scheutzow wrote:
> Alexandre Ferrieux wrote:
>> Hi,
>> It turns out that when muxing an H264 bitstream, mpegts_write_packet
>> has a
>> very crude check on AnnexB start codes. Specifically, it wants a 4-byte
>> 00000001, disallowing the 3-byte 000001 which is also valid and occurs on
>> the first NALU. As a consequence, ffmpeg is currently unable to mux H264
>> into TS:
>> [...]
> I don't believe your patch complies with the requirements of the H.264
> spec. Annex B.1.2 *requires* the 4-byte start code for an SPS NAL and
> for the first NAL in a bitstream.
> You could maybe make the muxer more flexible about the input it accepts
> (Baptiste will decide that), but even then the muxer output must contain
> the extra 0x00 to generate a compliant bitstream.

Im not opposed to that at all.

Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org

More information about the ffmpeg-devel mailing list