changeset 16842:d977560c702b

Reformat section titles so that it becomes easier to tell sections and subsections apart.
author diego
date Sun, 23 Oct 2005 16:49:56 +0000
parents 55b59021b953
children 21fa9b28ca75
files DOCS/tech/mpcf.txt
diffstat 1 files changed, 52 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/tech/mpcf.txt	Sun Oct 23 16:19:32 2005 +0000
+++ b/DOCS/tech/mpcf.txt	Sun Oct 23 16:49:56 2005 +0000
@@ -1,9 +1,11 @@
-        NUT Open Container Format DRAFT 20050909
-        ----------------------------------------
+========================================
+NUT Open Container Format DRAFT 20050909
+========================================
 
 
 
-        Intro:
+Intro:
+======
 
 Features / goals:
     (supported by the format, not necessarily by a specific implementation)
@@ -30,19 +32,25 @@
     resync times
 
 
-            Definitions:
+
+Definitions:
+============
 
 MUST    the specific part must be done to conform to this standard
 SHOULD  it is recommended to be done that way, but not strictly required
 
 
 
-            Syntax:
+Syntax:
+=======
 
 Since NUT heavily uses variable length fields, the simplest way to describe it
 is using a pseudocode approach.
 
-            Conventions:
+
+
+Conventions:
+============
 
 The data types have a name, used in the bitstream syntax description, a short
 text description and a pseudocode (functional) definition, optional notes may
@@ -64,8 +72,9 @@
 The functional definition has a C-like syntax.
 
 
-        Type definitions:
 
+Type definitions:
+=================
 
 f(n)    (n fixed bits in big-endian order)
 u(n)    (unsigned number encoded in n bits in MSB-first order)
@@ -95,9 +104,12 @@
     value                               b
 
 
-        Bitstream syntax:
 
-        Common elements:
+Bitstream syntax:
+=================
+
+Common elements:
+----------------
 
 packet header:
     forward ptr                         v
@@ -278,7 +290,8 @@
     }
 
 
-            Tag description:
+Tag description:
+----------------
 
 forward_ptr
     size of the packet data (exactly the distance from the first byte
@@ -585,7 +598,9 @@
     {"Disposition"   , "UTF8"},
 };
 
-            Structure:
+
+Structure:
+----------
 
 the headers MUST be in exactly the following order (to simplify demuxer design)
 main header
@@ -606,24 +621,38 @@
 
 there MUST be a sync point immediately before the first frame after any headers
 
-        Index
+
+Index:
+------
+
 Note: with realtime streaming, there is no end, so no index there either
 An index SHOULD be written for every stream. Indices MUST be placed at end
 of file. Indices MAY be repeated for a stream.
 
-        Info frames
+
+Info frames:
+------------
+
 Info frames can be used to describe the file or some part of it (chapters)
 
-        Unknown packets
+
+Unknown packets:
+----------------
+
 MUST be ignored by the demuxer
 
-            demuxer (non-normative)
+
+demuxer (non-normative):
+------------------------
 
 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)
 
-            Semantic requirements
+
+
+Semantic requirements:
+======================
 
 If more than one stream of a given stream class is present, each one MUST
 have info tags specifying disposition, and if applicable, language.
@@ -633,7 +662,9 @@
 duplicate the role of a container. any such file is to be considered invalid.
 
 
-            Sample code (Public Domain, & untested)
+
+Sample code (Public Domain, & untested):
+========================================
 
 typedef BufferContext{
     uint8_t *buf;
@@ -711,7 +742,10 @@
     return pts;
 }
 
-                Authors
+
+
+Authors:
+========
 
 Folks from the MPlayer developers mailing list (http://www.mplayerhq.hu/).
 Authors in alphabetical order: (FIXME! Tell us if we left you out)