[NUT-devel] [nut]: r602 - docs/nut-english.txt

diego subversion at mplayerhq.hu
Sun Feb 10 22:47:59 CET 2008


Author: diego
Date: Sun Feb 10 22:47:57 2008
New Revision: 602

Log:
spelling/wording/grammar


Modified:
   docs/nut-english.txt

Modified: docs/nut-english.txt
==============================================================================
--- docs/nut-english.txt	(original)
+++ docs/nut-english.txt	Sun Feb 10 22:47:57 2008
@@ -2,7 +2,7 @@
 
 !!! DRAFT DRAFT DRAFT !!!
 
-DRAFT USAGE / SEMANTICS / RATIONALE SECTIONS FOR NUT SPEC
+DRAFT USAGE / SEMANTICS / RATIONALE SECTIONS FOR THE NUT SPEC
 
 
 Overview of NUT
@@ -13,7 +13,7 @@ consist of a sequence of packets, which 
 file metadata, stream headers for the individual media streams,
 optional index data to accelerate seeking, and, of course, the actual
 encoded media frames. Aside from frames, all packets begin with a
-64-bit startcode, the first byte of which is 0x4E, the ASCII character
+64 bit startcode, the first byte of which is 0x4E, the ASCII character
 'N'. In addition to identifying the type of packet to follow, these
 startcodes (combined with CRC) allow for reliable resynchronization
 when reading damaged or incomplete files. Packets have a common
@@ -32,7 +32,7 @@ in packet types where overhead must be k
 Packet Structure
 
 Every NUT packet has a packet_header and a packet_footer.
-The packet_header consists of a 64-bit startcode, a forward_ptr, and an
+The packet_header consists of a 64 bit startcode, a forward_ptr, and an
 optional CRC on the packet header if the forward_ptr is larger than 4k.
 The forward_ptr gives the size of the packet from after the packet_header
 until the end of the packet_footer. The optional CRC is to prevent a
@@ -46,22 +46,22 @@ the packet from after the packet_header 
 Variable Length Coding
 
 Almost all fields in NUT are coded using VLCs. VLCs allow for compact
-storage of small integers, while still being extendible to infinitely
-large integers. The syntax is of a VLC is, per byte, a 1 bit flag stating
+storage of small integers, while still being extensible to infinitely
+large integers. The syntax of a VLC is, per byte, a 1 bit flag stating
 if there are more bits to the integer, and 7 bits to be prepended to the
 lsb of the integer, shifting the previous value to the left.
 Stuffing is allowed in VLCs by adding 0x80 bytes before the actual value,
 but a maximum of 8 bytes of stuffing is allowed in any VLC outside of a
 NUT packet. The only such fields are forward_ptr and fields in frame
-headers. This is to prevent demuxers from looping on a large of amount of
-damaged bytes of 0x80. Fields inside a NUT packet are protected by a CRC
+headers. This is to prevent demuxers from looping on a large amount of
+damaged 0x80 bytes. Fields inside a NUT packet are protected by a CRC
 which can be checked before decoding.
 
 Header Structure
 
 A NUT file must begin with a magic identification string, followed by
 the main header and a stream header for each stream, ordered by stream
-id. No other packets may intervene between these header packets. For
+ID. No other packets may intervene between these header packets. For
 robustness, a NUT file needs to include backup copies of the headers.
 In the absence of valid headers at the beginning of the file,
 processes attempting to read a NUT file are recommended to search for
@@ -70,7 +70,7 @@ and before end of file.
 Simple stop conditions are provided to ensure that this search
 algorithm is bounded logarithmically in file length. This stop condition
 is finding any valid NUT packet (such as a syncpoint) during the search,
-as no packets are allowed between a search start until a reapeted header
+as no packets are allowed between a search start until a repeated header
 set.
 
 Metadata - Info Packets
@@ -80,7 +80,7 @@ The NUT main header and stream headers m
 possible) information on the file, on particular streams, or on
 particular time intervals ("chapters") of the file, such as: title,
 author, language, etc. One should note that info packets may occur at
-other locations in a file, particulatly in a file that is being
+other locations in a file, particularly in a file that is being
 generated/transmitted in real time; however, a process interpreting a
 NUT file should not make any attempt to search for info packets except
 in their usual location, i.e. following the headers. It is intended
@@ -89,8 +89,8 @@ automated responses to information store
 selecting a subtitle language based on the user's preferred list of
 languages, or providing a visual list of chapters to the user.
 Therefore, the format of info packets and the data they are to contain
-has been carefully specified and is aligned with International
-Standards for language codes and so forth. For this reason it is also
+has been carefully specified and is aligned with international
+standards for language codes and so forth. For this reason it is also
 important that info packets be stored in the correct locations, so
 that processes making automated responses to these packets can operate
 correctly.
@@ -108,7 +108,7 @@ on the underlying media when it is avail
 
 On the other hand, all NUT files except live streams (which have no
 concept of "end of file") must include an index at the end of the
-file, followed by a fixed-size 64-bit integer that is an offset
+file, followed by a fixed-size 64 bit integer that is an offset
 backwards from end-of-file at which the final index packet begins.
 This is the only fixed-size field specified by NUT, and makes it
 possible to locate an index stored at the end of the file without
@@ -127,7 +127,7 @@ handled at a higher protocol layer shoul
 example, using several NUT files with an external script file to
 control their playback in combination).
 
-With each stream, a single media encoding format is associated. The
+A single media encoding format is associated with each stream. The
 stream headers convey properties of the encoding, such as video frame
 dimensions, sample rates, and the compression standard ("codec") used
 (if any). Stream headers may also carry with them an opaque, binary
