/// \mainpage MPEG-4 IPMP Message library
/// 
/// \section Intro Introduction
/// This documentation introduces the MOSES implementation of the MPEG-4 IPMP Extension specification ([1] and [2]).
/// The MOSES project (IST-2001-34144 "MPEG Open Security for Embedded Systems") is a European project
/// addressing specifically security issues related to intellectual property management and protection 
/// (more information on the project is available at http://www.crl.co.uk/projects/moses).
/// The code is released in the form of a library of classes that can be used by an external application (a Terminal, an 
/// authoring tool, etc.) to parse or produce bitstreams in the format specified by the MPEG-4 standard.
///
/// \section Descr Description
/// All messages defined in [1] and [2] have been implemented and tested using a regression test program which is provided as 
/// an example application. The test program generates messages in binary form and stores them on a list of files, each named with
/// its own name. Names of the various messages are exactly those defined in the specification, apart from the ByteArray class which 
/// has been renamed IPMP_ByteArray in order to avoid a possible name conflict with a pre-existing class.
/// All classes have methods to read and write their own content in binary form into a memory buffer or into a file.
/// All classes have a constructor, copy constructor and destructor (some classes have no copy constructor just because the 
/// default copy constructor works fine).
/// All classes are fully documented in the documentation provided in the /docs subdirectory.
///
/// \subsection supported Supported platforms
/// The code has been tested on PC's running Win2000/XP. However it does not use any platform specific API, so porting it to 
/// other environments should be possible with little effort.
///
/// \subsection filestruct File structure
/// The source files are organized as follows:
/// - docs: directory containing the documentation of the library. Open the IPMPXlib.chm file to view the documentation.
/// - lib: contains the compiled library
/// - IPMPXMessageInterface: contains all source code
/// - test: contains the regression test program
///
/// \subsection Comp Compile Options
/// The library has been written in such a way that is possible to wrap all classes into a namespace named "MOSES". This can be useful in case some 
/// pre-existing class name clashes with names defined in the library. In order to compile the library using the namespace, 
/// we have used the following preprocessor definition: USE_NAMESPACES. If you do not want to use namespaces, just remove the definition in the project settings. 
///
/// \subsection Building Building and running the test example
/// In order to build the library and the example test program, go to the "test" directory and open the workspace MOSEStest.dsw.  
/// Set MOSEStest as active project, then build it. Running the test will produce a list of files containing messages in binary form.
///
/// \subsection Conformance Verification of conformance
/// The library has been tested internally for consistence. One of the main goals of the library is to provide a 
/// test bed for other implementations to verify conformance to the specs.
///
/// \subsection Knownlimits Known limitations
/// This library does not implement the entire MPEG-4 System specification, but is limited to the IPMP part ([1] and [2]).
/// Therefore, IOD and OD structures are not implemented.
/// 
/// \subsection KnowProblems Known problems
/// The MPEG-4 IPMP specification [1] was not officially released at the time this library was written. Therefore, all code 
/// is based on the unofficial output of the MPEG meeting held in Trondheim (July 2003). We expect this to be the final version that 
/// will be published by ISO.
///
/// In many places the specification assumes the existence of a registration authority. Since this authority does not exist yet, where needed we have assigned values ourselves. Examples are IPMP_AudioWatermarkingInit and IPMP_VideoWatermarkingInit (see InputFormatTable).
///
/// \section Contact Contact Point
/// For additional information or to provide feedback, please use the following e-mail address: wp3-moses@crl.co.uk
///
/// \section References References
/// 
/// - [1] ISO/IEC JTC1/SC29/WG11 MPEG, N5284, Information technology - Coding of audio-visual objects - Part 13: Intellectual Property Management and Protection (IPMP) extension, Shanghai, Oct 2002.
/// - [2] ISO/IEC JTC1/SC29/WG11 MPEG, Text of ISO/IEC 14496-1/PDAM3, N5282, Amendment to MPEG-4 system on IPMP Extension, Shanghai, Oct 2002.
///
///
/// \section Copyright Copyright 
///
///       Copyright (c) 2003 MOSES IST-2001-34144 (
///       http://www.crl.co.uk/projects/moses )
///
///       This software code was developed by the MOSES IST-2001-34144
///       project in the course of development of the MPEG-4 IPMP
///       (Intellectual Property Management and Protection, ISO/IEC
///       14496-1:2001) standard.
///       This software code is a reference implementation of a part of
///       the MPEG-4 IPMP standard.
///       MOSES IST-2001-34144 gives users of the MPEG-4 IPMP standard
///       free license to this software code or modifications thereof for
///       use in hardware or software products claiming conformance to
///       the MPEG-4 IPMP standard.
///       Those intending to use this software code in hardware or
///       software products are advised that its use may infringe
///       existing patents. No patent license is granted by this
///       document.
///       MOSES IST-2001-34144, the subsequent editors and their
///       companies, and MPEG-4 have no liability for use of this
///       software code or modifications thereof in an implementation.
///       Copyright is not released for products not conforming to the
///       MPEG-4 IPMP standard.
///       MOSES IST-2001-34144 retains full right to use the software
///       code for its own purpose, assign or donate the code to a third
///       party and to inhibit third parties from using the code for
///       products not conforming to MPEG-4 IPMP standard.
///
///       MOSES IST-2001-34144 MAKES NO REPRESENTATIONS OR WARRANTIES
///       ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR
///       IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
///       MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
///       NON-INFRINGEMENT. MOSES IST-2001-34144 SHALL NOT BE LIABLE FOR
///       ANY DAMAGES SUFFERED AS A RESULT OF USING, MODIFYING OR
///       DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
///
///       This copyright notice must be included in all copies or
///       derivative works.
///
///       This software was developed by:
///       - Massimo Balestri	 (TILAB)
///       - Giovanni Caire	 (TILAB)
///       - Filippo Chiariglione (TILAB/CRL)
///       - Leon Sucharov	 (CRL)
///       - James King 		 (CRL)
///       - Del Dennis		 (CRL)
///       - Claudio Alberti	 (EPFL)
///       - Antonio Romeo	 (EPFL)
///       - Joao Trindade 	 (ADETTI)
///	  - Liao Xuan            (PSL)
///	  - Ji Ming              (PSL)
///
/// \author Massimo Balestri, Panos Kudumakis, Ji Ming
/// \version 1.1
/// \date 13/Oct/2003
