[Mplayer-cvslog] CVS: main/DOCS/tech mpcf.txt,1.9,1.10
Michael Niedermayer CVS
michael at mplayerhq.hu
Fri Feb 7 22:35:56 CET 2003
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)
More information about the MPlayer-cvslog
mailing list