[MPlayer-dev-eng] NUT index proposal

Michael Niedermayer michaelni at gmx.at
Wed Jan 12 13:14:01 CET 2005


there are AFAIK 2 suggested index systems for NUT
1. index which points to keyframes
2. index which points to sync points and syncpoints which contain pointers to 
previous keyframes

1. has a huge problem if the index is damaged and the keyframe distance is 
2. is quite complicated and has higher overhead

i propose a 3rd variant, store multiple partial indexes pointing to keyframes, 
each such index would be a list of (position, time, number of keyframes since 
last entry) for each stream
each such index packet could be fixed size and updated later, though neither 
of these is required, the index packets could very well just contain previous 
loosing a few such packets would not be a problem as only a few randomly 
distributed keyframe pointers would be lost and they would be very likely 
also be stored in another index packet

another significant advantage is that seeking in incomplete/damaged files is 
much faster, as without an index log2 n seeks are needed to find the right 
position, if thats over a network 1-10sec per seek could be the result, but 
with the partial index system a global time-position map is available even in 
damaged files


"In any case, just because code is syntactically "valid" GNU C doesn't 
mean gcc can always compile it." -- justification to close a gcc bug

More information about the MPlayer-dev-eng mailing list