[Ffmpeg-devel] Re: [PATCH] x264 avc encoding, movenc avcC, ctts

Luca Abeni lucabe72
Mon Feb 20 11:22:33 CET 2006

Hi Baptiste,

On Mon, 2006-02-20 at 10:32 +0100, Baptiste COUDURIER wrote:
> AVC is special variant of H264 found in mp4/mov containers. In that
> special variant, nals are encoded a different way.
Well, there seems to be a disagreement between you and M?ns...

> > This breaks applications using extradata. Why do you need to change the
> > extradata format? I am not really an expert, but I think extradata
> > should be the "global headers", and according to some drafts I read the
> > current content of extradata correctly matches H.264 global headers.
> I agree, I can set something like if (x4->is_avc). But anyway, extradata
> in mp4/mov needs to be formatted the way I patched it.
I think the standard (MPEG4 part 10) defines a precise syntax for raw
H.264 streams, and I think this is what the encoder should produce.
Where is the avc syntax defined? I only have a draft of the standard,
but the word "avc" appears in it only one time, in the title:
"Draft ITU-T Recommendation and Final Draft International Standard
of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC)".
If the format needs to rearrange things in a different way, I think it
is the mov muxer's job to do so...

> > Moreover, I think you are opencoding the for() loop on the NALs... Why?
> > Also, it seems that you are not putting the first NAL in the extradata?
> Sorry, I do not understand "opencoding", can you please explain me ?
instead of doing something like
 x264_encoder_headers(x4->enc, &nal, &nnal);
 for(i = 0; i < nnal; i++){
        int s = x264_nal_encode(p, &size, 1, nals + i);

you are "opening the loop" explicitly encoding only the second and the
third NAL, right? In this way, some information is lost. The MOV muxer
does not need the first NAL, but I have at least one program needing it.
In my opinion, if the muxer does not need some data it can discard it,
but the codec still has to pass such data to the user.

Copy this in your signature, if you think it is important:
                               N O    W A R ! ! !

 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 Novit? per telefonare risparmiando: Email.it Phone Card, clicca e scopri i vantaggi
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2689&d=20-2

More information about the ffmpeg-devel mailing list