summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-09-07 01:15:01 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-09-07 01:15:01 +0000
commit312149424d3ed4ed08f3d321dce406c96231efed (patch)
treeb6d11111adf2e6c95ff504b395835eed75b89bca /DOCS
parent099887986d6932a891c78e184adcfd07cf5b3cd1 (diff)
downloadmpv-312149424d3ed4ed08f3d321dce406c96231efed.tar.bz2
mpv-312149424d3ed4ed08f3d321dce406c96231efed.tar.xz
moved packet header after startcodes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10832 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/tech/mpcf.txt12
1 files changed, 7 insertions, 5 deletions
diff --git a/DOCS/tech/mpcf.txt b/DOCS/tech/mpcf.txt
index 89e00ea41e..98e37bbc02 100644
--- a/DOCS/tech/mpcf.txt
+++ b/DOCS/tech/mpcf.txt
@@ -18,6 +18,8 @@ Extendible
Compact
~0.2% overhead, for normal bitrates
index is <10kb per hour (1 keyframe every 3sec)
+ a usual header for a file is about 100bytes (audio + video headers together)
+ a packet header is about ~8 bytes
Error resistant
seeking / playback without an index
headers & index can be repeated
@@ -82,8 +84,8 @@ reserved_bytes
a compatible way
main header:
- packet header
main_startcode f(64)
+ packet header
version v
stream_count v
file_size v
@@ -92,8 +94,8 @@ main header:
checksum u(32)
stream_header:
- packet_header
stream_startcode f(64)
+ packet_header
stream_id v
stream_class v
fourcc b
@@ -130,7 +132,6 @@ audio_stream_header:
checksum u(32)
frame
- packet header
if(keyframe){
keyframe_startcode f(64)
}
@@ -140,6 +141,7 @@ frame
msb_timestamp_flag u(1)
subpacket_type u(2)
reserved u(1)
+ packet header
stream_id v
if(msb_timestamp_flag)
msb_timestamp v
@@ -168,8 +170,8 @@ frame
frame_checksum u(32)
Index:
- packet header
index_startcode f(64)
+ packet header
stream_id v
index_length v
for(i=0; i<index_length; i++){
@@ -180,8 +182,8 @@ Index:
checksum u(32)
info_packet: (optional)
- packet header
info_startcode f(64)
+ packet header
for(;;){
id v
if(id==0) break