[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