@@ -139,7 +139,7 @@ stream.
 
 Each stream has a last_pts context. For compression, every frame's
 pts is coded relatively to the last_pts. In order for demuxing to resume
-from arbitrary points in the file, all last_pts contexes are reset by
+from arbitrary points in the file, all last_pts contexts are reset by
 syncpoints.
 
 Frames
@@ -160,8 +160,8 @@ intervals of samples; their length is de
 format used.
 
 Frames need not be decoded in their presentation order. NUT allows for
-arbitrary out-of-order frame systems, from classic MPEG-1-style B
-frames to H.264 B pyramid and beyond, using a simple notion of "delay"
+arbitrary out-of-order frame systems, from classic MPEG-1-style
+B-frames to H.264 B-pyramid and beyond, using a simple notion of "delay"
 and an implicitly-determined "decode timestamp" (dts). Out-of-order
 decoding is not limited to video streams; it is available to audio
 streams as well, and, given the right conditions, even subtitle
@@ -179,14 +179,14 @@ perform decoding to be more properly fac
 
 Keyframes
 
-NUT defines a "key frame" as any frame such that the frame itself and
+NUT defines a "keyframe" as any frame such that the frame itself and
 all subsequent (with regard to presentation time) frames of the stream
 can be decoded successfully without reference to prior (with regard to
 storage/decoding order) frames in the stream. This definition may
 sometimes be bent on a per-codec basis, particularly with audio
 formats where there is MDCT window overlap or similar.
 
-The concept of key frames is central to seeking, and key frames will
+The concept of keyframes is central to seeking, and keyframes will
 be the targets of the seek-to-time operation.
 
 Representation of Time
@@ -197,7 +197,7 @@ accurately represent the time units of e
 available time bases is defined in the main header, while each stream
 header indicates which time base the corresponding stream will use.
 
-Effective use of time bases both allows for compact representation of
+Effective use of time bases allows for compact representation of
 timestamps, minimizing overhead, and enriches the information
 contained in the file. For example, a process interpreting a NUT file
 with a video time base of 1/25 second knows it can convert the video
@@ -221,7 +221,7 @@ Frame Coding
 
 Each frame begins with a "framecode", a single byte which indexes a
 table in the main header. This table can associate properties such as
-stream id, size, relative timestamp, keyframe flag, etc. with the
+stream ID, size, relative timestamp, keyframe flag, etc. with the
 frame that follows, or allow the values to be explicitly coded
 following the framecode byte. By careful construction of the framecode
 table in the main header, an average overhead of significantly less
@@ -229,17 +229,17 @@ than 2 bytes per frame can be achieved f
 bitrates.
 Framecodes can also be flagged as invalid, and seeing such a framecode
 indicates a damaged file. The frame code 0x4E ('N') is a special invalid
-framecode which marks that the next packet is a NUT packet, and not a
-frame. The following 7 bytes, combined with 'N', is the full startcode of
+framecode which marks the next packet as a NUT packet, and not a frame.
+The following 7 bytes, combined with 'N', are the full startcode of
 the NUT packet.
 
 Syncpoints
 
-Syncpoints are mini-NUT packets, which serve for seeking, error recovery,
+Syncpoints are mini NUT packets, which serve for seeking, error recovery
 and error checking. They contain a startcode like all NUT packets, a
 timestamp, a back_ptr, and a CRC on the packet itself. Syncpoints must be
 placed every 32kb (or whatever max_distance is set to in the main header,
-64kb at most), unless between the 2 syncpoints is a single frame.
+64kb at most), unless a single frame is between the 2 syncpoints.
 Syncpoints must be followed by a frame, and must be placed after headers
 (except those at end of file).
 The timestamp coded in the syncpoint is a global timestamp, which is used
@@ -257,9 +257,9 @@ syncpoint is 16 bytes:
 
 End of Relevance
 EOR is a flag that can be attributed to a frame in any stream, and marks
-the end of relavence of a stream on presentation, such as a subtitle
+the end of relevance of a stream on presentation, such as a subtitle
 stream currently showing no subtitles on screen. EOR flag can only be
-given to zero byte frames, and must be set as keyframe as well. Once EOR
+given to zero byte frames, and must be set as keyframe. Once EOR
 is seen on such a stream, the stream is set EOR until the next keyframe on
 that stream. Streams which are set EOR are ignored by back_ptr in
 syncpoints until EOR is unset. The significance of EOR is to set the
@@ -269,7 +269,7 @@ begin demuxing.
 Error Checking
 
 There are several ways to detect a damaged stream in NUT during demuxing:
-1. Invalid framecode - If a framecode which has been marked as invalid in
+1. Invalid framecode: If a framecode which has been marked as invalid in
    the main header is found as the framecode in a frame header, then the
    stream is damaged. For this reason, 0x00 and 0xFF are recommended to be
    set as invalid frame codes in NUT.
@@ -284,7 +284,7 @@ There are several ways to detect a damag
 6. A VLC is found with more than 8 bytes of stuffing in a frame header or
    forward_ptr.
 7. Streams are found to not be strictly interleaved by comparing dts and
-   pts - a precise formula for this check can be found in the spec.
+   pts. A precise formula for this check can be found in the specification.
 
 All these conditions make it impossible for a demuxer to read, skip or
 buffer a large amount of data from a file because of damaged data. Also
@@ -301,5 +301,5 @@ case a syncpoint was already skipped due
 
 Seeking
 
-An in depth explanation of an optimal seeking algorithm can be found in
+An in depth explanation of an optimal seeking algorithm can be found at
 http://wiki.multimedia.cx/index.php?title=NUT



More information about the NUT-devel mailing list