CVS: main/DOCS/tech mpcf.txt,1.9,1.10
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 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)
participants (3)
-
Fabian Franz -
Michael Niedermayer -
Michael Niedermayer CVS