[NUT-devel] rfc drafting
Michael Niedermayer
michaelni at gmx.at
Sat Nov 17 16:55:00 CET 2007
Hi
On Fri, Nov 16, 2007 at 04:53:49PM +0100, Michael Niedermayer wrote:
[...]
> > keyframe: rewording for clarity and formal english:
> >
> > A keyframe is a frame in a stream at which decoding of that stream
> > can successfully begin independent of prior frames. Keyframe status
> > of frames within one stream is independent of any other streams.
>
> ok
>
>
> >
> > Assign to each frame in a stream an integer position n. The nth
> > frame of a stream is a keyframe if and only if the mth frame, for
> > each m≥n+k, can be decoded successfully without reference to data
> > contained in the lth frame for any l<n, where k is the smallest
> > nonnegative integer such that keyframes other than the initial frame
> > can exist in the stream's coding scheme. This definition coincides
> > with the ordinary notion of a keyframe for common video coding
> > schemes where k=0, and also allows for overlapped-window audio
> > coding schemes where k≥1 accounts for the missing overlap from the
> > previous frame.
>
> what about normal b frames?
> IPBBIBBBBBPPP
>
> here if we start decoding from the 2nd I frame none of the B frames
> can be decoded as they need the pevious frames but they are after the
> I frame position wise
heres a different definition for keyframes, note this is not identical to
what is in nut.txt
A frame in a stream is a keyframe if and only if all of the following are true
* Decoding can successfully begin using any standard compliant decoder without
requireing access to prior frames.
* Begining decoding instead at a subsequent frame would cause fewer frames
to be decoded successfully.
successfull decoding here means that the specific frame is virtually
identical to what one would get if decoding would have begun from the very
first frame
Note, "virtually identical" here is used instead of "identical" to allow
codecs which converge toward the same output when started from different
points but dont neccessarily ever reach exactly identical output.
(copied from nut.txt
Every frame which is marked as a keyframe MUST be a keyframe according to
the definition above, a muxer MUST mark every frame it knows is a keyframe
as such, a muxer SHOULD NOT analyze future frames to determine the
keyframe status of the current frame but instead just set the frame as
non-keyframe.
)
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/nut-devel/attachments/20071117/04ca4aff/attachment.pgp>
More information about the NUT-devel
mailing list