EOR (was: Re: [NUT-devel] a few things about nut.txt)

Ivo ivop at euronet.nl
Fri Nov 24 18:37:33 CET 2006


On Friday 24 November 2006 17:14, Rich Felker wrote:
> On Fri, Nov 24, 2006 at 01:34:44PM +0100, Michael Niedermayer wrote:
> > > 3.) There is no explanation of what EOR actually means.
> >
> > end of relevance pretty much marks the start of a gap in a stream (no
> > video or no audio or no subtitles until the next keyframe) it is (with
> > the exception of a EOR after the very last frame) AFAIK relatively nut
> > specific (= will probably never be used by anyone)
>
> It's absolutely needed for subitles or seeking performance will be
> utterly abysmal. Consider a movie with 5 subtitles at 5minutes and 5
> subtiles at 70 minutes and none in between (yes I actually have a
> movie like this). We wouldn't have added it if it weren't actually
> needed.
>
> I would personally prefer to forbid EOR for audio and video for the
> time being except as a marker of final frame duration. If we ever see
> a need we could later allow them but it was never my intention to
> create a system for ugly special nut-specific semantics.
>
> [...]
>
> The nut muxer should automatically generate EOR for subtitles and not
> use it anywhere else (except perhaps eof). Just repeating an 'empty'
> subtitle every few seconds is an ugly hack.

How about this:

Index: nut.txt
===================================================================
--- nut.txt     (revision 21193)
+++ nut.txt     (working copy)
@@ -601,11 +601,16 @@
       12  FLAG_CODED       if set, coded_flags are stored in the frame 
header.
       13  FLAG_INVALID     if set, frame_code is invalid.
 
+    A frame with FLAG_EOR set marks the beginning of a gap in a stream.
     EOR frames MUST be zero-length and must be set keyframe.
     All streams SHOULD end with EOR, where the pts of the EOR indicates the
     end presentation time of the final frame.
     An EOR set stream is unset by the first content frames.
     EOR can only be unset in streams with zero decode_delay .
+    A muxer SHOULD use EOR frames for subtitle streams to mark large 
periods
+    where subtitles are absent.
+    EOR frames for non-subtitle streams are only valid at the end of the
+    stream.
     FLAG_CHECKSUM MUST be set if the frame's data_size is strictly greater 
than
     2*max_distance or the difference abs(pts-last_pts) is strictly greater 
than
     max_pts_distance (where pts represents this frame's pts and last_pts is




More information about the NUT-devel mailing list