diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-05-05 17:26:24 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-05-05 17:26:24 +0000 |
commit | e2a66120575541602bac49f9c50ed23a062a088a (patch) | |
tree | 0f95cca142374ca75970b39543766dd93016e75c /DOCS | |
parent | c73fb7921e8ffd95bda44d77637e41968a659950 (diff) | |
download | mpv-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.txt | 27 |
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 |