summaryrefslogtreecommitdiffstats
path: root/DOCS/tech
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-10-05 14:05:17 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-10-05 14:05:17 +0000
commiteaa1bc9e8a00d366f7b39038e6cfee722c232cac (patch)
treef755981266406f00d67ac4f87761ec69677e720d /DOCS/tech
parent4812185d2b6dfc30d1ac71e002476d91a7711507 (diff)
downloadmpv-eaa1bc9e8a00d366f7b39038e6cfee722c232cac.tar.bz2
mpv-eaa1bc9e8a00d366f7b39038e6cfee722c232cac.tar.xz
keyframe index
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13564 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/tech')
-rw-r--r--DOCS/tech/mncf.txt20
1 files changed, 16 insertions, 4 deletions
diff --git a/DOCS/tech/mncf.txt b/DOCS/tech/mncf.txt
index 31515a1181..8d3061dbd2 100644
--- a/DOCS/tech/mncf.txt
+++ b/DOCS/tech/mncf.txt
@@ -90,6 +90,7 @@ main header:
version v
stream_count v
max_distance v
+ max_index_distance v
global_time_base_nom v
global_time_base_denom v
for(i=0; i<256; ){
@@ -171,6 +172,7 @@ frame
Index:
index_startcode f(64)
packet header
+ stream_id v
index_length v
for(i=0; i<index_length; i++){
index_timestamp v
@@ -265,6 +267,13 @@ max_distance
reason to set it higher otherwise reasonable error recovery will be
impossible
+max_index_distance
+ max distance of keyframes which are represented in the index, the
+ distance between consecutive entries A and B may only be larger if
+ there are no keyframes within this stream between A and B
+ SHOULD be set to <=32768 or at least <=65536 unless there is a very good
+ reason to set it higher
+
stream_id
Note: streams with a lower relative class MUST have a lower relative id
so a stream with class 0 MUST allways have a id which is lower then any
@@ -428,11 +437,15 @@ checksum
adler32 checksum
index_timestamp
- value of the timetamp in a sync point relative to the last sync-point
+ value of the timetamp of a keyframe relative to the last keyframe
+ stored in this index
index_position
- position in bytes of the first byte of a sync-point, relative to the
- last sync_point
+ position in bytes of the first byte of a keyframe, relative to the
+ last keyframe stored in this index
+ there MUST be no keyframe with the same stream_id as this index between
+ 2 consecutive index entries if they are more then max_index_distance
+ appart
id
the id of the type/name pair, so its more compact
@@ -532,7 +545,6 @@ info packets which describe the whole file or individual streams/tracks must be
placed before any video/audio/... frames
Index
-every sync-point must be exacty once in the index
Note: in case of realtime streaming there is no end, so no index there either
Info packets