changeset 13563:9b55ea3879ef

keyframe index
author michael
date Tue, 05 Oct 2004 14:05:17 +0000
parents e1f2be2e2dfe
children 992960f68af0
files DOCS/tech/mncf.txt
diffstat 1 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/tech/mncf.txt	Tue Oct 05 12:44:57 2004 +0000
+++ b/DOCS/tech/mncf.txt	Tue Oct 05 14:05:17 2004 +0000
@@ -90,6 +90,7 @@
 	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 @@
 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 @@
 	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 @@
 	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 @@
 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