[Mplayer-cvslog] CVS: main/DOCS/tech mpcf.txt,1.9,1.10

Fabian Franz FabianFranz at gmx.de
Fri Feb 7 22:45:36 CET 2003


Am Freitag, 7. Februar 2003 22:35 schrieb Michael Niedermayer CVS:
> Update of /cvsroot/mplayer/main/DOCS/tech
> In directory mail:/var/tmp.root/cvs-serv20886
>
> Modified Files:
> 	mpcf.txt
> Log Message:
> some more info (copy & pasted from ML)
> replacing zero terminated strings with length + string so it can allso
> contain binary data adding a type to every entry in the info_packet
> changing the fourcc storage type from v to b, that way it can be read with
> a hex editor
>
>
> Index: mpcf.txt
> ===================================================================
> RCS file: /cvsroot/mplayer/main/DOCS/tech/mpcf.txt,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -r1.9 -r1.10
> --- mpcf.txt	7 Feb 2003 13:47:49 -0000	1.9
> +++ mpcf.txt	7 Feb 2003 21:35:39 -0000	1.10
> @@ -42,13 +42,14 @@
>  		data				u(7)
>  		value= 128*value + data
>  	}while(more_data)
> -
> -sz (zero terminated string)
> -	for(i=0; next_byte != 0; i++){
> -		string[i]			u(8)
> +
> +b (binary data or string)
> +	length					v
> +	for(i=0; i<length; i++){
> +		data[i]				u(8)
>  	}
> -	zero_byte				f(8)
>
> +
>  f(x)	n fixed bits
>  u(x)	unsigned number encoded in x bits in MSB first order
>
> @@ -81,7 +82,7 @@
>  	stream_startcode			f(64)
>  	stream_id				v
>  	stream_class				v
> -	fourcc					v
> +	fourcc					b
>  	average_bitrate				v
>  	language_code				v

shouldn't this (language_code) be also b to be human-readable ...

btw. there is a fivecc possible, how its now (e.g. fourcc-len = 5) ...

Is that wanted ?

And if not isn't that a BIG waste of space ?

b-type has doubled the space for this value ... (4 bytes for v + 4 bytes for 
characters)

>  	time_base_nom				v
> @@ -153,24 +154,46 @@
>  	info_startcode				f(64)
>  	start_time				v
>  	end_time				v
> -	entry_count				v
> -	for(i=0; i<entry_count; i++){
> -		name				sz
> -		value				sz
> -        }
> +	for(;;){
> +		type				b
> +		if(type=="") break;
> +		name				b
> +		value				b
> +	}
>  	reserved_bytes
>          checksum				u(32)
> -
> +
>  stuffing_packet: (optional)
>  	packet_header
>  	stuffing_startcode			f(64)
>  	for(i=0; i<forward_ptr - length_of_non_reserved; i++)
>  		stuffing			f(8)
>
> +
>  forward_ptr
>  backward_ptr
>  	pointer to the next / previous packet
> +	pointers are relative and backward pointer is implicitelly negative
>  	Note: a frame with 0 bytes means that its skiped
> +	Note: the forward pointer is equal to the size of this packet including
> +              the header
> +              the backward pointer is equal to the size of the previous
> packet +	Example:
> +                0
> +                size1 (size of frame1 including header)
> +                frame1
> +
> +                size1
> +                size2
> +                frame2
> +
> +                size2
> +                size3
> +                frame3
> +
> +
> +*_startcode
> +	the first bit is allways set
>
>  version
>  	0 for now
> @@ -196,7 +219,7 @@
>
>  fourcc
>  	identification for the codec
> -	example: 'h'<<24 + '2'<<16 + '6'<<8 + '4'
> +	example: "H264"
>
>  language_code
>  	something like 'u'<<24 + 's'<<16 + 'e'<<8 + 'n' (US english), can be 0
> @@ -300,10 +323,15 @@
>  start_time, stop_time
>  	the time range in msecs to which the info applies
>  	Note: can be used to mark chapters
> -
> +
> +type
> +	the fourcc of the type
> +	for example: "STR " -> String or "JPEG" -> jpeg image
> +	0 length means end
> +
>  name
>  	the name of the info entry, valid names are
> -	"Author","Description","Copyright","Encoder","Title"
> +	"Author","Description","Copyright","Encoder","Title","CDCover"
>  	Note: if someone needs some others, please tell us about them, so we can
>  	      add them to the official standard (if they are sane)
>
>
> _______________________________________________
> Mplayer-cvslog mailing list
> Mplayer-cvslog at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog




More information about the MPlayer-cvslog mailing list