Mercurial > mplayer.hg
comparison DOCS/tech/mpcf.txt @ 17455:1bb20b4c4082
Interleave index to ease per-need decoding.
author | ods15 |
---|---|
date | Sun, 22 Jan 2006 05:57:46 +0000 |
parents | f6e39517d5b6 |
children | 1de8f7a7ad32 |
comparison
equal
deleted
inserted
replaced
17454:f70d4718090e | 17455:1bb20b4c4082 |
---|---|
227 syncpoints v | 227 syncpoints v |
228 for(i=0; i<syncpoints; i++){ | 228 for(i=0; i<syncpoints; i++){ |
229 syncpoint_pos_div8 v | 229 syncpoint_pos_div8 v |
230 } | 230 } |
231 for(i=0; i<stream_count; i++){ | 231 for(i=0; i<stream_count; i++){ |
232 for(j=0; j<syncpoint_count; ){ | 232 for(j=0; j<syncpoints; ){ |
233 x v | 233 x v |
234 type= x & 1 | 234 type= x & 1 |
235 x>>=1 | 235 x>>=1 |
236 n=j | |
236 if(type){ | 237 if(type){ |
237 flag= x & 1 | 238 flag= x & 1 |
238 x>>=1 | 239 x>>=1 |
239 while(x--) | 240 while(x--) |
240 has_keyframe[j++][i]=flag | 241 has_keyframe[n++][i]=flag |
241 has_keyframe[j++][i]=!flag; | 242 has_keyframe[n++][i]=!flag; |
242 }else{ | 243 }else{ |
243 while(x != 1){ | 244 while(x != 1){ |
244 has_keyframe[j++][i]=x&1; | 245 has_keyframe[n++][i]=x&1; |
245 x>>=1; | 246 x>>=1; |
246 } | 247 } |
247 } | 248 } |
248 } | 249 for(; j<n && j<syncpoints; j++){ |
249 for(j=0; j<syncpoint_count; j++){ | 250 if (!has_keyframe[j][i]) continue |
250 if (!has_keyframe[j++][i]) continue | 251 A v |
251 A v | 252 last_pts += A |
252 last_pts += A | 253 keyframe_pts[j][i] = last_pts |
253 keyframe_pts[j][i] = last_pts | 254 } |
254 } | 255 } |
255 } | 256 } |
256 reserved_bytes | 257 reserved_bytes |
257 checksum u(32) | 258 checksum u(32) |
258 | 259 |