Mercurial > mplayer.hg
comparison DOCS/tech/nut.txt @ 20631:ec285c2d1055
2nd try for a keyframe definition
based on richs comment
author | michael |
---|---|
date | Fri, 03 Nov 2006 21:13:50 +0000 |
parents | b105cebec25c |
children | 44ea011155d1 |
comparison
equal
deleted
inserted
replaced
20630:5078b81259bc | 20631:ec285c2d1055 |
---|---|
40 | 40 |
41 MUST the specific part must be done to conform to this standard | 41 MUST the specific part must be done to conform to this standard |
42 SHOULD it is recommended to be done that way, but not strictly required | 42 SHOULD it is recommended to be done that way, but not strictly required |
43 | 43 |
44 keyframe | 44 keyframe |
45 a frame which can be decoded correctly on its own (=without using | 45 The nth frame is a keyframe if and only if frames n, n+1, ... in |
46 information from any other frames) | 46 presentation order (that are all frames with a pts >= frame[n].pts) can |
47 if no such frames exist in a codec (for example due to use of overlapped | 47 be decoded successfully without reference to frames prior n in storeage |
48 transforms like the MDCT in an audio codec) then a keyframe shall be any | 48 order (that are all frames with a dts < frame[n].dts) |
49 frame from which onward all frames can be decoded correctly | 49 if no such frames exist (for example due to use of overlapped transforms |
50 like the MDCT in an audio codec) then the definition shall be extended | |
51 by droping n out of the set of frames which must be decodable, if this | |
52 is still insufficient then n+1 shall be droped, and so on until there is | |
53 a keyframe | |
50 (FIXME maybe move somewhere else?) | 54 (FIXME maybe move somewhere else?) |
51 | 55 |
52 | 56 |
53 Syntax: | 57 Syntax: |
54 ======= | 58 ======= |