[FFmpeg-devel] h264_annexbtomp4 filter ideas, was: Collection of patches

Thorsten Jordan tjordan
Fri Apr 25 08:48:38 CEST 2008

Loren Merritt schrieb:
> On Thu, 24 Apr 2008, Thorsten Jordan wrote:
>> Baptiste Coudurier schrieb:
>>> Thorsten Jordan wrote:
>>>> Thorsten Jordan schrieb:
>>>>> Which brings up the question if there should be never SEI units in
>>>>> global headers. I found nothing near the SPS/PPS description that
>>>>> mentions SEI, so they are not used as header extension?
>>> IIRC libx264 wrapper puts SEI in extradata.
>> yes it does, but the SEI it puts is not needed for decoding as it seems
> JM doesn't use it. libavcodec does.
> There are SEI messages that apply to the whole stream. It is appropriate 
> to put those in extradata. One such SEI is the encoder version, which is 
> useful for detecting bugs in old encoders.

At the moment split stops at the first NALU that is neither SPS, PPS nor
AUD. This means if there are three NALUs "SPS - SEI - PPS" it would rip
off only the SPS, but not PPS -> broken files. With my patch it would
rip off all three (and possibly any SEI directly following the PPS),
which would be correct if the SEI between SPS/PPS need to be kept as
global header.

To fix all this, one needs to know:
* which SEI messages apply to the whole stream and only keep them (there
are 22 types of SEI messages according to spec - do you know which one
are global?)
* should they get stored after SPS/PPS in extra data or keep their
possibly mixed order
* How the split API could be modified to do all this (see my other mail
in reply to Michael)

Regards, Thorsten

More information about the ffmpeg-devel mailing list