[NUT-devel] r19110 - trunk/DOCS/tech/nut.txt

Rich Felker dalias at aerifal.cx
Sun Jul 16 23:48:10 CEST 2006


On Sat, Jul 15, 2006 at 11:49:47PM +0200, michael wrote:
> Author: michael
> Date: Sat Jul 15 23:49:47 2006
> New Revision: 19110
> 
> Modified:
>    trunk/DOCS/tech/nut.txt
> 
> Log:
> clarify "extradata"
> comments welcome!
> if anyone disagrees ill reverse this and we can disscuss it, i just thought there wont be any disagreement and was too lazy to send a patch ...
> 
> 
> Modified: trunk/DOCS/tech/nut.txt
> ==============================================================================
> --- trunk/DOCS/tech/nut.txt	(original)
> +++ trunk/DOCS/tech/nut.txt	Sat Jul 15 23:49:47 2006
> @@ -512,6 +512,19 @@
>  
>  codec_specific_data
>      private global data for a codec (could be huffman tables or ...)
> +    if a codec has a global header it SHOULD be placed in here instead of
> +    at the start of every keyframe
> +    the exact format is specified in the codec spec
> +    codecs which dont specify it in their spec are specified below
> +    for ogg based codecs (vorbis, theora) the following format shall be used
> +        number_of_headers_minus_1       u(8)
> +        for(i=0; i<number_of_headers; i++){
> +            -1                          u(8*(size[i]/255))
> +            size[i] % 255               u(8)
> +        }
> +        for(i=0; i<number_of_headers; i++)
> +            header[i]
> +    Note, this is the same format these codecs use in matroska

I like this change, but storing them all in the main spec file will
get out of hand if there come to me many more codecs that require
stupid formatting. Maybe we could put stuff like this in a
supplemental file.

I was talking with Haali (of windows fame) on #ffmpeg and he said
Matroska already has a list of extradata formats, packed into a single
binary data block. I have not read it yet but here's the file:
http://haali.cs.msu.ru/mkv/codecs.pdf
We might want to consider making a sort of "alliance" on this to
strengthen the notion that "single binary block in header" is the
standard for codec init data, and that all containers and codecs
should conform to it.

Rich




More information about the NUT-devel mailing list