[MPlayer-dev-eng] Nut and B frames
D Richard Felker III
dalias at aerifal.cx
Mon Apr 26 13:45:13 CEST 2004
On Mon, Apr 26, 2004 at 07:38:08AM -0400, D Richard Felker III wrote:
> Nut is supposed to have a "perfect interleaving" rule, i.e. if frame B
> comes after frame A, regardless of whether they're part of the same
> stream or different streams, frame B must have a later timestamp than
> frame A (or the same). This is to avoid situations like AVI where
> demuxers have to deal with badly interleaved (or noninterleaved) files
> and thus end up rapidly seeking in order to be able to play the movie.
> But how do B frames (or out-of-order frames in general) fit into this
> picture?
>
> I see two possibilities:
>
> 1. In files with B frames, out-of-order frames may be stored anywhere
> between the previous frame and the next frame in decoding order.
>
> 2. No special treatment for files with B frames. Perfect interleaving
> still applies.
>
> Before you flame and choice #2 sucks, let's hear the arguments for
> both:
By the way, one more argument for #2. If timestamps are never allowed
to go backwards, the lsb timestamp encoding becomes a lot simpler and
can store larger increments in the same number of bits.
Rich
More information about the MPlayer-dev-eng
mailing list