summaryrefslogtreecommitdiffstats
path: root/DOCS/tech/mpcf.txt
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-09-09 09:25:07 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-09-09 09:25:07 +0000
commite548b29dd066375482671d1557b0d17123e879a3 (patch)
tree3d2404e8e63e62490e8fbaa375b6b09acbd90b79 /DOCS/tech/mpcf.txt
parente3ad55448c09928b4636f55f9bbea65add4f6121 (diff)
downloadmpv-e548b29dd066375482671d1557b0d17123e879a3.tar.bz2
mpv-e548b29dd066375482671d1557b0d17123e879a3.tar.xz
spelling/grammar/wording
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16429 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/tech/mpcf.txt')
-rw-r--r--DOCS/tech/mpcf.txt61
1 files changed, 30 insertions, 31 deletions
diff --git a/DOCS/tech/mpcf.txt b/DOCS/tech/mpcf.txt
index 8f27126d5e..f093cb612b 100644
--- a/DOCS/tech/mpcf.txt
+++ b/DOCS/tech/mpcf.txt
@@ -6,38 +6,37 @@
Intro:
Features / goals:
- (supported by the format, not necessary by a specific implementation)
+ (supported by the format, not necessarily by a specific implementation)
Simple
use the same encoding for nearly all fields
- simple decoding, so slow cpus (and embedded systems) can handle it
+ simple decoding, so slow CPUs (and embedded systems) can handle it
Extendible
- no limit for the possible values for all fields (using universal vlc)
+ no limit for the possible values of all fields (using universal vlc)
allow adding of new headers in the future
allow adding more fields at the end of headers
Compact
~0.2% overhead, for normal bitrates
index is <10kb per hour (1 keyframe every 3sec)
- a usual header for a file is about 100bytes (audio + video headers together)
+ a usual header for a file is about 100 bytes (audio + video headers together)
a packet header is about ~1-8 bytes
Error resistant
seeking / playback without an index
headers & index can be repeated
- damaged files can be played back with minimal data lost and fast
- resyncing times
-
+ damaged files can be played back with minimal data loss and fast
+ resync times
Definitions:
MUST the specific part must be done to conform to this standard
-SHOULD it's recommended to be done that way, but it's not strictly required
+SHOULD it is recommended to be done that way, but not strictly required
Syntax:
-Since nut heavily uses variable length fields, the simplest way to describe it
+Since NUT heavily uses variable length fields, the simplest way to describe it
is using a pseudocode approach.
Conventions:
@@ -59,14 +58,14 @@ name: (optional note)
[Optional notes]
The in-depth tag description follows the bitstream syntax.
-The functional definition has a C like syntax.
+The functional definition has a C-like syntax.
Type definitions:
f(n) (n fixed bits in big-endian order)
-u(n) (unsigned number encoded in n bits in MSB first order)
+u(n) (unsigned number encoded in n bits in MSB-first order)
v (variable length value, unsigned)
value=0
@@ -86,7 +85,7 @@ b (binary data or string, to be use in vb, see below)
for(i=0; i<length; i++){
data[i] u(8)
}
- [Note: strings MUST be encoded in utf8]
+ [Note: strings MUST be encoded in UTF-8]
vb (variable length binary data or string)
length v
@@ -298,7 +297,7 @@ version
max_distance
max distance of frame_startcodes, the distance may only be larger if
- there is only a single frame between the 2 frame_startcodes this can
+ there is only a single frame between the two frame_startcodes this can
be used by the demuxer to detect damaged frame headers if the damage
results in too long of a chain
@@ -315,8 +314,8 @@ max_index_distance
stream_id[FIXME]
Stream identifier
- Note: streams with a lower relative class MUST have a lower relative id
- so a stream with class 0 MUST always have an id which is lower than any
+ Note: streams with a lower relative class MUST have a lower relative ID
+ so a stream with class 0 MUST always have an ID which is lower than any
stream with class > 0
stream_id MUST be < stream_count
@@ -336,7 +335,7 @@ fourcc
time_base_nom / time_base_denom = time_base
the number of timer ticks per second, this MUST be equal to the fps
- if the fixed_fps is 1
+ if fixed_fps is 1
time_base_denom MUST NOT be 0
time_base_nom and time_base_denom MUST be relatively prime
time_base_nom MUST be < 2^31
@@ -379,8 +378,8 @@ msb_timestamp_shift
decode_delay
maximum time between input and output for a codec, used to generate
dts from pts
- is set to 0 for streams without b frames, and set to 1 for streams with
- b frames, may be larger for future codecs
+ is set to 0 for streams without B-frames, and set to 1 for streams with
+ B-frames, may be larger for future codecs
fixed_fps
1 indicates that the fps is fixed
@@ -454,7 +453,7 @@ dts
the smallest value is removed, this is then the current dts
this buffer is initalized with decode_delay -1 elements
all frames with dts == timestamp must be monotone, that means a frame
- which occures later in the stream must have a larger or equal dts
+ which occurs later in the stream must have a larger or equal dts
than an earlier frame
FIXME rename timestamp* to pts* ?
@@ -487,15 +486,15 @@ index_position
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 than max_index_distance
+ two consecutive index entries if they are more than max_index_distance
apart
id
- the id of the type/name pair, so it's more compact
+ the ID of the type/name pair, so it is more compact
0 means end
type
- for example: "UTF8" -> String or "JPEG" -> jpeg image
+ for example: "UTF8" -> string or "JPEG" -> JPEG image
Note: nonstandard fields should be prefixed by "X-"
Note: MUST be less than 6 byte long (might be increased to 64 later)
@@ -508,14 +507,14 @@ info packet types
"Copyright"
"Encoder" the name & version of the software used for encoding
"Title"
- "Cover" an image of the (cd,dvd,vhs,..) cover (preferable PNG or JPEG)
+ "Cover" an image of the (CD, DVD, VHS, ..) cover (preferably PNG or JPEG)
"Source" "DVD", "VCD", "CD", "MD", "FM radio", "VHS", "TV",
"LD"
- Optional: appended PAL,NTSC,SECAM, ... in parentheses
+ Optional: appended PAL, NTSC, SECAM, ... in parentheses
"CaptureDevice" "BT878", "BT848", "webcam", ... (more exact names are fine too)
"CreationTime" "2003-01-20 20:13:15Z", ...
(ISO 8601 format, see http://www.cl.cam.ac.uk/~mgk25/iso-time.html)
- Note: don't forget the timezone
+ Note: do not forget the timezone
"Keywords"
"TotalTime" total length of the stream in msecs
"Language" ISO 639 and ISO 3166 for language/country code
@@ -571,7 +570,7 @@ the closest position after 2^12=4096 at which the headers can be placed
headers MUST be placed at least at the start of the file and immediately before
the index or at the file end if there is no index
-headers MUST be repeated at least twice (so they exist 3 times in a file)
+headers MUST be repeated at least twice (so they exist three times in a file)
a demuxer MUST NOT demux a stream which contains more than one stream, or which
is wrapped in a structure to facilitate more than one stream or otherwise
@@ -597,9 +596,9 @@ MUST be ignored by the demuxer
demuxer (non-normative)
-in the absence of valid header at beginning, players SHOULD search for backup
-headers starting at offset 2^x for each x players SHOULD end their search from
-a particular offset when any startcode is found (including syncpoint)
+in the absence of a valid header at the beginning, players SHOULD search for
+backup headers starting at offset 2^x; for each x players SHOULD end their
+search at a particular offset when any startcode is found (including syncpoint)
Sample code (GPL, & untested)
@@ -682,8 +681,8 @@ static int64_t get_dts(int64_t pts, int64_t *pts_cache, int delay, int reset){
Authors
-Folks from MPlayer Developers Mailinglist (http://www.mplayehrq.hu/).
-Authors in ABC-order: (FIXME! Tell us if we left you out)
+Folks from the MPlayer developers mailing list (http://www.mplayerhq.hu/).
+Authors in alphabetical order: (FIXME! Tell us if we left you out)
Beregszaszi, Alex (alex@fsn.hu)
Bunkus, Moritz (moritz@bunkus.org)
Diedrich, Tobias (ranma+mplayer@tdiedrich.de)