summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-01-22 05:57:46 +0000
committerods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-01-22 05:57:46 +0000
commit6d5a941a6e6150810d767c8801c15f313f091bea (patch)
tree1e63ec82f4b22ba30f924c131894bfd6cf8877af
parentfd00b2607e717d22d4b526b9f9406eb8630c9f83 (diff)
downloadmpv-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.txt21
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