Mercurial > mplayer.hg
changeset 20965:a8651041ba2b
seeking
author | michael |
---|---|
date | Fri, 17 Nov 2006 12:44:10 +0000 |
parents | eb8927d75bcd |
children | dc1a02e98cb6 |
files | DOCS/tech/nut.txt |
diffstat | 1 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/tech/nut.txt Fri Nov 17 12:27:39 2006 +0000 +++ b/DOCS/tech/nut.txt Fri Nov 17 12:44:10 2006 +0000 @@ -901,6 +901,29 @@ search at a particular offset when any startcode is found (including syncpoint) +Seeking without an index (non-normative): +----------------------------------------- +A. backward seeking + 1. perform a binary search on the syncpoint timestamps finding the one + which is largest and <= the target timestamp +B. forward seeking + 1a. perform a binary search on the syncpoint timestamps finding the one + which is smallest and >= the target timestamp + 1b. perform a binary search on the syncpoint back pointers finding the + smallest one which has a back ptr >= the position of what was found in 1. +2. follow the back pointer to the correspoding syncpoint + +Seeking with an index (non-normative): +-------------------------------------- +The demuxer only has to find the appropriate keyframe in the index and +start demuxing from the previous syncpoint + +Note, more complicated seeking methods exist which are capable of quickly +seeking to the optimal point in the presence of an index even if only a +subset of all streams are active but a muxer SHOULD place syncpoints, +and keyframes if it can affect the placement of keyframes so that simple +low complexity seeking works with fine granularity + Semantic requirements: ======================