summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-05-05 17:26:24 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-05-05 17:26:24 +0000
commite2a66120575541602bac49f9c50ed23a062a088a (patch)
tree0f95cca142374ca75970b39543766dd93016e75c /DOCS
parentc73fb7921e8ffd95bda44d77637e41968a659950 (diff)
downloadmpv-e2a66120575541602bac49f9c50ed23a062a088a.tar.bz2
mpv-e2a66120575541602bac49f9c50ed23a062a088a.tar.xz
extendible frame_code table
maybe more compact too git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12429 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/tech/mpcf.txt27
1 files changed, 15 insertions, 12 deletions
diff --git a/DOCS/tech/mpcf.txt b/DOCS/tech/mpcf.txt
index d36c031406..6e8ddeb622 100644
--- a/DOCS/tech/mpcf.txt
+++ b/DOCS/tech/mpcf.txt
@@ -94,23 +94,26 @@ main header:
short_startcode v
for(i=0; i<256; ){
tmp_flag v
- tmp_stream v
- tmp_mul v
- tmp_size v
- tmp_timestamp s
- tmp_res v
- count v
- for(j=0; j<count; j++, i++){
+ tmp_fields v
+ if(tmp_fields>0) tmp_timestamp s
+ if(tmp_fields>1) tmp_mul v
+ if(tmp_fields>2) tmp_stream v
+ if(tmp_fields>3) tmp_size v
+ else tmp_size=0
+ if(tmp_fields>4) tmp_res v
+ else tmp_res=0
+ if(tmp_fields>5) count v
+ else count= tmp_mul - tmp_size
+ for(j=6; j<tmp_fields; j++){
+ tmp_reserved[i] v
+ }
+ for(j=0; j<count && i<256; j++, i++){
flags[i]= tmp_flag;
stream_id_plus1[i]= tmp_stream;
data_size_mul[i]= tmp_mul;
- data_size_lsb[i]= tmp_size;
+ data_size_lsb[i]= tmp_size + j;
timestamp_delta[i]= tmp_timestamp;
reserved_v[i]= tmp_res;
- if(++tmp_size >= tmp_mul){
- tmp_size=0;
- tmp_stream++;
- }
}
}
reserved_bytes