[FFmpeg-devel] [RFC] comment mpegvideo_split

Baptiste Coudurier baptiste.coudurier
Thu Mar 20 19:51:06 CET 2008


Michael Niedermayer wrote:
> On Thu, Mar 20, 2008 at 10:34:22AM +0100, Baptiste Coudurier wrote:
>> Hi,
>>
>> Michael Niedermayer wrote:
>>> On Wed, Mar 19, 2008 at 04:11:37PM +0100, Baptiste Coudurier wrote:
>>>> Baptiste Coudurier wrote:
>>>>> Michael Niedermayer wrote:
>>>>>> On Tue, Mar 18, 2008 at 01:16:34AM +0100, Baptiste Coudurier wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Currently, mpegvideo split function causes problems with containers
>>>>>>> setting AVFMT_GLOBAL_HEADER, mov and mp4 in particular, because
>>>>>>> MPEG-1/2 in those containers are to be muxed normally.
>>>>>>>
>>>>>>> I don't know any particular usage of the mpegvideo split function, so I
>>>>>>> tend to want to comment it, to finally fix this issue.
>>>>>>>
>>>>>>> Anyone see another better alternative ?
>>>>>> After a few more seconds :)
>>>>>> The muxers could just dump extradata for the case of mpeg1/2 before keyframes,
>>>>>> that should fix it i think. Its of course a little odd to first extract and
>>>>>> then put it back in the muxer.
>>>>>>
>>>>> Would the attached patch be ok ?
>>>>>
>>>> This one is more correct, messy though.
>>>>
>>>> -- 
>>>> Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
>>>> SMARTJOG SAS                                     http://www.smartjog.com
>>>> Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
>>>> Phone: +33 1 49966312
>>>> Index: libavformat/movenc.c
>>>> ===================================================================
>>>> --- libavformat/movenc.c	(revision 12503)
>>>> +++ libavformat/movenc.c	(working copy)
>>>> @@ -386,7 +386,8 @@
>>>>          mov_write_esds_tag(pb, track);
>>>>      else if(track->enc->codec_id == CODEC_ID_AMR_NB)
>>>>          mov_write_amr_tag(pb, track);
>>>> -    else if(track->vosLen > 0)
>>>> +    else if(track->enc->codec_id != CODEC_ID_MPEG2VIDEO &&
>>>> +            track->vosLen > 0)
>>>>          mov_write_glbl_tag(pb, track);
>>>>  
>>>>      return updateSize (pb, pos);
>>> I think this is unneeded ?
>> Well, for known wrapping methods, I prefer avoiding to write unneeded atom,
>> which have the tendency to confuse FCP or Quicktime.
> 
> ok
> 

Applied, and even added a check for seq startcode presence in case user
supply correct frames.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG SAS                                     http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-devel mailing list