diff options
author | ods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-01-22 05:57:46 +0000 |
---|---|---|
committer | ods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-01-22 05:57:46 +0000 |
commit | 6d5a941a6e6150810d767c8801c15f313f091bea (patch) | |
tree | 1e63ec82f4b22ba30f924c131894bfd6cf8877af | |
parent | fd00b2607e717d22d4b526b9f9406eb8630c9f83 (diff) | |
download | mpv-6d5a941a6e6150810d767c8801c15f313f091bea.tar.bz2 mpv-6d5a941a6e6150810d767c8801c15f313f091bea.tar.xz |
Interleave index to ease per-need decoding.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17456 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | DOCS/tech/mpcf.txt | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/DOCS/tech/mpcf.txt b/DOCS/tech/mpcf.txt index 9986b5b6af..7455db3680 100644 --- a/DOCS/tech/mpcf.txt +++ b/DOCS/tech/mpcf.txt @@ -229,28 +229,29 @@ index: syncpoint_pos_div8 v } for(i=0; i<stream_count; i++){ - for(j=0; j<syncpoint_count; ){ + for(j=0; j<syncpoints; ){ x v type= x & 1 x>>=1 + n=j if(type){ flag= x & 1 x>>=1 while(x--) - has_keyframe[j++][i]=flag - has_keyframe[j++][i]=!flag; + has_keyframe[n++][i]=flag + has_keyframe[n++][i]=!flag; }else{ while(x != 1){ - has_keyframe[j++][i]=x&1; + has_keyframe[n++][i]=x&1; x>>=1; } } - } - for(j=0; j<syncpoint_count; j++){ - if (!has_keyframe[j++][i]) continue - A v - last_pts += A - keyframe_pts[j][i] = last_pts + for(; j<n && j<syncpoints; j++){ + if (!has_keyframe[j][i]) continue + A v + last_pts += A + keyframe_pts[j][i] = last_pts + } } } reserved_bytes |